Linux PCI subsystem development
 help / color / mirror / Atom feed
* Query Regarding PCI Configuration Space Mapping and BAR Programming
@ 2025-03-19 17:57 Muni Sekhar
  2025-03-19 19:15 ` Bjorn Helgaas
  0 siblings, 1 reply; 5+ messages in thread
From: Muni Sekhar @ 2025-03-19 17:57 UTC (permalink / raw)
  To: linux-pci

Dear Linux-PCI Maintainers,

I have a few questions regarding PCI configuration space and Base
Address Register (BAR) programming:

PCI Configuration Space Mapping:
PCI devices have standard registers (Device ID, Vendor ID, Status,
Command, etc.) in their configuration space.
These registers are mapped to memory locations. How can we determine
the exact memory location where these configuration space registers
are mapped?

Base Address Registers (BARs) Programming:
How are BAR registers programmed, and what ensures they do not
conflict with other devices mapped memory in the system?
If a BAR mapping clashes with another device’s memory range, how does
the system handle this?

Does the BIOS/firmware allocate BAR addresses, or does the OS have a
role in reconfiguring them during device initialization?
If you could provide any source code references from the Linux kernel
that handle these aspects, it would be greatly appreciated.

Looking forward to your insights.

--
Thanks,
Sekhar

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-03-21 17:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-19 17:57 Query Regarding PCI Configuration Space Mapping and BAR Programming Muni Sekhar
2025-03-19 19:15 ` Bjorn Helgaas
2025-03-20  1:49   ` Hans Zhang
2025-03-21 11:08   ` Muni Sekhar
2025-03-21 17:30     ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox