For pciutils (lspci), we need this commit:
commit ab61451d47514c473953a24aa4f4f816b77ade56
Author: Keith Busch <email address hidden>
Date: Thu Mar 17 13:19:17 2016 -0600
pciutils: Add support for 32-bit PCI domains
This adds support for new host bridges that may create PCI domain number
values requiring more than 16 bits. The new domain 32-bit integer is
signed to allow -1 for "any", and is sufficient as the domain number
will never require the full 32-bits.
The domain field is appended at the end of struct pci_dev, and the
current location of the 16-bit domain remains for compatibility. The
domain number is truncated and copied into the legacy domain location
so existing applications linking to the library will continue to work
without modification. We accept that these applications may not work
correctly on machines with host bridges exporting 32-bit domains.
In order to force new programs to link to the new ABI, the pci_init
function call is versioned in this commit.
Signed-off-by: Keith Busch <email address hidden>
For libpciaccess (which is used by Xorg), we need this commit:
commit a167bd6474522a709ff3cbb00476c0e4309cb66f
Author: Stephen Hemminger <email address hidden>
Date: Mon Sep 18 13:17:23 2017 -0400
linux: support 32 bit PCI domains (v3)
The PCI domain may be larger than 16 bits on Microsoft Azure and other
virtual environments. PCI busses reported by ACPI are limited to 16
bits, but in Azure the domain value for pass through devices is
intentionally larger than 16 bits to avoid clashing with local devices.
This is needed to support pass through of GPU devices.
v3: (ajax)
Update FreeBSD and Solaris backends to preserve the full 32-bit domain
number, since on those OSes it stands a chance of working already.
Update NetBSD and OpenBSD backends to initialize domain_16 compatibly
with older libpciaccess; neither backend appears to support more than a
handful of domains to begin with though. Trivially update the generic
x86 backend for source compatibility, though it still only supports one
domain and will never be better.
For pciutils (lspci), we need this commit: 73953a24aa4f4f8 16b77ade56
commit ab61451d47514c4
Author: Keith Busch <email address hidden>
Date: Thu Mar 17 13:19:17 2016 -0600
pciutils: Add support for 32-bit PCI domains
This adds support for new host bridges that may create PCI domain number
values requiring more than 16 bits. The new domain 32-bit integer is
signed to allow -1 for "any", and is sufficient as the domain number
will never require the full 32-bits.
The domain field is appended at the end of struct pci_dev, and the
current location of the 16-bit domain remains for compatibility. The
domain number is truncated and copied into the legacy domain location
so existing applications linking to the library will continue to work
without modification. We accept that these applications may not work
correctly on machines with host bridges exporting 32-bit domains.
In order to force new programs to link to the new ABI, the pci_init
function call is versioned in this commit.
Signed-off-by: Keith Busch <email address hidden>
For libpciaccess (which is used by Xorg), we need this commit: 09ff3cbb00476c0 e4309cb66f
commit a167bd6474522a7
Author: Stephen Hemminger <email address hidden>
Date: Mon Sep 18 13:17:23 2017 -0400
linux: support 32 bit PCI domains (v3)
The PCI domain may be larger than 16 bits on Microsoft Azure and other
virtual environments. PCI busses reported by ACPI are limited to 16
bits, but in Azure the domain value for pass through devices is
intentionally larger than 16 bits to avoid clashing with local devices.
This is needed to support pass through of GPU devices.
v3: (ajax)
Update FreeBSD and Solaris backends to preserve the full 32-bit domain
number, since on those OSes it stands a chance of working already.
Update NetBSD and OpenBSD backends to initialize domain_16 compatibly
with older libpciaccess; neither backend appears to support more than a
handful of domains to begin with though. Trivially update the generic
x86 backend for source compatibility, though it still only supports one
domain and will never be better.
Fixes: https:/ /bugs.freedeskt op.org/ show_bug. cgi?id= 101744
Signed-off-by: Stephen Hemminger <email address hidden>
Reviewed-by: Eric Anholt <email address hidden>