working with PCI config registers (extensively)

Andriy Gapon avg at
Wed Jun 7 19:13:46 UTC 2006

I am writing a driver for some PCI hardware that does not have any IO
ports or IO memory (and thus does not have any useful BARs), but rather
it is controlled and communicated with by writes and reads of certain
vendor-specific PCI configuration registers.

I see that I can use pci_read_config() and pci_write_config() to do
this, but I am not sure if there are any caveats that I should be aware
of, any precautions that I should take and any conventions/rules that I
should follow.

To explain my question - I am concerned about PCI configuration space
resources ownership, concurrency, etc. Basically things that should not
matter in practice :-)

Andriy Gapon

More information about the freebsd-hackers mailing list