[libvirt] [PATCH v2 RESEND 03/12] conf: Introduce a new PCI address extension flag
Andrea Bolognani
abologna at redhat.com
Tue Jul 24 13:54:07 UTC 2018
On Tue, 2018-07-10 at 16:02 +0800, Yi Min Zhao wrote:
[...]
> +static bool
> +qemuDomainDeviceSupportZPCI(virDomainDeviceDefPtr device)
> +{
> + switch ((virDomainDeviceType) device->type) {
> + case VIR_DOMAIN_DEVICE_CHR:
> + return false;
> +
> + case VIR_DOMAIN_DEVICE_CONTROLLER:
> + case VIR_DOMAIN_DEVICE_NONE:
> + case VIR_DOMAIN_DEVICE_DISK:
> + case VIR_DOMAIN_DEVICE_LEASE:
> + case VIR_DOMAIN_DEVICE_FS:
> + case VIR_DOMAIN_DEVICE_NET:
> + case VIR_DOMAIN_DEVICE_INPUT:
> + case VIR_DOMAIN_DEVICE_SOUND:
> + case VIR_DOMAIN_DEVICE_VIDEO:
> + case VIR_DOMAIN_DEVICE_HOSTDEV:
> + case VIR_DOMAIN_DEVICE_WATCHDOG:
> + case VIR_DOMAIN_DEVICE_GRAPHICS:
> + case VIR_DOMAIN_DEVICE_HUB:
> + case VIR_DOMAIN_DEVICE_REDIRDEV:
> + case VIR_DOMAIN_DEVICE_SMARTCARD:
> + case VIR_DOMAIN_DEVICE_MEMBALLOON:
> + case VIR_DOMAIN_DEVICE_NVRAM:
> + case VIR_DOMAIN_DEVICE_RNG:
> + case VIR_DOMAIN_DEVICE_SHMEM:
> + case VIR_DOMAIN_DEVICE_TPM:
> + case VIR_DOMAIN_DEVICE_PANIC:
> + case VIR_DOMAIN_DEVICE_MEMORY:
> + case VIR_DOMAIN_DEVICE_IOMMU:
> + case VIR_DOMAIN_DEVICE_VSOCK:
> + case VIR_DOMAIN_DEVICE_LAST:
> + break;
Did you validate that all of the above can be used with zPCI?
Either way, at least _NONE and _LAST should definitely result in
an error being reported, as well as the default case which should
be included; use virReportEnumRangeError() for convenience.
[...]
> +static virDomainPCIAddressExtensionFlags
> +qemuDomainDeviceCalculatePCIAddressExtensionFlags(virQEMUCapsPtr qemuCaps,
> + virDomainDeviceDefPtr dev)
> +{
> + virDomainPCIAddressExtensionFlags extFlags = 0;
> +
> + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_ZPCI) &&
> + qemuDomainDeviceSupportZPCI(dev))
> + extFlags |= VIR_PCI_ADDRESS_EXTENSION_ZPCI;
The libvirt code style guidelines[1] state that this should be
formatted as
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_ZPCI) &&
qemuDomainDeviceSupportZPCI(dev)) {
extFlags |= VIR_PCI_ADDRESS_EXTENSION_ZPCI;
}
[1] https://libvirt.org/hacking.html
--
Andrea Bolognani / Red Hat / Virtualization
More information about the libvir-list
mailing list