Page MenuHomeFreeBSD

pci_cfgreg: Add a PCI domain argument to the low-level register API
ClosedPublic

Authored by jhb on Nov 28 2023, 11:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jun 20, 4:03 AM
Unknown Object (File)
May 18 2024, 5:40 PM
Unknown Object (File)
May 8 2024, 11:44 AM
Unknown Object (File)
May 8 2024, 11:44 AM
Unknown Object (File)
May 8 2024, 9:36 AM
Unknown Object (File)
May 4 2024, 9:55 AM
Unknown Object (File)
Jan 18 2024, 11:39 PM
Unknown Object (File)
Dec 24 2023, 9:41 PM

Details

Summary

This commit changes the API of pci_cfgreg(read|write) to add a domain
argument (referred to as a segment in ACPI parlance) (note that this
is not the same as a NUMA domain, but something PCI-specific). This
does not yet enable access to domains other than 0, but updates the
API to support domains.

Places that use hard-coded bus/slot/function addresses have been
updated to hardcode a domain of 0. A few places that have the PCI
domain (segment) available such as the acpi_pcib_acpi.c Host-PCI
bridge driver pass the PCI domain.

The hpt27xx(4) and hptnr(4) drivers fail to attach to a device not on
domain 0 since they provide APIs to their binary blobs that only
permit bus/slot/function addressing.

The x86 non-ACPI PCI bus drivers all hardcode a domain of 0 as they
do not support multiple domains.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Nov 28 2023, 11:34 PM