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. > > Also, extract qemuDomainPCIAddressAsString function and rename > it into virPCIDeviceAddressAsString. If that was moved into the second patch, this one would touch two less files (unless I missed something). > --- > 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
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list