This patch series consists of two patches. The first provides accessor
functions in pci.h to avoid direct access of slot_reserved_mask
according to the comment at the top of include/hw/pci/pci_bus.h. No
functional change is intended with this patch.
The second patch replaces slot_reserved_mask with two new masks,
slot_reserved_auto_mask and slot_reserved_manual_mask so the current
behavior of reserving slot 2 for the Intel IGD for the xenfv machine
will be ignored if an administrator manually configures a device to use
the reserved slot.
The current behavior of always reserving slots in the sun4u machine is
preserved by this patch series; the patch series only changes how
slot_reserved_mask works in the xenfv machine. Although the patch
series can affect xenfv machines configured for igd-passthru if an
administrator assigns some of the pci slot addresses manually, it
does not affect the libxl default configuration for igd-passthru because
libxl uses automatic slot assignment by default.
Testing:
- Tested xenfv/igd with both manual and auto slot allocation - behaves as expected
- Verified that qemu-system-sparc64 still compiles with the patches to sun4u.c
- xen4u machine not tested -- Mark, can you do this?
Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
Chuck Zmudzinski (2):
pci: avoid accessing slot_reserved_mask directly outside of pci.c
pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask
Changelog
v3: Re-work second patch in response to comments/discussion of v2
v2: Add first patch and cover letter to make this a 2-patch series
Make changes to the second patch (see second patch for changelog)
hw/pci/pci.c | 32 +++++++++++++++++++++++++++-----
hw/sparc64/sun4u.c | 7 +++----
hw/xen/xen_pt.c | 7 +++----
include/hw/pci/pci.h | 3 +++
include/hw/pci/pci_bus.h | 3 ++-
5 files changed, 38 insertions(+), 14 deletions(-)
--
2.39.2