/* 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, "--"))
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
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;
}
<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>
<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>
<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>
<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>
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
<console type='pty'>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
</disk>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
</disk>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='vga' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<address domain='0x0000' bus='0x06' slot='0x12' function='0x5'/>
</source>
</hostdev>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<address bus='14' device='6'/>
</source>
</hostdev>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<target dev='nic02'/>
<model type='rtl8139'/>
</interface>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<script path='/etc/qemu-ifup'/>
<model type='rtl8139'/>
</interface>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<mac address='00:11:22:33:44:55'/>
<model type='rtl8139'/>
</interface>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<mac address='00:11:22:33:44:55'/>
<model type='virtio'/>
</interface>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
<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>
<protocol type='raw'/>
<target port='0'/>
</parallel>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<video>
<model type='cirrus' vram='9216' heads='1'/>
</video>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
<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'/>
<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>
<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>
<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>
<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>
<source path='/dev/ttyS2'/>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<source path='/tmp/serial.log'/>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<console type='pty'>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<console type='pty'>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<protocol type='telnet'/>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<protocol type='raw'/>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<source mode='connect' host='127.0.0.1' service='9998'/>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<source mode='connect' path='/tmp/serial.sock'/>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<console type='vc'>
<target type='serial' port='0'/>
</console>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
<sound model='es1370'/>
<sound model='sb16'/>
<sound model='ac97'/>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
<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>
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);