mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
pci: avoid accessing slot_reserved_mask directly outside of pci.c
This patch provides accessor functions as replacements for direct access to slot_reserved_mask according to the comment at the top of include/hw/pci/pci_bus.h which advises that data structures for PCIBus should not be directly accessed but instead be accessed using accessor functions in pci.h. Three accessor functions can conveniently replace all direct accesses of slot_reserved_mask. With this patch, the new accessor functions are used in hw/sparc64/sun4u.c and hw/xen/xen_pt.c and pci_bus.h is removed from the included header files of the same two files. No functional change intended. Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com> Message-Id: <b1b7f134883cbc83e455abbe5ee225c71aa0e8d0.1678888385.git.brchuckz@aol.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [sun4u]
This commit is contained in:
parent
0259dd3e6f
commit
b93fe7f2ca
4 changed files with 24 additions and 8 deletions
|
@ -57,7 +57,6 @@
|
|||
#include <sys/ioctl.h>
|
||||
|
||||
#include "hw/pci/pci.h"
|
||||
#include "hw/pci/pci_bus.h"
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/qdev-properties-system.h"
|
||||
#include "xen_pt.h"
|
||||
|
@ -951,7 +950,7 @@ void xen_igd_reserve_slot(PCIBus *pci_bus)
|
|||
}
|
||||
|
||||
XEN_PT_LOG(0, "Reserving PCI slot 2 for IGD\n");
|
||||
pci_bus->slot_reserved_mask |= XEN_PCI_IGD_SLOT_MASK;
|
||||
pci_bus_set_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
|
||||
}
|
||||
|
||||
static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
|
||||
|
@ -971,7 +970,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
|
|||
return;
|
||||
}
|
||||
|
||||
if (!(pci_bus->slot_reserved_mask & XEN_PCI_IGD_SLOT_MASK)) {
|
||||
if (!(pci_bus_get_slot_reserved_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
|
||||
xpdc->pci_qdev_realize(qdev, errp);
|
||||
return;
|
||||
}
|
||||
|
@ -982,7 +981,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
|
|||
s->real_device.dev == XEN_PCI_IGD_DEV &&
|
||||
s->real_device.func == XEN_PCI_IGD_FN &&
|
||||
s->real_device.vendor_id == PCI_VENDOR_ID_INTEL) {
|
||||
pci_bus->slot_reserved_mask &= ~XEN_PCI_IGD_SLOT_MASK;
|
||||
pci_bus_clear_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
|
||||
XEN_PT_LOG(pci_dev, "Intel IGD found, using slot 2\n");
|
||||
}
|
||||
xpdc->pci_qdev_realize(qdev, errp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue