opnsense-src/sys/amd64/vmm
John Baldwin 1587a9db92 pci_cfgreg: Add a PCI domain argument to the low-level register API
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.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D42827
2023-11-29 10:31:47 -08:00
..
amd pci_cfgreg: Add a PCI domain argument to the low-level register API 2023-11-29 10:31:47 -08:00
intel sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
io sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm.c x86: Rename {stop,start}_emulating to fpu_{enable,disable} 2023-10-11 14:32:06 -07:00
vmm_dev.c vmm: Fix VM_GET_CPUS compatibility 2023-08-17 18:10:02 -04:00
vmm_host.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_host.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vmm_instruction_emul.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
vmm_ioport.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_ioport.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vmm_ktr.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vmm_lapic.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_lapic.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vmm_mem.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_mem.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vmm_snapshot.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_stat.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_stat.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vmm_util.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vmm_util.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
x86.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
x86.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00