On Sun, Dec 15, 2013 at 12:29 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > On Sat, Dec 14, 2013 at 11:32 AM, shiv prakash Agarwal > <chhotu.shiv@xxxxxxxxx> wrote: >> Hi All, >> >> How devices config spaces are mapped to host memory? >> Is it being handled by core driver? I could not locate. > > The PCI core does not map config space into memory. That's not even > possible for the legacy config access methods, e.g., using I/O ports > 0xcf8 and 0xcfc [1]. > > If you're wondering about how Linux uses ECAM, that's mostly in > arch/x86/pci/mmconfig*. That code does ioremap the ECAM area into > kernel virtual space, but only for access via pci_read_config_word(), > pci_write_config_word(), etc. > > Bjorn > > [1] http://en.wikipedia.org/wiki/PCI_configuration_space#Software_implementation Thanks Bjorn for quick reply, Above reference says: During system initialization, firmware determines the base address for this “stolen” address region and communicates it to the root complex and to the operating system. This communication method is implementation-specific, and not defined in the PCI Express specification. How above is implemented on ARM? -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html