Synch code, help and docs

Rearrange code, help printout and docs so that they are in the same
(hopefully more logical) order for easier maintenance.

Add help and docs for undocumented options.

Reformat slightly for more consistent help output.

Add comments to encourage better synchronization in the future.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6432 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
blueswir1 2009-01-24 18:19:25 +00:00
parent 0ec3ff526f
commit d2c639d6dc
5 changed files with 591 additions and 366 deletions

View File

@ -1429,6 +1429,7 @@ static void do_info_balloon(void)
term_printf("balloon: actual=%d\n", (int)(actual >> 20));
}
/* Please update qemu-doc.texi when adding or changing commands */
static const term_cmd_t term_cmds[] = {
{ "help|?", "s?", do_help,
"[cmd]", "show the help" },
@ -1496,8 +1497,8 @@ static const term_cmd_t term_cmds[] = {
"path [frequency bits channels]",
"capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
#endif
{ "stopcapture", "i", do_stop_capture,
"capture index", "stop capture" },
{ "stopcapture", "i", do_stop_capture,
"capture index", "stop capture" },
{ "memsave", "lis", do_memory_save,
"addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
{ "pmemsave", "lis", do_physical_memory_save,
@ -1520,9 +1521,10 @@ static const term_cmd_t term_cmds[] = {
{ NULL, NULL, },
};
/* Please update qemu-doc.texi when adding or changing commands */
static const term_cmd_t info_cmds[] = {
{ "version", "", do_info_version,
"", "show the version of qemu" },
"", "show the version of QEMU" },
{ "network", "", do_info_network,
"", "show the network state" },
{ "chardev", "", qemu_chr_info,
@ -1554,9 +1556,9 @@ static const term_cmd_t info_cmds[] = {
{ "jit", "", do_info_jit,
"", "show dynamic compiler info", },
{ "kqemu", "", do_info_kqemu,
"", "show kqemu information", },
"", "show KQEMU information", },
{ "kvm", "", do_info_kvm,
"", "show kvm information", },
"", "show KVM information", },
{ "usb", "", usb_info,
"", "show guest USB devices", },
{ "usbhost", "", usb_host_info,

View File

@ -221,13 +221,25 @@ usage: qemu [options] [@var{disk_image}]
@end example
@c man begin OPTIONS
@var{disk_image} is a raw hard disk image for IDE hard disk 0.
@var{disk_image} is a raw hard disk image for IDE hard disk 0. Some
targets do not need a disk image.
General options:
@table @option
@item -h
Display help and exit
@item -M @var{machine}
Select the emulated @var{machine} (@code{-M ?} for list)
@item -cpu @var{model}
Select CPU model (-cpu ? for list and additional feature selection)
@item -smp @var{n}
Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
to 4.
@item -fda @var{file}
@item -fdb @var{file}
Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
@ -344,6 +356,15 @@ is interpreted like:
qemu -hda a -hdb b
@end example
@item -mtdblock file
Use 'file' as on-board Flash memory image.
@item -sd file
Use 'file' as SecureDigital card image.
@item -pflash file
Use 'file' as a parallel flash image.
@item -boot [a|c|d|n]
Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot
is the default.
@ -353,22 +374,27 @@ Write to temporary files instead of disk image files. In this case,
the raw disk image you use is not written back. You can however force
the write back by pressing @key{C-a s} (@pxref{disk_images}).
@item -no-fd-bootchk
Disable boot signature checking for floppy disks in Bochs BIOS. It may
be needed to boot from old floppy disks.
@item -m @var{megs}
Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
gigabytes respectively.
@item -cpu @var{model}
Select CPU model (-cpu ? for list and additional feature selection)
@item -k @var{language}
@item -smp @var{n}
Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
to 4.
Use keyboard layout @var{language} (for example @code{fr} for
French). This option is only needed where it is not easy to get raw PC
keycodes (e.g. on Macs, with some X11 servers or with a VNC
display). You don't normally need to use it on PC/Linux or PC/Windows
hosts.
The available layouts are:
@example
ar de-ch es fo fr-ca hu ja mk no pt-br sv
da en-gb et fr fr-ch is lt nl pl ru th
de en-us fi fr-be hr it lv nl-be pt sl tr
@end example
The default is @code{en-us}.
@item -audio-help
@ -395,45 +421,59 @@ require manually specifying clocking.
modprobe i810_audio clocking=48000
@end example
@item -localtime
Set the real time clock to local time (the default is to UTC
time). This option is needed to have correct date in MS-DOS or
Windows.
@end table
@item -startdate @var{date}
Set the initial date of the real time clock. Valid formats for
@var{date} are: @code{now} or @code{2006-06-17T16:01:21} or
@code{2006-06-17}. The default value is @code{now}.
USB options:
@table @option
@item -pidfile @var{file}
Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
from a script.
@item -usb
Enable the USB driver (will be the default soon)
@item -daemonize
Daemonize the QEMU process after initialization. QEMU will not detach from
standard IO until it is ready to receive connections on any of its devices.
This option is a useful way for external programs to launch QEMU without having
to cope with initialization race conditions.
@item -usbdevice @var{devname}
Add the USB device @var{devname}. @xref{usb_devices}.
@item -win2k-hack
Use it when installing Windows 2000 to avoid a disk full bug. After
Windows 2000 is installed, you no longer need this option (this option
slows down the IDE transfers).
@table @code
@item -rtc-td-hack
Use it if you experience time drift problem in Windows with ACPI HAL.
This option will try to figure out how many timer interrupts were not
processed by the Windows guest and will re-inject them.
@item mouse
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
@item -option-rom @var{file}
Load the contents of @var{file} as an option ROM.
This option is useful to load things like EtherBoot.
@item tablet
Pointer device that uses absolute coordinates (like a touchscreen). This
means qemu is able to report the mouse position without having to grab the
mouse. Also overrides the PS/2 mouse emulation when activated.
@item disk:[format=@var{format}]:file
Mass storage device based on file. The optional @var{format} argument
will be used rather than detecting the format. Can be used to specifiy
format=raw to avoid interpreting an untrusted format header.
@item host:bus.addr
Pass through the host device identified by bus.addr (Linux only).
@item host:vendor_id:product_id
Pass through the host device identified by vendor_id:product_id (Linux only).
@item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
Serial converter to host character device @var{dev}, see @code{-serial} for the
available devices.
@item braille
Braille device. This will use BrlAPI to display the braille output on a real
or fake device.
@item net:options
Network adapter that supports CDC ethernet and RNDIS protocols.
@end table
@item -name @var{name}
Sets the @var{name} of the guest.
This name will be displayed in the SDL window caption.
The @var{name} will also be used for the VNC server.
@item -uuid @var{uuid}
Set system UUID.
@end table
Display options:
@ -459,10 +499,43 @@ Do not use decorations for SDL windows and start them using the whole
available screen space. This makes the using QEMU in a dedicated desktop
workspace more convenient.
@item -alt-grab
Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt).
@item -no-quit
Disable SDL window close capability.
@item -sdl
Enable SDL.
@item -portrait
Rotate graphical output 90 deg left (only PXA LCD).
@item -vga @var{type}
Select type of VGA card to emulate. Valid values for @var{type} are
@table @code
@item cirrus
Cirrus Logic GD5446 Video card. All Windows versions starting from
Windows 95 should recognize and use this graphic card. For optimal
performances, use 16 bit color depth in the guest and the host OS.
(This one is the default)
@item std
Standard VGA card with Bochs VBE extensions. If your guest OS
supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
to use high resolution modes (>= 1280x1024x16) then you should use
this option.
@item vmware
VMWare SVGA-II compatible adapter. Use it if you have sufficiently
recent XFree86/XOrg server or Windows guest with a driver for this
card.
@item none
Disable VGA card.
@end table
@item -full-screen
Start in full screen.
@ -545,68 +618,6 @@ certificates.
@end table
@item -k @var{language}
Use keyboard layout @var{language} (for example @code{fr} for
French). This option is only needed where it is not easy to get raw PC
keycodes (e.g. on Macs, with some X11 servers or with a VNC
display). You don't normally need to use it on PC/Linux or PC/Windows
hosts.
The available layouts are:
@example
ar de-ch es fo fr-ca hu ja mk no pt-br sv
da en-gb et fr fr-ch is lt nl pl ru th
de en-us fi fr-be hr it lv nl-be pt sl tr
@end example
The default is @code{en-us}.
@end table
USB options:
@table @option
@item -usb
Enable the USB driver (will be the default soon)
@item -usbdevice @var{devname}
Add the USB device @var{devname}. @xref{usb_devices}.
@table @code
@item mouse
Virtual Mouse. This will override the PS/2 mouse emulation when activated.
@item tablet
Pointer device that uses absolute coordinates (like a touchscreen). This
means qemu is able to report the mouse position without having to grab the
mouse. Also overrides the PS/2 mouse emulation when activated.
@item disk:[format=@var{format}]:file
Mass storage device based on file. The optional @var{format} argument
will be used rather than detecting the format. Can be used to specifiy
format=raw to avoid interpreting an untrusted format header.
@item host:bus.addr
Pass through the host device identified by bus.addr (Linux only).
@item host:vendor_id:product_id
Pass through the host device identified by vendor_id:product_id (Linux only).
@item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
Serial converter to host character device @var{dev}, see @code{-serial} for the
available devices.
@item braille
Braille device. This will use BrlAPI to display the braille output on a real
or fake device.
@item net:options
Network adapter that supports CDC ethernet and RNDIS protocols.
@end table
@end table
Network options:
@ -856,6 +867,34 @@ Virtual wireless keyboard implementing the HIDP bluetooth profile.
@end table
i386 target only:
@table @option
@item -win2k-hack
Use it when installing Windows 2000 to avoid a disk full bug. After
Windows 2000 is installed, you no longer need this option (this option
slows down the IDE transfers).
@item -rtc-td-hack
Use it if you experience time drift problem in Windows with ACPI HAL.
This option will try to figure out how many timer interrupts were not
processed by the Windows guest and will re-inject them.
@item -no-fd-bootchk
Disable boot signature checking for floppy disks in Bochs BIOS. It may
be needed to boot from old floppy disks.
@item -no-acpi
Disable ACPI (Advanced Configuration and Power Interface) support. Use
it if your guest OS complains about ACPI problems (PC target machine
only).
@item -no-hpet
Disable HPET support.
@end table
Linux boot specific: When using these options, you can use a given
Linux kernel without installing it in the disk image. It can be useful
for easier testing of various kernels.
@ -881,7 +920,7 @@ Redirect the virtual serial port to host character device
@var{dev}. The default device is @code{vc} in graphical mode and
@code{stdio} in non graphical mode.
This option can be used several times to simulate up to 4 serials
This option can be used several times to simulate up to 4 serial
ports.
Use @code{-serial none} to disable all serial ports.
@ -1015,6 +1054,92 @@ serial port).
The default device is @code{vc} in graphical mode and @code{stdio} in
non graphical mode.
@item -pidfile @var{file}
Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
from a script.
@item -S
Do not start CPU at startup (you must type 'c' in the monitor).
@item -s
Wait gdb connection to port 1234 (@pxref{gdb_usage}).
@item -p @var{port}
Change gdb connection port. @var{port} can be either a decimal number
to specify a TCP port, or a host device (same devices as the serial port).
@item -d
Output log in /tmp/qemu.log
@item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
Force hard disk 0 physical geometry (1 <= @var{c} <= 16383, 1 <=
@var{h} <= 16, 1 <= @var{s} <= 63) and optionally force the BIOS
translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
all those parameters. This option is useful for old MS-DOS disk
images.
@item -L @var{path}
Set the directory for the BIOS, VGA BIOS and keymaps.
@item -bios @var{file}
Set the filename for the BIOS.
@item -kernel-kqemu
Enable KQEMU full virtualization (default is user mode only).
@item -no-kqemu
Disable KQEMU kernel module usage. KQEMU options are only available if
KQEMU support is enabled when compiling.
@item -enable-kvm
Enable KVM full virtualization support. This option is only available
if KVM support is enabled when compiling.
@item -no-reboot
Exit instead of rebooting.
@item -no-shutdown
Don't exit QEMU on guest shutdown, but instead only stop the emulation.
This allows for instance switching to monitor to commit changes to the
disk image.
@item -loadvm @var{file}
Start right away with a saved state (@code{loadvm} in monitor)
@item -daemonize
Daemonize the QEMU process after initialization. QEMU will not detach from
standard IO until it is ready to receive connections on any of its devices.
This option is a useful way for external programs to launch QEMU without having
to cope with initialization race conditions.
@item -option-rom @var{file}
Load the contents of @var{file} as an option ROM.
This option is useful to load things like EtherBoot.
@item -clock @var{method}
Force the use of the given methods for timer alarm. To see what timers
are available use -clock ?.
@item -localtime
Set the real time clock to local time (the default is to UTC
time). This option is needed to have correct date in MS-DOS or
Windows.
@item -startdate @var{date}
Set the initial date of the real time clock. Valid formats for
@var{date} are: @code{now} or @code{2006-06-17T16:01:21} or
@code{2006-06-17}. The default value is @code{now}.
@item -icount [N|auto]
Enable virtual instruction counter. The virtual cpu will execute one
instruction every 2^N ns of virtual time. If @code{auto} is specified
then the virtual cpu speed will be automatically adjusted to keep virtual
time within a few seconds of real time.
Note that while this option can give deterministic behavior, it does not
provide cycle accurate emulation. Modern CPUs contain superscalar out of
order cores with complex cache hierarchies. The number of instructions
executed often has little or no correlation with actual performance.
@item -echr numeric_ascii_value
Change the escape character used for switching to the monitor when using
monitor and serial sharing. The default is @code{0x01} when using the
@ -1028,79 +1153,6 @@ character to Control-t.
@item -echr 20
@end table
@item -s
Wait gdb connection to port 1234 (@pxref{gdb_usage}).
@item -p @var{port}
Change gdb connection port. @var{port} can be either a decimal number
to specify a TCP port, or a host device (same devices as the serial port).
@item -S
Do not start CPU at startup (you must type 'c' in the monitor).
@item -d
Output log in /tmp/qemu.log
@item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
Force hard disk 0 physical geometry (1 <= @var{c} <= 16383, 1 <=
@var{h} <= 16, 1 <= @var{s} <= 63) and optionally force the BIOS
translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
all those parameters. This option is useful for old MS-DOS disk
images.
@item -L path
Set the directory for the BIOS, VGA BIOS and keymaps.
@item -vga @var{type}
Select type of VGA card to emulate. Valid values for @var{type} are
@table @code
@item cirrus
Cirrus Logic GD5446 Video card. All Windows versions starting from
Windows 95 should recognize and use this graphic card. For optimal
performances, use 16 bit color depth in the guest and the host OS.
(This one is the default)
@item std
Standard VGA card with Bochs VBE extensions. If your guest OS
supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
to use high resolution modes (>= 1280x1024x16) then you should use
this option.
@item vmware
VMWare SVGA-II compatible adapter. Use it if you have sufficiently
recent XFree86/XOrg server or Windows guest with a driver for this
card.
@end table
@item -no-acpi
Disable ACPI (Advanced Configuration and Power Interface) support. Use
it if your guest OS complains about ACPI problems (PC target machine
only).
@item -no-reboot
Exit instead of rebooting.
@item -no-shutdown
Don't exit QEMU on guest shutdown, but instead only stop the emulation.
This allows for instance switching to monitor to commit changes to the
disk image.
@item -loadvm file
Start right away with a saved state (@code{loadvm} in monitor)
@item -semihosting
Enable semihosting syscall emulation (ARM and M68K target machines only).
On ARM this implements the "Angel" interface.
On M68K this implements the "ColdFire GDB" interface used by libgloss.
Note that this allows guest direct access to the host filesystem,
so should only be used with trusted guest OS.
@item -icount [N|auto]
Enable virtual instruction counter. The virtual cpu will execute one
instruction every 2^N ns of virtual time. If @code{auto} is specified
then the virtual cpu speed will be automatically adjusted to keep virtual
time within a few seconds of real time.
Note that while this option can give deterministic behavior, it does not
provide cycle accurate emulation. Modern CPUs contain superscalar out of
order cores with complex cache hierarchies. The number of instructions
executed often has little or no correlation with actual performance.
@end table
@c man end
@ -1138,13 +1190,14 @@ During emulation, if you are using the @option{-nographic} option, use
@table @key
@item Ctrl-a h
@item Ctrl-a ?
Print this help
@item Ctrl-a x
Exit emulator
@item Ctrl-a s
Save disk data back to file (if -snapshot)
@item Ctrl-a t
toggle console timestamps
Toggle console timestamps
@item Ctrl-a b
Send break (magic sysrq in Linux)
@item Ctrl-a c
@ -1203,26 +1256,68 @@ Commit changes to the disk images (if -snapshot is used).
Show various information about the system state.
@table @option
@item info version
show the version of QEMU
@item info network
show the various VLANs and the associated devices
@item info chardev
show the character devices
@item info block
show the block devices
@item info block
show block device statistics
@item info registers
show the cpu registers
@item info cpus
show infos for each CPU
@item info history
show the command line history
@item info irq
show the interrupts statistics (if available)
@item info pic
show i8259 (PIC) state
@item info pci
show emulated PCI device
show emulated PCI device info
@item info tlb
show virtual to physical memory mappings (i386 only)
@item info mem
show the active virtual memory mappings (i386 only)
@item info hpet
show state of HPET (i386 only)
@item info kqemu
show KQEMU information
@item info kvm
show KVM information
@item info usb
show USB devices plugged on the virtual USB hub
@item info usbhost
show all USB host devices
@item info profile
show profiling information
@item info capture
show information about active capturing
@item info snapshots
show list of VM snapshots
@item info status
show the current VM status (running|paused)
@item info pcmcia
show guest PCMCIA status
@item info mice
show which guest mouse is receiving events
@item info vnc
show the vnc server status
@item info name
show the current VM name
@item info uuid
show the current VM UUID
@item info cpustats
show CPU statistics
@item info slirp
show SLIRP statistics (if available)
@item info migrate
show migration status
@item info balloon
show balloon information
@end table
@item q or quit
@ -1236,13 +1331,15 @@ Eject a removable medium (use -f to force it).
Change the configuration of a device.
@table @option
@item change @var{diskdevice} @var{filename}
@item change @var{diskdevice} @var{filename} [@var{format}]
Change the medium for a removable disk device to point to @var{filename}. eg
@example
(qemu) change ide1-cd0 /path/to/some.iso
@end example
@var{format} is optional.
@item change vnc @var{display},@var{options}
Change the configuration of the VNC server. The valid syntax for @var{display}
and @var{options} are described at @ref{sec_invocation}. eg
@ -1267,36 +1364,8 @@ Password: ********
@item screendump @var{filename}
Save screen into PPM image @var{filename}.
@item mouse_move @var{dx} @var{dy} [@var{dz}]
Move the active mouse to the specified coordinates @var{dx} @var{dy}
with optional scroll axis @var{dz}.
@item mouse_button @var{val}
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
@item mouse_set @var{index}
Set which mouse device receives events at given @var{index}, index
can be obtained with
@example
info mice
@end example
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
Capture audio into @var{filename}. Using sample rate @var{frequency}
bits per sample @var{bits} and number of channels @var{channels}.
Defaults:
@itemize @minus
@item Sample rate = 44100 Hz - CD quality
@item Bits = 16
@item Number of channels = 2 - Stereo
@end itemize
@item stopcapture @var{index}
Stop capture with a given @var{index}, index can be obtained with
@example
info capture
@end example
@item logfile @var{filename}
Output logs to @var{filename}.
@item log @var{item1}[,...]
Activate logging of the specified items to @file{/tmp/qemu.log}.
@ -1403,13 +1472,13 @@ intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
Reset the system.
@item boot_set @var{bootdevicelist}
@item system_powerdown
Define new values for the boot device list. Those values will override
the values specified on the command line through the @code{-boot} option.
Power down the system (if supported).
The values that can be specified here depend on the machine type, but are
the same that can be specified in the @code{-boot} command line option.
@item sum @var{addr} @var{size}
Compute the checksum of a memory region.
@item usb_add @var{devname}
@ -1422,6 +1491,69 @@ Remove the USB device @var{devname} from the QEMU virtual USB
hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
command @code{info usb} to see the devices you can remove.
@item mouse_move @var{dx} @var{dy} [@var{dz}]
Move the active mouse to the specified coordinates @var{dx} @var{dy}
with optional scroll axis @var{dz}.
@item mouse_button @var{val}
Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
@item mouse_set @var{index}
Set which mouse device receives events at given @var{index}, index
can be obtained with
@example
info mice
@end example
@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
Capture audio into @var{filename}. Using sample rate @var{frequency}
bits per sample @var{bits} and number of channels @var{channels}.
Defaults:
@itemize @minus
@item Sample rate = 44100 Hz - CD quality
@item Bits = 16
@item Number of channels = 2 - Stereo
@end itemize
@item stopcapture @var{index}
Stop capture with a given @var{index}, index can be obtained with
@example
info capture
@end example
@item memsave @var{addr} @var{size} @var{file}
save to disk virtual memory dump starting at @var{addr} of size @var{size}.
@item pmemsave @var{addr} @var{size} @var{file}
save to disk physical memory dump starting at @var{addr} of size @var{size}.
@item boot_set @var{bootdevicelist}
Define new values for the boot device list. Those values will override
the values specified on the command line through the @code{-boot} option.
The values that can be specified here depend on the machine type, but are
the same that can be specified in the @code{-boot} command line option.
@item nmi @var{cpu}
Inject an NMI on the given CPU.
@item migrate [-d] @var{uri}
Migrate to @var{uri} (using -d to not wait for completion).
@item migrate_cancel
Cancel the current VM migration.
@item migrate_set_speed @var{value}
Set maximum speed to @var{value} (in bytes) for migrations.
@item balloon @var{value}
Request VM to change its memory allocation to @var{value} (in MB).
@item set_link @var{name} [up|down]
Set link @var{name} up or down.
@end table
@subsection Integer expressions
@ -2850,6 +2982,22 @@ Three on-chip UARTs
A Linux 2.6 test image is available on the QEMU web site. More
information is available in the QEMU mailing-list archive.
@c man begin OPTIONS
The following options are specific to the ARM emulation:
@table @option
@item -semihosting
Enable semihosting syscall emulation.
On ARM this implements the "Angel" interface.
Note that this allows guest direct access to the host filesystem,
so should only be used with trusted guest OS.
@end table
@node ColdFire System emulator
@section ColdFire System emulator
@ -2876,6 +3024,22 @@ MCF5206 ColdFire V2 Microprocessor.
Two on-chip UARTs.
@end itemize
@c man begin OPTIONS
The following options are specific to the ARM emulation:
@table @option
@item -semihosting
Enable semihosting syscall emulation.
On M68K this implements the "ColdFire GDB" interface used by libgloss.
Note that this allows guest direct access to the host filesystem,
so should only be used with trusted guest OS.
@end table
@node QEMU User space emulator
@chapter QEMU User space emulator

View File

@ -50,6 +50,7 @@ static void format_print(void *opaque, const char *name)
printf(" %s", name);
}
/* Please keep in synch with qemu-img.texi */
static void help(void)
{
printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice Bellard\n"
@ -61,7 +62,7 @@ static void help(void)
" commit [-f fmt] filename\n"
" convert [-c] [-e] [-6] [-f fmt] [-O output_fmt] [-B output_base_image] filename [filename2 [...]] output_filename\n"
" info [-f fmt] filename\n"
" snapshot [-l|-a snapshot|-c snapshot|-d snapshot] filename\n"
" snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename\n"
"\n"
"Command parameters:\n"
" 'filename' is a disk image filename\n"
@ -72,22 +73,24 @@ static void help(void)
" content as the input's base image, however the path, image format, etc may\n"
" differ\n"
" 'fmt' is the disk image format. It is guessed automatically in most cases\n"
" 'size' is the disk image size in kilobytes. Optional suffixes 'M' (megabyte)\n"
" and 'G' (gigabyte) are supported\n"
" 'size' is the disk image size in kilobytes. Optional suffixes\n"
" 'M' (megabyte, 1024 * 1024) and 'G' (gigabyte, 1024 * 1024 * 1024) are"
" supported any @code{k} or @code{K} is ignored\n"
" 'output_filename' is the destination disk image filename\n"
" 'output_fmt' is the destination format\n"
" '-c' indicates that target image must be compressed (qcow format only)\n"
" '-e' indicates that the target image must be encrypted (qcow format only)\n"
" '-6' indicates that the target image must use compatibility level 6 (vmdk format only)\n"
" '-h' with or without a command shows this help and lists the supported formats\n"
"\n"
" Parameters to snapshot subcommand:\n"
" 'snapshot' is the name of the snapshot to create, apply or delete\n"
" '-a' applies a snapshot (revert disk to saved state)\n"
" '-c' creates a snapshot\n"
" '-d' deletes a snapshot\n"
" '-l' lists all snapshots in the given image\n"
"Parameters to snapshot subcommand:\n"
" 'snapshot' is the name of the snapshot to create, apply or delete\n"
" '-a' applies a snapshot (revert disk to saved state)\n"
" '-c' creates a snapshot\n"
" '-d' deletes a snapshot\n"
" '-l' lists all snapshots in the given image\n"
);
printf("\nSupported format:");
printf("\nSupported formats:");
bdrv_iterate_format(format_print, NULL);
printf("\n");
exit(1);

View File

@ -12,6 +12,7 @@ The following commands are supported:
@item commit [-f @var{fmt}] @var{filename}
@item convert [-c] [-e] [-6] [-f @var{fmt}] [-O @var{output_fmt}] [-B @var{output_base_image}] @var{filename} [@var{filename2} [...]] @var{output_filename}
@item info [-f @var{fmt}] @var{filename}
@item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot}] @var{filename}
@end table
Command parameters:
@ -59,7 +60,8 @@ CD-ROM images present for example in the Knoppix CD-ROMs.
@item size
is the disk image size in kilobytes. Optional suffixes @code{M}
(megabyte) and @code{G} (gigabyte) are supported
(megabyte, 1024 * 1024) and @code{G} (gigabyte, 1024 * 1024 * 1024)
are supported and any @code{k} or @code{K} is ignored.
@item output_filename
is the destination disk image filename
@ -73,6 +75,24 @@ indicates that target image must be compressed (qcow format only)
indicates that the target image must be encrypted (qcow format only)
@item -6
indicates that the target image must use compatibility level 6 (vmdk format only)
@item -h
with or without a command shows help and lists the supported formats
@end table
Parameters to snapshot subcommand:
@table @option
@item snapshot
is the name of the snapshot to create, apply or delete
@item -a
applies a snapshot (revert disk to saved state)
@item -c
creates a snapshot
@item -d
deletes a snapshot
@item -l
lists all snapshots in the given image
@end table
Command description:
@ -115,6 +135,10 @@ Give information about the disk image @var{filename}. Use it in
particular to know the size reserved on disk which can be different
from the displayed size. If VM snapshots are stored in the disk image,
they are displayed too.
@item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot} ] @var{filename}
List, apply, create or delete snapshots in image @var{filename}.
@end table
@c man end

308
vl.c
View File

@ -3851,14 +3851,18 @@ static int main_loop(void)
static void help(int exitcode)
{
/* Please keep in synch with QEMU_OPTION_ enums, qemu_options[]
and qemu-doc.texi */
printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003-2008 Fabrice Bellard\n"
"usage: %s [options] [disk_image]\n"
"\n"
"'disk_image' is a raw hard image image for IDE hard disk 0\n"
"\n"
"Standard options:\n"
"-h or -help display this help and exit\n"
"-M machine select emulated machine (-M ? for list)\n"
"-cpu cpu select CPU (-cpu ? for list)\n"
"-smp n set the number of CPUs to 'n' [default=1]\n"
"-fda/-fdb file use 'file' as floppy disk 0/1 image\n"
"-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n"
"-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n"
@ -3872,19 +3876,7 @@ static void help(int exitcode)
"-pflash file use 'file' as a parallel flash image\n"
"-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)\n"
"-snapshot write to temporary files instead of disk image files\n"
#ifdef CONFIG_SDL
"-no-frame open SDL window without a frame and window decorations\n"
"-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n"
"-no-quit disable SDL window close capability\n"
"-sdl enable SDL\n"
#endif
#ifdef TARGET_I386
"-no-fd-bootchk disable boot signature checking for floppy disks\n"
#endif
"-m megs set virtual RAM size to megs MB [default=%d]\n"
"-smp n set the number of CPUs to 'n' [default=1]\n"
"-nographic disable graphical output and redirect serial I/Os to console\n"
"-portrait rotate graphical output 90 deg left (only PXA LCD)\n"
#ifndef _WIN32
"-k language use keyboard layout (for example \"fr\" for French)\n"
#endif
@ -3894,22 +3886,32 @@ static void help(int exitcode)
" and only specified sound cards (comma separated list)\n"
" use -soundhw ? to get the list of supported cards\n"
" use -soundhw all to enable all of them\n"
#endif
"-vga [std|cirrus|vmware|none]\n"
" select video card type\n"
"-localtime set the real time clock to local time [default=utc]\n"
"-full-screen start in full screen\n"
#ifdef TARGET_I386
"-win2k-hack use it when installing Windows 2000 to avoid a disk full bug\n"
"-rtc-td-hack use it to fix time drift in Windows ACPI HAL\n"
#endif
"-usb enable the USB driver (will be the default soon)\n"
"-usbdevice name add the host or guest USB device 'name'\n"
"-name string set the name of the guest\n"
"-uuid %%08x-%%04x-%%04x-%%04x-%%012x\n"
" specify machine UUID\n"
"\n"
"Display options:\n"
"-nographic disable graphical output and redirect serial I/Os to console\n"
#ifdef CONFIG_CURSES
"-curses use a curses/ncurses interface instead of SDL\n"
#endif
#ifdef CONFIG_SDL
"-no-frame open SDL window without a frame and window decorations\n"
"-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n"
"-no-quit disable SDL window close capability\n"
"-sdl enable SDL\n"
#endif
"-portrait rotate graphical output 90 deg left (only PXA LCD)\n"
"-vga [std|cirrus|vmware|none]\n"
" select video card type\n"
"-full-screen start in full screen\n"
#if defined(TARGET_PPC) || defined(TARGET_SPARC)
"-g WxH[xDEPTH] Set the initial graphical resolution and depth\n"
#endif
"-name string set the name of the guest\n"
"-uuid %%08x-%%04x-%%04x-%%04x-%%012x specify machine UUID\n"
"-vnc display start a VNC server on display\n"
"\n"
"Network options:\n"
"-net nic[,vlan=n][,macaddr=addr][,model=type][,name=str]\n"
@ -3943,17 +3945,6 @@ static void help(int exitcode)
#endif
"-net none use it alone to have zero network devices; if no -net option\n"
" is provided, the default is '-net nic -net user'\n"
"\n"
"-bt hci,null Dumb bluetooth HCI - doesn't respond to commands\n"
"-bt hci,host[:id]\n"
" Use host's HCI with the given name\n"
"-bt hci[,vlan=n]\n"
" Emulate a standard HCI in virtual scatternet 'n'\n"
"-bt vhci[,vlan=n]\n"
" Add host computer to virtual scatternet 'n' using VHCI\n"
"-bt device:dev[,vlan=n]\n"
" Emulate a bluetooth device 'dev' in scatternet 'n'\n"
"\n"
#ifdef CONFIG_SLIRP
"-tftp dir allow tftp access to files in dir [-net user]\n"
"-bootp file advertise file in BOOTP replies\n"
@ -3964,53 +3955,81 @@ static void help(int exitcode)
" redirect TCP or UDP connections from host to guest [-net user]\n"
#endif
"\n"
"-bt hci,null dumb bluetooth HCI - doesn't respond to commands\n"
"-bt hci,host[:id]\n"
" use host's HCI with the given name\n"
"-bt hci[,vlan=n]\n"
" emulate a standard HCI in virtual scatternet 'n'\n"
"-bt vhci[,vlan=n]\n"
" add host computer to virtual scatternet 'n' using VHCI\n"
"-bt device:dev[,vlan=n]\n"
" emulate a bluetooth device 'dev' in scatternet 'n'\n"
"\n"
#ifdef TARGET_I386
"\n"
"i386 target only:\n"
"-win2k-hack use it when installing Windows 2000 to avoid a disk full bug\n"
"-rtc-td-hack use it to fix time drift in Windows ACPI HAL\n"
"-no-fd-bootchk disable boot signature checking for floppy disks\n"
"-no-acpi disable ACPI\n"
"-no-hpet disable HPET\n"
#endif
"Linux boot specific:\n"
"-kernel bzImage use 'bzImage' as kernel image\n"
"-append cmdline use 'cmdline' as kernel command line\n"
"-initrd file use 'file' as initial ram disk\n"
"\n"
"Debug/Expert options:\n"
"-monitor dev redirect the monitor to char device 'dev'\n"
"-serial dev redirect the serial port to char device 'dev'\n"
"-parallel dev redirect the parallel port to char device 'dev'\n"
"-pidfile file Write PID to 'file'\n"
"-monitor dev redirect the monitor to char device 'dev'\n"
"-pidfile file write PID to 'file'\n"
"-S freeze CPU at startup (use 'c' to start execution)\n"
"-s wait gdb connection to port\n"
"-p port set gdb connection port [default=%s]\n"
"-d item1,... output log to %s (use -d ? for a list of log items)\n"
"-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS\n"
"-hdachs c,h,s[,t]\n"
" force hard disk 0 physical geometry and the optional BIOS\n"
" translation (t=none or lba) (usually qemu can guess them)\n"
"-L path set the directory for the BIOS, VGA BIOS and keymaps\n"
"-bios file set the filename for the BIOS\n"
#ifdef USE_KQEMU
"-kernel-kqemu enable KQEMU full virtualization (default is user mode only)\n"
"-no-kqemu disable KQEMU kernel module usage\n"
#endif
#ifdef CONFIG_KVM
"-enable-kvm enable KVM full virtualization support\n"
#endif
#ifdef TARGET_I386
"-no-acpi disable ACPI\n"
"-no-hpet disable HPET\n"
#endif
#ifdef CONFIG_CURSES
"-curses use a curses/ncurses interface instead of SDL\n"
#endif
"-no-reboot exit instead of rebooting\n"
"-no-shutdown stop before shutdown\n"
"-loadvm [tag|id] start right away with a saved state (loadvm in monitor)\n"
"-vnc display start a VNC server on display\n"
"-loadvm [tag|id]\n"
" start right away with a saved state (loadvm in monitor)\n"
#ifndef _WIN32
"-daemonize daemonize QEMU after initializing\n"
#endif
"-option-rom rom load a file, rom, into the option ROM space\n"
#ifdef TARGET_SPARC
"-prom-env variable=value set OpenBIOS nvram variables\n"
#if defined(TARGET_SPARC) || defined(TARGET_PPC)
"-prom-env variable=value\n"
" set OpenBIOS nvram variables\n"
#endif
"-clock force the use of the given methods for timer alarm.\n"
" To see what timers are available use -clock ?\n"
"-localtime set the real time clock to local time [default=utc]\n"
"-startdate select initial date of the clock\n"
"-icount [N|auto]\n"
" Enable virtual instruction counter with 2^N clock ticks per instruction\n"
" enable virtual instruction counter with 2^N clock ticks per instruction\n"
"-echr chr set terminal escape character instead of ctrl-a\n"
"-virtioconsole c\n"
" set virtio console\n"
"-show-cursor show cursor\n"
#if defined(TARGET_ARM) || defined(TARGET_M68K)
"-semihosting semihosting mode\n"
#endif
#if defined(TARGET_ARM)
"-old-param old param mode\n"
#endif
"-tb-size n set TB size\n"
"-incoming p prepare for incoming migration, listen on port p\n"
"\n"
"During emulation, the following keys are useful:\n"
"ctrl-alt-f toggle full screen\n"
@ -4033,34 +4052,49 @@ static void help(int exitcode)
#define HAS_ARG 0x0001
enum {
/* Please keep in synch with help, qemu_options[] and
qemu-doc.texi */
/* Standard options: */
QEMU_OPTION_h,
QEMU_OPTION_M,
QEMU_OPTION_cpu,
QEMU_OPTION_smp,
QEMU_OPTION_fda,
QEMU_OPTION_fdb,
QEMU_OPTION_hda,
QEMU_OPTION_hdb,
QEMU_OPTION_hdc,
QEMU_OPTION_hdd,
QEMU_OPTION_drive,
QEMU_OPTION_cdrom,
QEMU_OPTION_drive,
QEMU_OPTION_mtdblock,
QEMU_OPTION_sd,
QEMU_OPTION_pflash,
QEMU_OPTION_boot,
QEMU_OPTION_snapshot,
#ifdef TARGET_I386
QEMU_OPTION_no_fd_bootchk,
#endif
QEMU_OPTION_m,
QEMU_OPTION_nographic,
QEMU_OPTION_portrait,
#ifdef HAS_AUDIO
QEMU_OPTION_k,
QEMU_OPTION_audio_help,
QEMU_OPTION_soundhw,
#endif
QEMU_OPTION_usb,
QEMU_OPTION_usbdevice,
QEMU_OPTION_name,
QEMU_OPTION_uuid,
/* Display options: */
QEMU_OPTION_nographic,
QEMU_OPTION_curses,
QEMU_OPTION_no_frame,
QEMU_OPTION_alt_grab,
QEMU_OPTION_no_quit,
QEMU_OPTION_sdl,
QEMU_OPTION_portrait,
QEMU_OPTION_vga,
QEMU_OPTION_full_screen,
QEMU_OPTION_g,
QEMU_OPTION_vnc,
/* Network options: */
QEMU_OPTION_net,
QEMU_OPTION_tftp,
QEMU_OPTION_bootp,
@ -4068,10 +4102,23 @@ enum {
QEMU_OPTION_redir,
QEMU_OPTION_bt,
/* i386 target only: */
QEMU_OPTION_win2k_hack,
QEMU_OPTION_rtc_td_hack,
QEMU_OPTION_no_fd_bootchk,
QEMU_OPTION_no_acpi,
QEMU_OPTION_no_hpet,
/* Linux boot specific: */
QEMU_OPTION_kernel,
QEMU_OPTION_append,
QEMU_OPTION_initrd,
/* Debug/Expert options: */
QEMU_OPTION_serial,
QEMU_OPTION_parallel,
QEMU_OPTION_monitor,
QEMU_OPTION_pidfile,
QEMU_OPTION_S,
QEMU_OPTION_s,
QEMU_OPTION_p,
@ -4079,48 +4126,25 @@ enum {
QEMU_OPTION_hdachs,
QEMU_OPTION_L,
QEMU_OPTION_bios,
QEMU_OPTION_k,
QEMU_OPTION_localtime,
QEMU_OPTION_g,
QEMU_OPTION_vga,
QEMU_OPTION_echr,
QEMU_OPTION_monitor,
QEMU_OPTION_serial,
QEMU_OPTION_virtiocon,
QEMU_OPTION_parallel,
QEMU_OPTION_loadvm,
QEMU_OPTION_full_screen,
QEMU_OPTION_no_frame,
QEMU_OPTION_alt_grab,
QEMU_OPTION_no_quit,
QEMU_OPTION_sdl,
QEMU_OPTION_pidfile,
QEMU_OPTION_no_kqemu,
QEMU_OPTION_kernel_kqemu,
QEMU_OPTION_no_kqemu,
QEMU_OPTION_enable_kvm,
QEMU_OPTION_win2k_hack,
QEMU_OPTION_rtc_td_hack,
QEMU_OPTION_usb,
QEMU_OPTION_usbdevice,
QEMU_OPTION_smp,
QEMU_OPTION_vnc,
QEMU_OPTION_no_acpi,
QEMU_OPTION_no_hpet,
QEMU_OPTION_curses,
QEMU_OPTION_no_reboot,
QEMU_OPTION_no_shutdown,
QEMU_OPTION_show_cursor,
QEMU_OPTION_loadvm,
QEMU_OPTION_daemonize,
QEMU_OPTION_option_rom,
QEMU_OPTION_semihosting,
QEMU_OPTION_name,
QEMU_OPTION_prom_env,
QEMU_OPTION_old_param,
QEMU_OPTION_clock,
QEMU_OPTION_localtime,
QEMU_OPTION_startdate,
QEMU_OPTION_tb_size,
QEMU_OPTION_icount,
QEMU_OPTION_uuid,
QEMU_OPTION_echr,
QEMU_OPTION_virtiocon,
QEMU_OPTION_show_cursor,
QEMU_OPTION_semihosting,
QEMU_OPTION_old_param,
QEMU_OPTION_tb_size,
QEMU_OPTION_incoming,
};
@ -4131,36 +4155,60 @@ typedef struct QEMUOption {
} QEMUOption;
static const QEMUOption qemu_options[] = {
/* Please keep in synch with help, QEMU_OPTION_ enums, and
qemu-doc.texi */
/* Standard options: */
{ "h", 0, QEMU_OPTION_h },
{ "help", 0, QEMU_OPTION_h },
{ "M", HAS_ARG, QEMU_OPTION_M },
{ "cpu", HAS_ARG, QEMU_OPTION_cpu },
{ "smp", HAS_ARG, QEMU_OPTION_smp },
{ "fda", HAS_ARG, QEMU_OPTION_fda },
{ "fdb", HAS_ARG, QEMU_OPTION_fdb },
{ "hda", HAS_ARG, QEMU_OPTION_hda },
{ "hdb", HAS_ARG, QEMU_OPTION_hdb },
{ "hdc", HAS_ARG, QEMU_OPTION_hdc },
{ "hdd", HAS_ARG, QEMU_OPTION_hdd },
{ "drive", HAS_ARG, QEMU_OPTION_drive },
{ "cdrom", HAS_ARG, QEMU_OPTION_cdrom },
{ "drive", HAS_ARG, QEMU_OPTION_drive },
{ "mtdblock", HAS_ARG, QEMU_OPTION_mtdblock },
{ "sd", HAS_ARG, QEMU_OPTION_sd },
{ "pflash", HAS_ARG, QEMU_OPTION_pflash },
{ "boot", HAS_ARG, QEMU_OPTION_boot },
{ "snapshot", 0, QEMU_OPTION_snapshot },
#ifdef TARGET_I386
{ "no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk },
#endif
{ "m", HAS_ARG, QEMU_OPTION_m },
{ "nographic", 0, QEMU_OPTION_nographic },
{ "portrait", 0, QEMU_OPTION_portrait },
#ifndef _WIN32
{ "k", HAS_ARG, QEMU_OPTION_k },
#endif
#ifdef HAS_AUDIO
{ "audio-help", 0, QEMU_OPTION_audio_help },
{ "soundhw", HAS_ARG, QEMU_OPTION_soundhw },
#endif
{ "usb", 0, QEMU_OPTION_usb },
{ "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
{ "name", HAS_ARG, QEMU_OPTION_name },
{ "uuid", HAS_ARG, QEMU_OPTION_uuid },
/* Display options: */
{ "nographic", 0, QEMU_OPTION_nographic },
#ifdef CONFIG_CURSES
{ "curses", 0, QEMU_OPTION_curses },
#endif
#ifdef CONFIG_SDL
{ "no-frame", 0, QEMU_OPTION_no_frame },
{ "alt-grab", 0, QEMU_OPTION_alt_grab },
{ "no-quit", 0, QEMU_OPTION_no_quit },
{ "sdl", 0, QEMU_OPTION_sdl },
#endif
{ "portrait", 0, QEMU_OPTION_portrait },
{ "vga", HAS_ARG, QEMU_OPTION_vga },
{ "full-screen", 0, QEMU_OPTION_full_screen },
#if defined(TARGET_PPC) || defined(TARGET_SPARC)
{ "g", 1, QEMU_OPTION_g },
#endif
{ "vnc", HAS_ARG, QEMU_OPTION_vnc },
/* Network options: */
{ "net", HAS_ARG, QEMU_OPTION_net},
#ifdef CONFIG_SLIRP
{ "tftp", HAS_ARG, QEMU_OPTION_tftp },
@ -4171,11 +4219,25 @@ static const QEMUOption qemu_options[] = {
{ "redir", HAS_ARG, QEMU_OPTION_redir },
#endif
{ "bt", HAS_ARG, QEMU_OPTION_bt },
#ifdef TARGET_I386
/* i386 target only: */
{ "win2k-hack", 0, QEMU_OPTION_win2k_hack },
{ "rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack },
{ "no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk },
{ "no-acpi", 0, QEMU_OPTION_no_acpi },
{ "no-hpet", 0, QEMU_OPTION_no_hpet },
#endif
/* Linux boot specific: */
{ "kernel", HAS_ARG, QEMU_OPTION_kernel },
{ "append", HAS_ARG, QEMU_OPTION_append },
{ "initrd", HAS_ARG, QEMU_OPTION_initrd },
/* Debug/Expert options: */
{ "serial", HAS_ARG, QEMU_OPTION_serial },
{ "parallel", HAS_ARG, QEMU_OPTION_parallel },
{ "monitor", HAS_ARG, QEMU_OPTION_monitor },
{ "pidfile", HAS_ARG, QEMU_OPTION_pidfile },
{ "S", 0, QEMU_OPTION_S },
{ "s", 0, QEMU_OPTION_s },
{ "p", HAS_ARG, QEMU_OPTION_p },
@ -4184,64 +4246,34 @@ static const QEMUOption qemu_options[] = {
{ "L", HAS_ARG, QEMU_OPTION_L },
{ "bios", HAS_ARG, QEMU_OPTION_bios },
#ifdef USE_KQEMU
{ "no-kqemu", 0, QEMU_OPTION_no_kqemu },
{ "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu },
{ "no-kqemu", 0, QEMU_OPTION_no_kqemu },
#endif
#ifdef CONFIG_KVM
{ "enable-kvm", 0, QEMU_OPTION_enable_kvm },
#endif
#if defined(TARGET_PPC) || defined(TARGET_SPARC)
{ "g", 1, QEMU_OPTION_g },
#endif
{ "localtime", 0, QEMU_OPTION_localtime },
{ "vga", HAS_ARG, QEMU_OPTION_vga },
{ "echr", HAS_ARG, QEMU_OPTION_echr },
{ "monitor", HAS_ARG, QEMU_OPTION_monitor },
{ "serial", HAS_ARG, QEMU_OPTION_serial },
{ "virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon },
{ "parallel", HAS_ARG, QEMU_OPTION_parallel },
{ "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
{ "full-screen", 0, QEMU_OPTION_full_screen },
#ifdef CONFIG_SDL
{ "no-frame", 0, QEMU_OPTION_no_frame },
{ "alt-grab", 0, QEMU_OPTION_alt_grab },
{ "no-quit", 0, QEMU_OPTION_no_quit },
{ "sdl", 0, QEMU_OPTION_sdl },
#endif
{ "pidfile", HAS_ARG, QEMU_OPTION_pidfile },
{ "win2k-hack", 0, QEMU_OPTION_win2k_hack },
{ "rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack },
{ "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
{ "smp", HAS_ARG, QEMU_OPTION_smp },
{ "vnc", HAS_ARG, QEMU_OPTION_vnc },
#ifdef CONFIG_CURSES
{ "curses", 0, QEMU_OPTION_curses },
#endif
{ "uuid", HAS_ARG, QEMU_OPTION_uuid },
/* temporary options */
{ "usb", 0, QEMU_OPTION_usb },
{ "no-acpi", 0, QEMU_OPTION_no_acpi },
{ "no-hpet", 0, QEMU_OPTION_no_hpet },
{ "no-reboot", 0, QEMU_OPTION_no_reboot },
{ "no-shutdown", 0, QEMU_OPTION_no_shutdown },
{ "show-cursor", 0, QEMU_OPTION_show_cursor },
{ "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
{ "daemonize", 0, QEMU_OPTION_daemonize },
{ "option-rom", HAS_ARG, QEMU_OPTION_option_rom },
#if defined(TARGET_ARM) || defined(TARGET_M68K)
{ "semihosting", 0, QEMU_OPTION_semihosting },
#endif
{ "name", HAS_ARG, QEMU_OPTION_name },
#if defined(TARGET_SPARC) || defined(TARGET_PPC)
{ "prom-env", HAS_ARG, QEMU_OPTION_prom_env },
#endif
{ "clock", HAS_ARG, QEMU_OPTION_clock },
{ "localtime", 0, QEMU_OPTION_localtime },
{ "startdate", HAS_ARG, QEMU_OPTION_startdate },
{ "icount", HAS_ARG, QEMU_OPTION_icount },
{ "echr", HAS_ARG, QEMU_OPTION_echr },
{ "virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon },
{ "show-cursor", 0, QEMU_OPTION_show_cursor },
#if defined(TARGET_ARM) || defined(TARGET_M68K)
{ "semihosting", 0, QEMU_OPTION_semihosting },
#endif
#if defined(TARGET_ARM)
{ "old-param", 0, QEMU_OPTION_old_param },
#endif
{ "clock", HAS_ARG, QEMU_OPTION_clock },
{ "startdate", HAS_ARG, QEMU_OPTION_startdate },
{ "tb-size", HAS_ARG, QEMU_OPTION_tb_size },
{ "icount", HAS_ARG, QEMU_OPTION_icount },
{ "incoming", HAS_ARG, QEMU_OPTION_incoming },
{ NULL },
};