Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

12
  • Does this SO question cover the BAR part? stackoverflow.com/questions/20293005/… Commented Jul 8, 2014 at 12:43
  • Not really, since I want to know if there is a special address space for the PCIe BAR in the physical space. Additionally I would like to know if the virtual address (through ioremap) is reserved for the pcie BAR Commented Jul 8, 2014 at 12:48
  • There is an address range in memory BARs that are allocated to a device from the available physical range (32bit). This available range happens to match your available physical memory (4GB) so there is overlap. The memory BAR range would generally refer to memory on the PCIe device and be routed to that PCIe device. That range can be mapped back to physical memory, like in the case of internal graphics cards sharing system memory. PCIe buses implement the logic for the GART Commented Jul 8, 2014 at 16:02
  • sorry I didn't get it. Spoken for memory BARs: They are mapped to a physical address range. As far as I know they are mapped into the PCI memory space in the physical space right? and the pci memory space is a fixed range in the physical memory, right? so is there a simular space in the virtual memory? I guess not. Commented Jul 8, 2014 at 16:18
  • The PCI memory space is a fixed range in addressable memory (32bit), not physical memory. You can create the virtual memory (user) to access the PCI memory by mapping the PCI device resources with the info in the SO answer above. Commented Jul 9, 2014 at 9:54