+++ /dev/null
- <qemuCaps>
- <flag name='mem-path'/>
- <flag name='drive-serial'/>
- <flag name='chardev'/>
- <flag name='enable-kvm'/>
- <flag name='monitor-json'/>
- <flag name='balloon'/>
- <flag name='device'/>
- <flag name='sdl'/>
- <flag name='smp-topology'/>
- <flag name='netdev'/>
- <flag name='rtc'/>
- <flag name='vhost-net'/>
- <flag name='no-hpet'/>
- <flag name='no-kvm-pit'/>
- <flag name='pci-configfd'/>
- <flag name='nodefconfig'/>
- <flag name='boot-menu'/>
- <flag name='fsdev'/>
- <flag name='name-process'/>
- <flag name='drive-readonly'/>
- <flag name='smbios-type'/>
- <flag name='vga-qxl'/>
- <flag name='spice'/>
- <flag name='vga-none'/>
- <flag name='boot-index'/>
- <flag name='hda-duplex'/>
- <flag name='drive-aio'/>
- <flag name='pci-multibus'/>
- <flag name='pci-bootindex'/>
- <flag name='ccid-emulated'/>
- <flag name='ccid-passthru'/>
- <flag name='chardev-spicevmc'/>
- <flag name='virtio-tx-alg'/>
- <flag name='device-qxl-vga'/>
- <flag name='pci-multifunction'/>
- <flag name='virtio-blk-pci.ioeventfd'/>
- <flag name='sga'/>
- <flag name='virtio-blk-pci.event_idx'/>
- <flag name='virtio-net-pci.event_idx'/>
- <flag name='cache-directsync'/>
- <flag name='piix3-usb-uhci'/>
- <flag name='piix4-usb-uhci'/>
- <flag name='usb-ehci'/>
- <flag name='ich9-usb-ehci1'/>
- <flag name='vt82c686b-usb-uhci'/>
- <flag name='pci-ohci'/>
- <flag name='usb-hub'/>
- <flag name='no-shutdown'/>
- <flag name='cache-unsafe'/>
- <flag name='rombar'/>
- <flag name='ich9-ahci'/>
- <flag name='no-acpi'/>
- <flag name='fsdev-readonly'/>
- <flag name='virtio-blk-pci.scsi'/>
- <flag name='blk-sg-io'/>
- <flag name='drive-copy-on-read'/>
- <flag name='cpu-host'/>
- <flag name='fsdev-writeout'/>
- <flag name='drive-iotune'/>
- <flag name='system_wakeup'/>
- <flag name='scsi-disk.channel'/>
- <flag name='scsi-block'/>
- <flag name='transaction'/>
- <flag name='block-job-async'/>
- <flag name='scsi-cd'/>
- <flag name='ide-cd'/>
- <flag name='no-user-config'/>
- <flag name='hda-micro'/>
- <flag name='dump-guest-memory'/>
- <flag name='nec-usb-xhci'/>
- <flag name='balloon-event'/>
- <flag name='bridge'/>
- <flag name='lsi'/>
- <flag name='virtio-scsi-pci'/>
- <flag name='blockio'/>
- <flag name='disable-s3'/>
- <flag name='disable-s4'/>
- <flag name='ide-drive.wwn'/>
- <flag name='scsi-disk.wwn'/>
- <flag name='seccomp-sandbox'/>
- <flag name='dump-guest-core'/>
- <flag name='seamless-migration'/>
- <flag name='block-commit'/>
- <flag name='vnc'/>
- <flag name='drive-mirror'/>
- <flag name='usb-host.bootindex'/>
- <flag name='blockdev-snapshot-sync'/>
- <flag name='qxl'/>
- <flag name='VGA'/>
- <flag name='cirrus-vga'/>
- <flag name='vmware-svga'/>
- <flag name='device-video-primary'/>
- <flag name='usb-serial'/>
- <flag name='usb-net'/>
- <flag name='add-fd'/>
- <flag name='nbd-server'/>
- <flag name='virtio-rng'/>
- <flag name='rng-random'/>
- <flag name='rng-egd'/>
- <flag name='dtb'/>
- <flag name='megasas'/>
- <flag name='ipv6-migration'/>
- <flag name='machine-opt'/>
- <flag name='machine-usb-opt'/>
- <flag name='pci-bridge'/>
- <flag name='vfio-pci'/>
- <flag name='vfio-pci.bootindex'/>
- <flag name='scsi-generic'/>
- <flag name='scsi-generic.bootindex'/>
- <flag name='mem-merge'/>
- <flag name='vnc-websocket'/>
- <flag name='mlock'/>
- <flag name='vnc-share-policy'/>
- <flag name='device-del-event'/>
- <flag name='dmi-to-pci-bridge'/>
- <flag name='i440fx-pci-hole64-size'/>
- <flag name='q35-pci-hole64-size'/>
- <flag name='usb-storage'/>
- <flag name='usb-storage.removable'/>
- <flag name='virtio-mmio'/>
- <flag name='ich9-intel-hda'/>
- <flag name='kvm-pit-lost-tick-policy'/>
- <flag name='boot-strict'/>
- <flag name='pvpanic'/>
- <flag name='reboot-timeout'/>
- <flag name='enable-fips'/>
- <flag name='name-guest'/>
- </qemuCaps>
+++ /dev/null
-<capabilities>
-
- <host>
- <cpu>
- <arch>i686</arch>
- </cpu>
- <power_management/>
- <iommu support='no'/>
- </host>
-
- <guest>
- <os_type>hvm</os_type>
- <arch name='i686'>
- <wordsize>32</wordsize>
- <emulator>/usr/bin/qemu-system-i386</emulator>
- <domain type='qemu'/>
- <domain type='kvm'>
- <emulator>/usr/bin/qemu-system-i386</emulator>
- </domain>
- </arch>
- <features>
- <cpuselection/>
- <deviceboot/>
- <disksnapshot default='on' toggle='no'/>
- <acpi default='on' toggle='yes'/>
- <apic default='on' toggle='no'/>
- <pae/>
- <nonpae/>
- </features>
- </guest>
-
-</capabilities>
+++ /dev/null
- <qemuCaps>
- <flag name='mem-path'/>
- <flag name='drive-serial'/>
- <flag name='chardev'/>
- <flag name='enable-kvm'/>
- <flag name='monitor-json'/>
- <flag name='balloon'/>
- <flag name='device'/>
- <flag name='sdl'/>
- <flag name='smp-topology'/>
- <flag name='netdev'/>
- <flag name='rtc'/>
- <flag name='vhost-net'/>
- <flag name='no-hpet'/>
- <flag name='no-kvm-pit'/>
- <flag name='pci-configfd'/>
- <flag name='nodefconfig'/>
- <flag name='boot-menu'/>
- <flag name='fsdev'/>
- <flag name='name-process'/>
- <flag name='drive-readonly'/>
- <flag name='smbios-type'/>
- <flag name='vga-qxl'/>
- <flag name='spice'/>
- <flag name='vga-none'/>
- <flag name='boot-index'/>
- <flag name='hda-duplex'/>
- <flag name='drive-aio'/>
- <flag name='pci-multibus'/>
- <flag name='pci-bootindex'/>
- <flag name='ccid-emulated'/>
- <flag name='ccid-passthru'/>
- <flag name='chardev-spicevmc'/>
- <flag name='virtio-tx-alg'/>
- <flag name='device-qxl-vga'/>
- <flag name='pci-multifunction'/>
- <flag name='virtio-blk-pci.ioeventfd'/>
- <flag name='sga'/>
- <flag name='virtio-blk-pci.event_idx'/>
- <flag name='virtio-net-pci.event_idx'/>
- <flag name='cache-directsync'/>
- <flag name='piix3-usb-uhci'/>
- <flag name='piix4-usb-uhci'/>
- <flag name='usb-ehci'/>
- <flag name='ich9-usb-ehci1'/>
- <flag name='vt82c686b-usb-uhci'/>
- <flag name='pci-ohci'/>
- <flag name='usb-hub'/>
- <flag name='no-shutdown'/>
- <flag name='cache-unsafe'/>
- <flag name='rombar'/>
- <flag name='ich9-ahci'/>
- <flag name='no-acpi'/>
- <flag name='fsdev-readonly'/>
- <flag name='virtio-blk-pci.scsi'/>
- <flag name='blk-sg-io'/>
- <flag name='drive-copy-on-read'/>
- <flag name='cpu-host'/>
- <flag name='fsdev-writeout'/>
- <flag name='drive-iotune'/>
- <flag name='system_wakeup'/>
- <flag name='scsi-disk.channel'/>
- <flag name='scsi-block'/>
- <flag name='transaction'/>
- <flag name='block-job-async'/>
- <flag name='scsi-cd'/>
- <flag name='ide-cd'/>
- <flag name='no-user-config'/>
- <flag name='hda-micro'/>
- <flag name='dump-guest-memory'/>
- <flag name='nec-usb-xhci'/>
- <flag name='balloon-event'/>
- <flag name='bridge'/>
- <flag name='lsi'/>
- <flag name='virtio-scsi-pci'/>
- <flag name='blockio'/>
- <flag name='disable-s3'/>
- <flag name='disable-s4'/>
- <flag name='ide-drive.wwn'/>
- <flag name='scsi-disk.wwn'/>
- <flag name='seccomp-sandbox'/>
- <flag name='dump-guest-core'/>
- <flag name='seamless-migration'/>
- <flag name='block-commit'/>
- <flag name='vnc'/>
- <flag name='drive-mirror'/>
- <flag name='usb-host.bootindex'/>
- <flag name='qxl'/>
- <flag name='VGA'/>
- <flag name='cirrus-vga'/>
- <flag name='vmware-svga'/>
- <flag name='device-video-primary'/>
- <flag name='usb-serial'/>
- <flag name='usb-net'/>
- <flag name='add-fd'/>
- <flag name='nbd-server'/>
- <flag name='virtio-rng'/>
- <flag name='rng-random'/>
- <flag name='rng-egd'/>
- <flag name='dtb'/>
- <flag name='megasas'/>
- <flag name='ipv6-migration'/>
- <flag name='machine-opt'/>
- <flag name='machine-usb-opt'/>
- <flag name='pci-bridge'/>
- <flag name='vfio-pci'/>
- <flag name='vfio-pci.bootindex'/>
- <flag name='scsi-generic'/>
- <flag name='scsi-generic.bootindex'/>
- <flag name='mem-merge'/>
- <flag name='vnc-websocket'/>
- <flag name='mlock'/>
- <flag name='vnc-share-policy'/>
- <flag name='device-del-event'/>
- <flag name='dmi-to-pci-bridge'/>
- <flag name='i440fx-pci-hole64-size'/>
- <flag name='q35-pci-hole64-size'/>
- <flag name='usb-storage'/>
- <flag name='usb-storage.removable'/>
- <flag name='virtio-mmio'/>
- <flag name='ich9-intel-hda'/>
- <flag name='kvm-pit-lost-tick-policy'/>
- <flag name='boot-strict'/>
- <flag name='pvpanic'/>
- <flag name='reboot-timeout'/>
- <flag name='enable-fips'/>
- <flag name='name-guest'/>
- </qemuCaps>
+++ /dev/null
-<capabilities>
-
- <host>
- <cpu>
- <arch>i686</arch>
- </cpu>
- <power_management/>
- <iommu support='no'/>
- </host>
-
- <guest>
- <os_type>hvm</os_type>
- <arch name='i686'>
- <wordsize>32</wordsize>
- <emulator>/usr/bin/qemu-system-i386</emulator>
- <domain type='qemu'/>
- <domain type='kvm'>
- <emulator>/usr/bin/qemu-system-i386</emulator>
- </domain>
- </arch>
- <features>
- <cpuselection/>
- <deviceboot/>
- <disksnapshot default='off' toggle='no'/>
- <acpi default='on' toggle='yes'/>
- <apic default='on' toggle='no'/>
- <pae/>
- <nonpae/>
- </features>
- </guest>
-
-</capabilities>
--- /dev/null
+<capabilities>
+
+ <host>
+ <cpu>
+ <arch>x86_64</arch>
+ </cpu>
+ <power_management/>
+ <iommu support='no'/>
+ </host>
+
+ <guest>
+ <os_type>hvm</os_type>
+ <arch name='x86_64'>
+ <wordsize>64</wordsize>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <domain type='qemu'/>
+ <domain type='kvm'>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ </domain>
+ </arch>
+ <features>
+ <cpuselection/>
+ <deviceboot/>
+ <disksnapshot default='on' toggle='no'/>
+ <acpi default='on' toggle='yes'/>
+ <apic default='on' toggle='no'/>
+ </features>
+ </guest>
+
+</capabilities>
typedef testQemuData *testQemuDataPtr;
struct _testQemuData {
const char *base;
- virArch guestarch;
+ const char *archName;
};
static virQEMUCapsPtr
{
virQEMUCapsPtr qemuCaps = NULL;
virCapsPtr caps = NULL;
+ virArch arch = virArchFromString(data->archName);
+ char *binary = NULL;
+
+ if (virAsprintf(&binary, "/usr/bin/qemu-system-%s", data->archName) < 0)
+ goto error;
if ((qemuCaps = testQemuGetCaps(capsData)) == NULL) {
fprintf(stderr, "failed to parse qemu capabilities flags");
goto error;
}
- if ((caps = virCapabilitiesNew(data->guestarch, false, false)) == NULL) {
+ if ((caps = virCapabilitiesNew(arch, false, false)) == NULL) {
fprintf(stderr, "failed to create the fake capabilities");
goto error;
}
if (virQEMUCapsInitGuestFromBinary(caps,
- "/usr/bin/qemu-system-i386",
+ binary,
qemuCaps,
NULL,
NULL,
- data->guestarch) < 0) {
+ arch) < 0) {
fprintf(stderr, "failed to create the capabilities from qemu");
goto error;
}
error:
virObjectUnref(qemuCaps);
virObjectUnref(caps);
+ VIR_FREE(binary);
return NULL;
}
char *capsXml = NULL;
virCapsPtr capsProvided = NULL;
- if (virAsprintf(&xmlFile, "%s/qemucaps2xmldata/%s.xml",
- abs_srcdir, data->base) < 0)
+ if (virAsprintf(&xmlFile, "%s/qemucaps2xmloutdata/%s.%s.xml",
+ abs_srcdir, data->base, data->archName) < 0)
goto cleanup;
- if (virAsprintf(&capsFile, "%s/qemucaps2xmldata/%s.caps",
- abs_srcdir, data->base) < 0)
+ if (virAsprintf(&capsFile, "%s/qemucapabilitiesdata/%s.%s.xml",
+ abs_srcdir, data->base, data->archName) < 0)
goto cleanup;
if (virTestLoadFile(capsFile, &capsData) < 0)
virEventRegisterDefaultImpl();
-#define DO_TEST_FULL(name, guest) \
+#define DO_TEST(arch, name) \
+ data.archName = arch; \
data.base = name; \
- data.guestarch = guest; \
- if (virTestRun(name, testQemuCapsXML, &data) < 0) \
+ if (virTestRun(name "(" arch ")", testQemuCapsXML, &data) < 0) \
ret = -1
-#define DO_TEST(name) DO_TEST_FULL(name, VIR_ARCH_I686)
-
- DO_TEST("all_1.6.0-1");
- DO_TEST("nodisksnapshot_1.6.0-1");
+ DO_TEST("x86_64", "caps_1.6.0");
return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}