qemu: parse -device virtio-balloon

There are no options to parse here other than the name of the device,
and all three possible device names have the same prefix
("virtio-balloon" with "-ccw", "-pci", or "-device" appended), so the
code is fairly simple. It has been implemented such that it will be
easier to add handling for other -device entries that aren't otherwise
recognized - just add another "else if (STRPREFIX(opts, ....)" clause.

qemuParseCommandLineString() previously would always add a <memballoon
model='virtio'/> to every result (the comments erroneously say that it
is adding a <memballoon model='none'/>) This has been changed to add
model='none', and 84 test case xml's updated accordingly (so that
qemuxml2argvtest won't fail).

Now that the memballoon device is properly parsed, we can safely add a
test for properly ignoring -nodefconfig and -nodefaults. Rather than
adding an entire new test case for this (and memballoon), we just
randomly pick the clock-utc test and modify it slightly to fulfill the
purpose.
This commit is contained in:
Laine Stump 2014-06-09 11:11:25 +03:00
parent f8a33815d0
commit ef01622607
88 changed files with 115 additions and 90 deletions

View File

@ -10687,6 +10687,8 @@ qemuParseCommandLine(virCapsPtr qemuCaps,
/* Now the real processing loop */
for (i = 1; progargv[i]; i++) {
const char *arg = progargv[i];
bool argRecognized = true;
/* Make sure we have a single - for all options to
simplify next logic */
if (STRPREFIX(arg, "--"))
@ -11363,7 +11365,29 @@ qemuParseCommandLine(virCapsPtr qemuCaps,
STREQ(arg, "-nodefaults") ||
STREQ(arg, "-nodefconfig")) {
/* ignore, always added by libvirt */
} else if (STREQ(arg, "-device") && progargv[1 + 1]) {
const char *opts = progargv[i + 1];
/* NB: we can't do WANT_VALUE until we're sure that we
* recognize the device, otherwise the !argRecognized
* logic below will be messed up
*/
if (STRPREFIX(opts, "virtio-balloon")) {
WANT_VALUE();
if (VIR_ALLOC(def->memballoon) < 0)
goto error;
def->memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
} else {
/* add in new -device's here */
argRecognized = false;
}
} else {
argRecognized = false;
}
if (!argRecognized) {
char *tmp = NULL;
/* something we can't yet parse. Add it to the qemu namespace
* cmdline/environment advanced options and hope for the best
@ -11501,7 +11525,7 @@ qemuParseCommandLine(virCapsPtr qemuCaps,
virDomainMemballoonDefPtr memballoon;
if (VIR_ALLOC(memballoon) < 0)
goto error;
memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO;
memballoon->model = VIR_DOMAIN_MEMBALLOON_MODEL_NONE;
def->memballoon = memballoon;
}

View File

@ -24,6 +24,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='fdc' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -1,5 +1,6 @@
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/bin/qemu -S -M \
pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel \
none
pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3

View File

@ -29,6 +29,6 @@
<console type='pty'>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
</disk>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
</disk>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -32,6 +32,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -33,6 +33,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -32,6 +32,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -30,6 +30,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -36,6 +36,6 @@
<controller type='fdc' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -41,6 +41,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -28,6 +28,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -40,6 +40,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -40,6 +40,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<video>
<model type='vga' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -24,6 +24,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -28,6 +28,6 @@
<address domain='0x0000' bus='0x06' slot='0x12' function='0x5'/>
</source>
</hostdev>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -28,6 +28,6 @@
<address bus='14' device='6'/>
</source>
</hostdev>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -24,6 +24,6 @@
<emulator>/usr/bin/qemu</emulator>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -24,6 +24,6 @@
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='usb'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -24,6 +24,6 @@
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<input type='tablet' bus='usb'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -21,6 +21,6 @@
<emulator>/usr/bin/kvm</emulator>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -26,6 +26,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -26,6 +26,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -27,6 +27,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -26,6 +26,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -26,6 +26,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<target dev='nic02'/>
<model type='rtl8139'/>
</interface>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -28,6 +28,6 @@
<script path='/etc/qemu-ifup'/>
<model type='rtl8139'/>
</interface>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -27,6 +27,6 @@
<mac address='00:11:22:33:44:55'/>
<model type='rtl8139'/>
</interface>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -27,6 +27,6 @@
<mac address='00:11:22:33:44:55'/>
<model type='virtio'/>
</interface>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -26,6 +26,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -28,6 +28,6 @@
<protocol type='raw'/>
<target port='0'/>
</parallel>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -36,6 +36,6 @@
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -16,7 +16,7 @@
<emulator>/usr/bin/qemu-system-ppc64</emulator>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
<nvram>
<address type='spapr-vio' reg='0x4000'/>
</nvram>

View File

@ -23,7 +23,7 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
<qemu:commandline>
<qemu:arg value='-unknown'/>

View File

@ -17,6 +17,6 @@
<emulator>/usr/bin/qemu</emulator>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -17,6 +17,6 @@
<emulator>/usr/bin/qemu</emulator>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -23,6 +23,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<source path='/dev/ttyS2'/>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<source path='/tmp/serial.log'/>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -33,6 +33,6 @@
<console type='pty'>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<console type='pty'>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -33,6 +33,6 @@
<protocol type='telnet'/>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -33,6 +33,6 @@
<protocol type='raw'/>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -37,6 +37,6 @@
<source mode='connect' host='127.0.0.1' service='9998'/>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -31,6 +31,6 @@
<source mode='connect' path='/tmp/serial.sock'/>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -29,6 +29,6 @@
<console type='vc'>
<target type='serial' port='0'/>
</console>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -26,6 +26,6 @@
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -27,6 +27,6 @@
<sound model='es1370'/>
<sound model='sb16'/>
<sound model='ac97'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -24,6 +24,6 @@
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<watchdog model='ib700' action='poweroff'/>
<memballoon model='virtio'/>
<memballoon model='none'/>
</devices>
</domain>

View File

@ -632,7 +632,7 @@ mymain(void)
DO_TEST_FAILURE("reboot-timeout-enabled", NONE);
DO_TEST("bios", QEMU_CAPS_DEVICE, QEMU_CAPS_SGA);
DO_TEST("clock-utc", NONE);
DO_TEST("clock-utc", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE);
DO_TEST("clock-localtime", NONE);
DO_TEST("clock-localtime-basis-localtime", QEMU_CAPS_RTC);
DO_TEST("clock-variable", QEMU_CAPS_RTC);