On 05/03/2014 06:31 PM, Roman Bogorodskiy wrote:
Extract PCI handling related structs that could be shared
with other drivers.
List of structs moved to virpci.h and new names:
qemuDomainPCIAddressBus -> virDomainPCIAddressBus
qemuDomainPCIAddressBusPtr -> virDomainPCIAddressBusPtr
_qemuDomainPCIAddressSet -> virDomainPCIAddressSet
qemuDomainPCIAddressSetPtr -> virDomainPCIAddressSetPtr
qemuDomainPCIConnectFlags -> virDomainPCIConnectFlags
I would drop the 'Domain', to make the prefix match the file.
---
src/Makefile.am | 2 +-
src/libvirt_private.syms | 1 +
src/qemu/qemu_command.c | 201 +++++++++++++++++++----------------------------
src/qemu/qemu_command.h | 40 +++-------
src/qemu/qemu_domain.h | 5 +-
src/util/virpci.c | 14 ++++
src/util/virpci.h | 48 +++++++++++
tools/Makefile.am | 1 +
8 files changed, 158 insertions(+), 154 deletions(-)
@@ -2134,10 +2093,10 @@ int qemuDomainPCIAddressEnsureAddr(qemuDomainPCIAddressSetPtr addrs,
* function is only used for hot-plug, though, and hot-plug is
* only supported for standard PCI devices, so we can safely use
* the setting below */
- qemuDomainPCIConnectFlags flags = (QEMU_PCI_CONNECT_HOTPLUGGABLE |
- QEMU_PCI_CONNECT_TYPE_PCI);
+ virDomainPCIConnectFlags flags = (VIR_PCI_CONNECT_HOTPLUGGABLE |
+ VIR_PCI_CONNECT_TYPE_PCI);
Indentation is off here.
- if (!(addrStr = qemuDomainPCIAddressAsString(&dev->addr.pci)))
+ if (!(addrStr = virPCIDeviceAddressAsString(&dev->addr.pci)))
goto cleanup;
if (dev->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
diff --git a/src/util/virpci.h b/src/util/virpci.h
index 20ffe54..21fe261 100644
--- a/src/util/virpci.h
+++ b/src/util/virpci.h
@@ -26,6 +26,7 @@
# include "internal.h"
# include "virobject.h"
+# include "domain_conf.h"
Hmm, this requires the Makefile changes just to get around the cross-inclusion
syntax check rule, that is probably not a good idea.
It's needed for virDevicePCIAddress and virDomainControllerModelPCI.
We have virDevicePCIAddress (defined in device_conf.h) for guest devices and
virPCIDeviceAddress (here in virpci.h) for host devices.
virDomainControllerModelPCI is needed by the PCIAddressBusSetModel set
function, which fills out the flags and {min,max}Slots and also the model,
but I can't find any function using it.
I think the right thing is to drop the include - change the guest devices to
use the address type defined here in virpci.h and stop storing the model with
the address bus.
Jan
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list