Codebase list libvirt / d45d576
qemu: Add support for -no-user-config so newer cpu models can be used. Thanks: Philipp Kern for his report and testing Closes: #699813 Guido Günther 11 years ago
2 changed file(s) with 643 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 From: Jiri Denemark <jdenemar@redhat.com>
1 Date: Thu, 26 Apr 2012 12:11:49 +0200
2 Subject: qemu: Add support for -no-user-config
3
4 Thanks to this new option we are now able to use modern CPU models (such
5 as Westmere) defined in external configuration file.
6
7 The qemu-1.1{,-device} data files for qemuhelptest are filled in with
8 qemu-1.1-rc2 output for now. I will update those files with real
9 qemu-1.1 output once it is released.
10 ---
11 cfg.mk | 3 +-
12 src/qemu/qemu_capabilities.c | 7 +-
13 src/qemu/qemu_capabilities.h | 1 +
14 src/qemu/qemu_command.c | 11 +-
15 src/qemu/qemu_driver.c | 2 +-
16 tests/qemuhelpdata/qemu-1.1 | 268 ++++++++++++++++++++++++++++++++++++
17 tests/qemuhelpdata/qemu-1.1-device | 160 +++++++++++++++++++++
18 tests/qemuhelptest.c | 75 ++++++++++
19 8 files changed, 519 insertions(+), 8 deletions(-)
20 create mode 100644 tests/qemuhelpdata/qemu-1.1
21 create mode 100644 tests/qemuhelpdata/qemu-1.1-device
22
23 diff --git a/cfg.mk b/cfg.mk
24 index 9dab3c3..67141a9 100644
25 --- a/cfg.mk
26 +++ b/cfg.mk
27 @@ -823,7 +823,8 @@ exclude_file_name_regexp--sc_require_config_h = ^examples/
28
29 exclude_file_name_regexp--sc_require_config_h_first = ^examples/
30
31 -exclude_file_name_regexp--sc_trailing_blank = \.(fig|gif|ico|png)$$
32 +exclude_file_name_regexp--sc_trailing_blank = \
33 + (/qemuhelpdata/|\.(fig|gif|ico|png)$$)
34
35 exclude_file_name_regexp--sc_unmarked_diagnostics = \
36 ^(docs/apibuild.py|tests/virt-aa-helper-test)$$
37 diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
38 index 6e5165b..a3c87d1 100644
39 --- a/src/qemu/qemu_capabilities.c
40 +++ b/src/qemu/qemu_capabilities.c
41 @@ -161,6 +161,7 @@ VIR_ENUM_IMPL(qemuCaps, QEMU_CAPS_LAST,
42 "block-job-async",
43 "scsi-cd",
44 "ide-cd",
45 + "no-user-config",
46 );
47
48 struct qemu_feature_flags {
49 @@ -1082,6 +1083,8 @@ qemuCapsComputeCmdFlags(const char *help,
50 }
51 if (strstr(help, "-nodefconfig"))
52 qemuCapsSet(flags, QEMU_CAPS_NODEFCONFIG);
53 + if (strstr(help, "-no-user-config"))
54 + qemuCapsSet(flags, QEMU_CAPS_NO_USER_CONFIG);
55 /* The trailing ' ' is important to avoid a bogus match */
56 if (strstr(help, "-rtc "))
57 qemuCapsSet(flags, QEMU_CAPS_RTC);
58 @@ -1634,7 +1637,9 @@ qemuCapsProbeCommand(const char *qemu,
59 virCommandPtr cmd = virCommandNew(qemu);
60
61 if (qemuCaps) {
62 - if (qemuCapsGet(qemuCaps, QEMU_CAPS_NODEFCONFIG))
63 + if (qemuCapsGet(qemuCaps, QEMU_CAPS_NO_USER_CONFIG))
64 + virCommandAddArg(cmd, "-no-user-config");
65 + else if (qemuCapsGet(qemuCaps, QEMU_CAPS_NODEFCONFIG))
66 virCommandAddArg(cmd, "-nodefconfig");
67 }
68
69 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
70 index 7a6c5a0..0e0899e 100644
71 --- a/src/qemu/qemu_capabilities.h
72 +++ b/src/qemu/qemu_capabilities.h
73 @@ -129,6 +129,7 @@ enum qemuCapsFlags {
74 QEMU_CAPS_BLOCKJOB_ASYNC = 91, /* qemu 1.1 block-job-cancel */
75 QEMU_CAPS_SCSI_CD = 92, /* -device scsi-cd */
76 QEMU_CAPS_IDE_CD = 93, /* -device ide-cd */
77 + QEMU_CAPS_NO_USER_CONFIG = 94, /* -no-user-config */
78
79 QEMU_CAPS_LAST, /* this must always be the last item */
80 };
81 diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
82 index 117542f..8d14d41 100644
83 --- a/src/qemu/qemu_command.c
84 +++ b/src/qemu/qemu_command.c
85 @@ -4237,11 +4237,12 @@ qemuBuildCommandLine(virConnectPtr conn,
86 virCommandAddArg(cmd, "-nographic");
87
88 if (qemuCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
89 - if (qemuCapsGet(qemuCaps, QEMU_CAPS_NODEFCONFIG))
90 - virCommandAddArg(cmd,
91 - "-nodefconfig"); /* Disable global config files */
92 - virCommandAddArg(cmd,
93 - "-nodefaults"); /* Disable default guest devices */
94 + /* Disable global config files and default devices */
95 + if (qemuCapsGet(qemuCaps, QEMU_CAPS_NO_USER_CONFIG))
96 + virCommandAddArg(cmd, "-no-user-config");
97 + else if (qemuCapsGet(qemuCaps, QEMU_CAPS_NODEFCONFIG))
98 + virCommandAddArg(cmd, "-nodefconfig");
99 + virCommandAddArg(cmd, "-nodefaults");
100 }
101
102 /* Serial graphics adapter */
103 diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
104 index 385b861..0053ed1 100644
105 --- a/src/qemu/qemu_driver.c
106 +++ b/src/qemu/qemu_driver.c
107 @@ -4898,7 +4898,7 @@ qemudCanonicalizeMachineDirect(virDomainDefPtr def, char **canonical)
108 int i, nmachines = 0;
109
110 /* XXX we should be checking emulator capabilities and pass them instead
111 - * of NULL so that -nodefconfig is properly added when
112 + * of NULL so that -nodefconfig or -no-user-config is properly added when
113 * probing machine types. Luckily, qemu does not support specifying new
114 * machine types in its configuration files yet, which means passing this
115 * additional parameter makes no difference now.
116 diff --git a/tests/qemuhelpdata/qemu-1.1 b/tests/qemuhelpdata/qemu-1.1
117 new file mode 100644
118 index 0000000..79bc8ba
119 --- /dev/null
120 +++ b/tests/qemuhelpdata/qemu-1.1
121 @@ -0,0 +1,268 @@
122 +QEMU emulator version 1.0.92, Copyright (c) 2003-2008 Fabrice Bellard
123 +usage: qemu-system-x86_64 [options] [disk_image]
124 +
125 +'disk_image' is a raw hard disk image for IDE hard disk 0
126 +
127 +Standard options:
128 +-h or -help display this help and exit
129 +-version display version information and exit
130 +-machine [type=]name[,prop[=value][,...]]
131 + selects emulated machine (-machine ? for list)
132 + property accel=accel1[:accel2[:...]] selects accelerator
133 + supported accelerators are kvm, xen, tcg (default: tcg)
134 + kernel_irqchip=on|off controls accelerated irqchip support
135 + kvm_shadow_mem=size of KVM shadow MMU
136 +-cpu cpu select CPU (-cpu ? for list)
137 +-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]
138 + set the number of CPUs to 'n' [default=1]
139 + maxcpus= maximum number of total cpus, including
140 + offline CPUs for hotplug, etc
141 + cores= number of CPU cores on one socket
142 + threads= number of threads on one CPU core
143 + sockets= number of discrete sockets in the system
144 +-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]
145 +-fda/-fdb file use 'file' as floppy disk 0/1 image
146 +-hda/-hdb file use 'file' as IDE hard disk 0/1 image
147 +-hdc/-hdd file use 'file' as IDE hard disk 2/3 image
148 +-cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)
149 +-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]
150 + [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]
151 + [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]
152 + [,serial=s][,addr=A][,id=name][,aio=threads|native]
153 + [,readonly=on|off][,copy-on-read=on|off]
154 + [[,bps=b]|[[,bps_rd=r][,bps_wr=w]]][[,iops=i]|[[,iops_rd=r][,iops_wr=w]]
155 + use 'file' as a drive image
156 +-set group.id.arg=value
157 + set <arg> parameter for item <id> of type <group>
158 + i.e. -set drive.$id.file=/path/to/image
159 +-global driver.prop=value
160 + set a global default for a driver property
161 +-mtdblock file use 'file' as on-board Flash memory image
162 +-sd file use 'file' as SecureDigital card image
163 +-pflash file use 'file' as a parallel flash image
164 +-boot [order=drives][,once=drives][,menu=on|off]
165 + [,splash=sp_name][,splash-time=sp_time]
166 + 'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)
167 + 'sp_name': the file's name that would be passed to bios as logo picture, if menu=on
168 + 'sp_time': the period that splash picture last if menu=on, unit is ms
169 +-snapshot write to temporary files instead of disk image files
170 +-m megs set virtual RAM size to megs MB [default=128]
171 +-mem-path FILE provide backing storage for guest RAM
172 +-mem-prealloc preallocate guest memory (use with -mem-path)
173 +-k language use keyboard layout (for example 'fr' for French)
174 +-audio-help print list of audio drivers and their options
175 +-soundhw c1,... enable audio support
176 + and only specified sound cards (comma separated list)
177 + use -soundhw ? to get the list of supported cards
178 + use -soundhw all to enable all of them
179 +-balloon none disable balloon device
180 +-balloon virtio[,addr=str]
181 + enable virtio balloon device (default)
182 +-usb enable the USB driver (will be the default soon)
183 +-usbdevice name add the host or guest USB device 'name'
184 +-device driver[,prop[=value][,...]]
185 + add device (based on driver)
186 + prop=value,... sets driver properties
187 + use -device ? to print all possible drivers
188 + use -device driver,? to print all possible properties
189 +
190 +File system options:
191 +-fsdev fsdriver,id=id[,path=path,][security_model={mapped-xattr|mapped-file|passthrough|none}]
192 + [,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd]
193 +
194 +Virtual File system pass-through options:
195 +-virtfs local,path=path,mount_tag=tag,security_model=[mapped-xattr|mapped-file|passthrough|none]
196 + [,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd]
197 +-virtfs_synth Create synthetic file system image
198 +
199 +-name string1[,process=string2]
200 + set the name of the guest
201 + string1 sets the window title and string2 the process name (on Linux)
202 +-uuid %08x-%04x-%04x-%04x-%012x
203 + specify machine UUID
204 +
205 +Display options:
206 +-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]
207 + [,window_close=on|off]|curses|none|
208 + vnc=<display>[,<optargs>]
209 + select display type
210 +-nographic disable graphical output and redirect serial I/Os to console
211 +-curses use a curses/ncurses interface instead of SDL
212 +-no-frame open SDL window without a frame and window decorations
213 +-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)
214 +-ctrl-grab use Right-Ctrl to grab mouse (instead of Ctrl-Alt)
215 +-no-quit disable SDL window close capability
216 +-sdl enable SDL
217 +-spice <args> enable spice
218 +-portrait rotate graphical output 90 deg left (only PXA LCD)
219 +-rotate <deg> rotate graphical output some deg left (only PXA LCD)
220 +-vga [std|cirrus|vmware|qxl|xenfb|none]
221 + select video card type
222 +-full-screen start in full screen
223 +-vnc display start a VNC server on display
224 +
225 +i386 target only:
226 +-win2k-hack use it when installing Windows 2000 to avoid a disk full bug
227 +-no-fd-bootchk disable boot signature checking for floppy disks
228 +-no-acpi disable ACPI
229 +-no-hpet disable HPET
230 +-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,{data|file}=file1[:file2]...]
231 + ACPI table description
232 +-smbios file=binary
233 + load SMBIOS entry from binary file
234 +-smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]
235 + specify SMBIOS type 0 fields
236 +-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]
237 + [,uuid=uuid][,sku=str][,family=str]
238 + specify SMBIOS type 1 fields
239 +
240 +Network options:
241 +-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]
242 + create a new Network Interface Card and connect it to VLAN 'n'
243 +-net user[,vlan=n][,name=str][,net=addr[/mask]][,host=addr][,restrict=on|off]
244 + [,hostname=host][,dhcpstart=addr][,dns=addr][,tftp=dir][,bootfile=f]
245 + [,hostfwd=rule][,guestfwd=rule][,smb=dir[,smbserver=addr]]
246 + connect the user mode network stack to VLAN 'n', configure its
247 + DHCP server and enabled optional services
248 +-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostforce=on|off]
249 + connect the host TAP network interface to VLAN 'n'
250 + use network scripts 'file' (default=/etc/qemu-ifup)
251 + to configure it and 'dfile' (default=/etc/qemu-ifdown)
252 + to deconfigure it
253 + use '[down]script=no' to disable script execution
254 + use network helper 'helper' (default=/usr/libexec/qemu-bridge-helper) to
255 + configure it
256 + use 'fd=h' to connect to an already opened TAP interface
257 + use 'sndbuf=nbytes' to limit the size of the send buffer (the
258 + default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')
259 + use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag
260 + use vnet_hdr=on to make the lack of IFF_VNET_HDR support an error condition
261 + use vhost=on to enable experimental in kernel accelerator
262 + (only has effect for virtio guests which use MSIX)
263 + use vhostforce=on to force vhost on for non-MSIX virtio guests
264 + use 'vhostfd=h' to connect to an already opened vhost net device
265 +-net bridge[,vlan=n][,name=str][,br=bridge][,helper=helper]
266 + connects a host TAP network interface to a host bridge device 'br'
267 + (default=br0) using the program 'helper'
268 + (default=/usr/libexec/qemu-bridge-helper)
269 +-net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]
270 + connect the vlan 'n' to another VLAN using a socket connection
271 +-net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port[,localaddr=addr]]
272 + connect the vlan 'n' to multicast maddr and port
273 + use 'localaddr=addr' to specify the host address to send packets from
274 +-net socket[,vlan=n][,name=str][,fd=h][,udp=host:port][,localaddr=host:port]
275 + connect the vlan 'n' to another VLAN using an UDP tunnel
276 +-net dump[,vlan=n][,file=f][,len=n]
277 + dump traffic on vlan 'n' to file 'f' (max n bytes per packet)
278 +-net none use it alone to have zero network devices. If no -net option
279 + is provided, the default is '-net nic -net user'
280 +-netdev [user|tap|bridge|socket],id=str[,option][,option][,...]
281 +
282 +Character device options:
283 +-chardev null,id=id[,mux=on|off]
284 +-chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]
285 + [,server][,nowait][,telnet][,mux=on|off] (tcp)
286 +-chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)
287 +-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]
288 + [,localport=localport][,ipv4][,ipv6][,mux=on|off]
289 +-chardev msmouse,id=id[,mux=on|off]
290 +-chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]
291 + [,mux=on|off]
292 +-chardev file,id=id,path=path[,mux=on|off]
293 +-chardev pipe,id=id,path=path[,mux=on|off]
294 +-chardev pty,id=id[,mux=on|off]
295 +-chardev stdio,id=id[,mux=on|off][,signal=on|off]
296 +-chardev tty,id=id,path=path[,mux=on|off]
297 +-chardev parport,id=id,path=path[,mux=on|off]
298 +-chardev spicevmc,id=id,name=name[,debug=debug]
299 +
300 +-iscsi [user=user][,password=password]
301 + [,header-digest=CRC32C|CR32C-NONE|NONE-CRC32C|NONE
302 + [,initiator-name=iqn]
303 + iSCSI session parameters
304 +Bluetooth(R) options:
305 +-bt hci,null dumb bluetooth HCI - doesn't respond to commands
306 +-bt hci,host[:id]
307 + use host's HCI with the given name
308 +-bt hci[,vlan=n]
309 + emulate a standard HCI in virtual scatternet 'n'
310 +-bt vhci[,vlan=n]
311 + add host computer to virtual scatternet 'n' using VHCI
312 +-bt device:dev[,vlan=n]
313 + emulate a bluetooth device 'dev' in scatternet 'n'
314 +
315 +Linux/Multiboot boot specific:
316 +-kernel bzImage use 'bzImage' as kernel image
317 +-append cmdline use 'cmdline' as kernel command line
318 +-initrd file use 'file' as initial ram disk
319 +-dtb file use 'file' as device tree image
320 +
321 +Debug/Expert options:
322 +-serial dev redirect the serial port to char device 'dev'
323 +-parallel dev redirect the parallel port to char device 'dev'
324 +-monitor dev redirect the monitor to char device 'dev'
325 +-qmp dev like -monitor but opens in 'control' mode
326 +-mon chardev=[name][,mode=readline|control][,default]
327 +-debugcon dev redirect the debug console to char device 'dev'
328 +-pidfile file write PID to 'file'
329 +-singlestep always run in singlestep mode
330 +-S freeze CPU at startup (use 'c' to start execution)
331 +-gdb dev wait for gdb connection on 'dev'
332 +-s shorthand for -gdb tcp::1234
333 +-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)
334 +-D logfile output log to logfile (instead of the default /tmp/qemu.log)
335 +-hdachs c,h,s[,t]
336 + force hard disk 0 physical geometry and the optional BIOS
337 + translation (t=none or lba) (usually QEMU can guess them)
338 +-L path set the directory for the BIOS, VGA BIOS and keymaps
339 +-bios file set the filename for the BIOS
340 +-enable-kvm enable KVM full virtualization support
341 +-xen-domid id specify xen guest domain id
342 +-xen-create create domain using xen hypercalls, bypassing xend
343 + warning: should not be used when xend is in use
344 +-xen-attach attach to existing xen domain
345 + xend will use this when starting QEMU
346 +-no-reboot exit instead of rebooting
347 +-no-shutdown stop before shutdown
348 +-loadvm [tag|id]
349 + start right away with a saved state (loadvm in monitor)
350 +-daemonize daemonize QEMU after initializing
351 +-option-rom rom load a file, rom, into the option ROM space
352 +-clock force the use of the given methods for timer alarm.
353 + To see what timers are available use -clock ?
354 +-rtc [base=utc|localtime|date][,clock=host|rt|vm][,driftfix=none|slew]
355 + set the RTC base and clock, enable drift fix for clock ticks (x86 only)
356 +-icount [N|auto]
357 + enable virtual instruction counter with 2^N clock ticks per
358 + instruction
359 +-watchdog i6300esb|ib700
360 + enable virtual hardware watchdog [default=none]
361 +-watchdog-action reset|shutdown|poweroff|pause|debug|none
362 + action when watchdog fires [default=reset]
363 +-echr chr set terminal escape character instead of ctrl-a
364 +-virtioconsole c
365 + set virtio console
366 +-show-cursor show cursor
367 +-tb-size n set TB size
368 +-incoming p prepare for incoming migration, listen on port p
369 +-nodefaults don't create default devices
370 +-chroot dir chroot to dir just before starting the VM
371 +-runas user change to user id user just before starting the VM
372 +-readconfig <file>
373 +-writeconfig <file>
374 + read/write config file
375 +-nodefconfig
376 + do not load default config files at startup
377 +-no-user-config
378 + do not load user-provided config files at startup
379 +-trace [events=<file>][,file=<file>]
380 + specify tracing options
381 +-qtest CHR specify tracing options
382 +-qtest-log LOG specify tracing options
383 +
384 +During emulation, the following keys are useful:
385 +ctrl-alt-f toggle full screen
386 +ctrl-alt-n switch to virtual console 'n'
387 +ctrl-alt toggle mouse and keyboard grab
388 +
389 +When using -nographic, press 'ctrl-a h' to get some help.
390 diff --git a/tests/qemuhelpdata/qemu-1.1-device b/tests/qemuhelpdata/qemu-1.1-device
391 new file mode 100644
392 index 0000000..64aacba
393 --- /dev/null
394 +++ b/tests/qemuhelpdata/qemu-1.1-device
395 @@ -0,0 +1,160 @@
396 +name "usb-storage", bus USB
397 +name "VGA", bus PCI
398 +name "scsi-hd", bus SCSI, desc "virtual SCSI disk"
399 +name "i82559a", bus PCI, desc "Intel i82559A Ethernet"
400 +name "i82559b", bus PCI, desc "Intel i82559B Ethernet"
401 +name "i82559c", bus PCI, desc "Intel i82559C Ethernet"
402 +name "sysbus-ohci", bus System, desc "OHCI USB Controller"
403 +name "virtio-blk-pci", bus PCI, alias "virtio-blk"
404 +name "qxl-vga", bus PCI, desc "Spice QXL GPU (primary, vga compatible)"
405 +name "x3130-upstream", bus PCI, desc "TI X3130 Upstream Port of PCI Express Switch"
406 +name "ide-drive", bus IDE, desc "virtual IDE disk or CD-ROM (legacy)"
407 +name "virtio-9p-pci", bus PCI
408 +name "cirrus-vga", bus PCI, desc "Cirrus CLGD 54xx VGA"
409 +name "ide-hd", bus IDE, desc "virtual IDE disk"
410 +name "ES1370", bus PCI, desc "ENSONIQ AudioPCI ES1370"
411 +name "ioh3420", bus PCI, desc "Intel IOH device id 3420 PCIE Root Port"
412 +name "sga", bus ISA, desc "Serial Graphics Adapter"
413 +name "scsi-block", bus SCSI, desc "SCSI block device passthrough"
414 +name "usb-serial", bus USB
415 +name "pc-sysfw", bus System, desc "PC System Firmware"
416 +name "usb-mouse", bus USB
417 +name "usb-net", bus USB
418 +name "usb-hub", bus USB
419 +name "ccid-card-emulated", bus ccid-bus, desc "emulated smartcard"
420 +name "ne2k_isa", bus ISA
421 +name "scsi-generic", bus SCSI, desc "pass through generic scsi device (/dev/sg*)"
422 +name "pcnet", bus PCI
423 +name "lsi53c895a", bus PCI, alias "lsi"
424 +name "scsi-disk", bus SCSI, desc "virtual SCSI disk or CD-ROM (legacy)"
425 +name "nec-usb-xhci", bus PCI
426 +name "xio3130-downstream", bus PCI, desc "TI X3130 Downstream Port of PCI Express Switch"
427 +name "pci-ohci", bus PCI, desc "Apple USB Controller"
428 +name "virtserialport", bus virtio-serial-bus
429 +name "hda-micro", bus HDA, desc "HDA Audio Codec, duplex (speaker, microphone)"
430 +name "usb-braille", bus USB
431 +name "scsi-cd", bus SCSI, desc "virtual SCSI CD-ROM"
432 +name "usb-wacom-tablet", bus USB, desc "QEMU PenPartner Tablet"
433 +name "isa-serial", bus ISA
434 +name "i82550", bus PCI, desc "Intel i82550 Ethernet"
435 +name "i82551", bus PCI, desc "Intel i82551 Ethernet"
436 +name "isa-debugcon", bus ISA
437 +name "ide-cd", bus IDE, desc "virtual IDE CD-ROM"
438 +name "SUNW,fdtwo", bus System
439 +name "ich9-usb-uhci1", bus PCI
440 +name "ich9-usb-uhci2", bus PCI
441 +name "ich9-usb-uhci3", bus PCI
442 +name "isa-parallel", bus ISA
443 +name "virtconsole", bus virtio-serial-bus
444 +name "ne2k_pci", bus PCI
445 +name "virtio-serial-pci", bus PCI, alias "virtio-serial"
446 +name "hda-duplex", bus HDA, desc "HDA Audio Codec, duplex (line-out, line-in)"
447 +name "intel-hda", bus PCI, desc "Intel HD Audio Controller"
448 +name "i82559er", bus PCI, desc "Intel i82559ER Ethernet"
449 +name "hda-output", bus HDA, desc "HDA Audio Codec, output-only (line-out)"
450 +name "i82562", bus PCI, desc "Intel i82562 Ethernet"
451 +name "sysbus-ahci", bus System
452 +name "usb-ccid", bus USB, desc "CCID Rev 1.1 smartcard reader"
453 +name "ivshmem", bus PCI
454 +name "AC97", bus PCI, desc "Intel 82801AA AC97 Audio"
455 +name "e1000", bus PCI, desc "Intel Gigabit Ethernet"
456 +name "sysbus-fdc", bus System
457 +name "usb-bt-dongle", bus USB
458 +name "usb-tablet", bus USB
459 +name "isa-vga", bus ISA
460 +name "usb-kbd", bus USB
461 +name "isa-applesmc", bus ISA
462 +name "ib700", bus ISA
463 +name "rtl8139", bus PCI
464 +name "qxl", bus PCI, desc "Spice QXL GPU (secondary)"
465 +name "i82557a", bus PCI, desc "Intel i82557A Ethernet"
466 +name "i82557b", bus PCI, desc "Intel i82557B Ethernet"
467 +name "i82557c", bus PCI, desc "Intel i82557C Ethernet"
468 +name "usb-audio", bus USB
469 +name "piix3-usb-uhci", bus PCI
470 +name "piix4-usb-uhci", bus PCI
471 +name "ccid-card-passthru", bus ccid-bus, desc "passthrough smartcard"
472 +name "i82801", bus PCI, desc "Intel i82801 Ethernet"
473 +name "smbus-eeprom", bus I2C
474 +name "vmware-svga", bus PCI
475 +name "isa-cirrus-vga", bus ISA
476 +name "sb16", bus ISA, desc "Creative Sound Blaster 16"
477 +name "pci-bridge", bus PCI, desc "Standard PCI Bridge"
478 +name "usb-ehci", bus PCI
479 +name "vt82c686b-usb-uhci", bus PCI
480 +name "i82558a", bus PCI, desc "Intel i82558A Ethernet"
481 +name "virtio-net-pci", bus PCI, alias "virtio-net"
482 +name "virtio-balloon-pci", bus PCI, alias "virtio-balloon"
483 +name "ich9-usb-ehci1", bus PCI
484 +name "isa-ide", bus ISA
485 +name "usb-host", bus USB
486 +name "ich9-ahci", bus PCI, alias "ahci"
487 +name "i6300esb", bus PCI
488 +name "i82558b", bus PCI, desc "Intel i82558B Ethernet"
489 +name "virtio-scsi-pci", bus PCI
490 +virtio-blk-pci.class=hex32
491 +virtio-blk-pci.drive=drive
492 +virtio-blk-pci.logical_block_size=blocksize
493 +virtio-blk-pci.physical_block_size=blocksize
494 +virtio-blk-pci.min_io_size=uint16
495 +virtio-blk-pci.opt_io_size=uint32
496 +virtio-blk-pci.bootindex=int32
497 +virtio-blk-pci.discard_granularity=uint32
498 +virtio-blk-pci.serial=string
499 +virtio-blk-pci.ioeventfd=on/off
500 +virtio-blk-pci.vectors=uint32
501 +virtio-blk-pci.indirect_desc=on/off
502 +virtio-blk-pci.event_idx=on/off
503 +virtio-blk-pci.scsi=on/off
504 +virtio-blk-pci.addr=pci-devfn
505 +virtio-blk-pci.romfile=string
506 +virtio-blk-pci.rombar=uint32
507 +virtio-blk-pci.multifunction=on/off
508 +virtio-blk-pci.command_serr_enable=on/off
509 +virtio-net-pci.ioeventfd=on/off
510 +virtio-net-pci.vectors=uint32
511 +virtio-net-pci.indirect_desc=on/off
512 +virtio-net-pci.event_idx=on/off
513 +virtio-net-pci.csum=on/off
514 +virtio-net-pci.guest_csum=on/off
515 +virtio-net-pci.gso=on/off
516 +virtio-net-pci.guest_tso4=on/off
517 +virtio-net-pci.guest_tso6=on/off
518 +virtio-net-pci.guest_ecn=on/off
519 +virtio-net-pci.guest_ufo=on/off
520 +virtio-net-pci.host_tso4=on/off
521 +virtio-net-pci.host_tso6=on/off
522 +virtio-net-pci.host_ecn=on/off
523 +virtio-net-pci.host_ufo=on/off
524 +virtio-net-pci.mrg_rxbuf=on/off
525 +virtio-net-pci.status=on/off
526 +virtio-net-pci.ctrl_vq=on/off
527 +virtio-net-pci.ctrl_rx=on/off
528 +virtio-net-pci.ctrl_vlan=on/off
529 +virtio-net-pci.ctrl_rx_extra=on/off
530 +virtio-net-pci.mac=macaddr
531 +virtio-net-pci.vlan=vlan
532 +virtio-net-pci.netdev=netdev
533 +virtio-net-pci.bootindex=int32
534 +virtio-net-pci.x-txtimer=uint32
535 +virtio-net-pci.x-txburst=int32
536 +virtio-net-pci.tx=string
537 +virtio-net-pci.addr=pci-devfn
538 +virtio-net-pci.romfile=string
539 +virtio-net-pci.rombar=uint32
540 +virtio-net-pci.multifunction=on/off
541 +virtio-net-pci.command_serr_enable=on/off
542 +scsi-disk.drive=drive
543 +scsi-disk.logical_block_size=blocksize
544 +scsi-disk.physical_block_size=blocksize
545 +scsi-disk.min_io_size=uint16
546 +scsi-disk.opt_io_size=uint32
547 +scsi-disk.bootindex=int32
548 +scsi-disk.discard_granularity=uint32
549 +scsi-disk.ver=string
550 +scsi-disk.serial=string
551 +scsi-disk.removable=on/off
552 +scsi-disk.dpofua=on/off
553 +scsi-disk.channel=uint32
554 +scsi-disk.scsi-id=uint32
555 +scsi-disk.lun=uint32
556 diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
557 index d23b35a..57d1859 100644
558 --- a/tests/qemuhelptest.c
559 +++ b/tests/qemuhelptest.c
560 @@ -678,6 +678,81 @@ mymain(void)
561 QEMU_CAPS_SCSI_BLOCK,
562 QEMU_CAPS_SCSI_CD,
563 QEMU_CAPS_IDE_CD);
564 + DO_TEST("qemu-1.1", 1000092, 0, 0,
565 + QEMU_CAPS_VNC_COLON,
566 + QEMU_CAPS_NO_REBOOT,
567 + QEMU_CAPS_DRIVE,
568 + QEMU_CAPS_NAME,
569 + QEMU_CAPS_UUID,
570 + QEMU_CAPS_MIGRATE_QEMU_TCP,
571 + QEMU_CAPS_MIGRATE_QEMU_EXEC,
572 + QEMU_CAPS_DRIVE_CACHE_V2,
573 + QEMU_CAPS_DRIVE_CACHE_UNSAFE,
574 + QEMU_CAPS_DRIVE_FORMAT,
575 + QEMU_CAPS_DRIVE_SERIAL,
576 + QEMU_CAPS_XEN_DOMID,
577 + QEMU_CAPS_DRIVE_READONLY,
578 + QEMU_CAPS_VGA,
579 + QEMU_CAPS_0_10,
580 + QEMU_CAPS_MEM_PATH,
581 + QEMU_CAPS_SDL,
582 + QEMU_CAPS_MIGRATE_QEMU_UNIX,
583 + QEMU_CAPS_CHARDEV,
584 + QEMU_CAPS_ENABLE_KVM,
585 + QEMU_CAPS_MONITOR_JSON,
586 + QEMU_CAPS_BALLOON,
587 + QEMU_CAPS_DEVICE,
588 + QEMU_CAPS_SMP_TOPOLOGY,
589 + QEMU_CAPS_NETDEV,
590 + QEMU_CAPS_RTC,
591 + QEMU_CAPS_VHOST_NET,
592 + QEMU_CAPS_NO_HPET,
593 + QEMU_CAPS_NODEFCONFIG,
594 + QEMU_CAPS_BOOT_MENU,
595 + QEMU_CAPS_FSDEV,
596 + QEMU_CAPS_NAME_PROCESS,
597 + QEMU_CAPS_SMBIOS_TYPE,
598 + QEMU_CAPS_VGA_QXL,
599 + QEMU_CAPS_SPICE,
600 + QEMU_CAPS_VGA_NONE,
601 + QEMU_CAPS_MIGRATE_QEMU_FD,
602 + QEMU_CAPS_BOOTINDEX,
603 + QEMU_CAPS_HDA_DUPLEX,
604 + QEMU_CAPS_DRIVE_AIO,
605 + QEMU_CAPS_CCID_EMULATED,
606 + QEMU_CAPS_CCID_PASSTHRU,
607 + QEMU_CAPS_CHARDEV_SPICEVMC,
608 + QEMU_CAPS_VIRTIO_TX_ALG,
609 + QEMU_CAPS_DEVICE_QXL_VGA,
610 + QEMU_CAPS_PCI_MULTIFUNCTION,
611 + QEMU_CAPS_VIRTIO_IOEVENTFD,
612 + QEMU_CAPS_SGA,
613 + QEMU_CAPS_VIRTIO_BLK_EVENT_IDX,
614 + QEMU_CAPS_VIRTIO_NET_EVENT_IDX,
615 + QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC,
616 + QEMU_CAPS_PIIX3_USB_UHCI,
617 + QEMU_CAPS_PIIX4_USB_UHCI,
618 + QEMU_CAPS_USB_EHCI,
619 + QEMU_CAPS_ICH9_USB_EHCI1,
620 + QEMU_CAPS_VT82C686B_USB_UHCI,
621 + QEMU_CAPS_PCI_OHCI,
622 + QEMU_CAPS_USB_HUB,
623 + QEMU_CAPS_NO_SHUTDOWN,
624 + QEMU_CAPS_PCI_ROMBAR,
625 + QEMU_CAPS_ICH9_AHCI,
626 + QEMU_CAPS_NO_ACPI,
627 + QEMU_CAPS_FSDEV_READONLY,
628 + QEMU_CAPS_VIRTIO_BLK_SCSI,
629 + QEMU_CAPS_VIRTIO_BLK_SG_IO,
630 + QEMU_CAPS_DRIVE_COPY_ON_READ,
631 + QEMU_CAPS_CPU_HOST,
632 + QEMU_CAPS_FSDEV_WRITEOUT,
633 + QEMU_CAPS_DRIVE_IOTUNE,
634 + QEMU_CAPS_SCSI_DISK_CHANNEL,
635 + QEMU_CAPS_SCSI_BLOCK,
636 + QEMU_CAPS_SCSI_CD,
637 + QEMU_CAPS_IDE_CD,
638 + QEMU_CAPS_NO_USER_CONFIG);
639
640 return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
641 }
1616 Revert-rpc-Discard-non-blocking-calls-only-when-nece.patch
1717 qemu-Fix-off-by-one-error-while-unescaping-monitor-s.patch
1818 rpc-Fix-crash-on-error-paths-of-message-dispatching.patch
19 qemu-Add-support-for-no-user-config.patch