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
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
