Commit d2c639d6dc334a7de7c5b64caa6fc231d80084c5

Authored by blueswir1
1 parent 0ec3ff52

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
monitor.c
... ... @@ -1429,6 +1429,7 @@ static void do_info_balloon(void)
1429 1429 term_printf("balloon: actual=%d\n", (int)(actual >> 20));
1430 1430 }
1431 1431  
  1432 +/* Please update qemu-doc.texi when adding or changing commands */
1432 1433 static const term_cmd_t term_cmds[] = {
1433 1434 { "help|?", "s?", do_help,
1434 1435 "[cmd]", "show the help" },
... ... @@ -1496,8 +1497,8 @@ static const term_cmd_t term_cmds[] = {
1496 1497 "path [frequency bits channels]",
1497 1498 "capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
1498 1499 #endif
1499   - { "stopcapture", "i", do_stop_capture,
1500   - "capture index", "stop capture" },
  1500 + { "stopcapture", "i", do_stop_capture,
  1501 + "capture index", "stop capture" },
1501 1502 { "memsave", "lis", do_memory_save,
1502 1503 "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
1503 1504 { "pmemsave", "lis", do_physical_memory_save,
... ... @@ -1520,9 +1521,10 @@ static const term_cmd_t term_cmds[] = {
1520 1521 { NULL, NULL, },
1521 1522 };
1522 1523  
  1524 +/* Please update qemu-doc.texi when adding or changing commands */
1523 1525 static const term_cmd_t info_cmds[] = {
1524 1526 { "version", "", do_info_version,
1525   - "", "show the version of qemu" },
  1527 + "", "show the version of QEMU" },
1526 1528 { "network", "", do_info_network,
1527 1529 "", "show the network state" },
1528 1530 { "chardev", "", qemu_chr_info,
... ... @@ -1554,9 +1556,9 @@ static const term_cmd_t info_cmds[] = {
1554 1556 { "jit", "", do_info_jit,
1555 1557 "", "show dynamic compiler info", },
1556 1558 { "kqemu", "", do_info_kqemu,
1557   - "", "show kqemu information", },
  1559 + "", "show KQEMU information", },
1558 1560 { "kvm", "", do_info_kvm,
1559   - "", "show kvm information", },
  1561 + "", "show KVM information", },
1560 1562 { "usb", "", usb_info,
1561 1563 "", "show guest USB devices", },
1562 1564 { "usbhost", "", usb_host_info,
... ...
qemu-doc.texi
... ... @@ -221,13 +221,25 @@ usage: qemu [options] [@var{disk_image}]
221 221 @end example
222 222  
223 223 @c man begin OPTIONS
224   -@var{disk_image} is a raw hard disk image for IDE hard disk 0.
  224 +@var{disk_image} is a raw hard disk image for IDE hard disk 0. Some
  225 +targets do not need a disk image.
225 226  
226 227 General options:
227 228 @table @option
  229 +@item -h
  230 +Display help and exit
  231 +
228 232 @item -M @var{machine}
229 233 Select the emulated @var{machine} (@code{-M ?} for list)
230 234  
  235 +@item -cpu @var{model}
  236 +Select CPU model (-cpu ? for list and additional feature selection)
  237 +
  238 +@item -smp @var{n}
  239 +Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
  240 +CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
  241 +to 4.
  242 +
231 243 @item -fda @var{file}
232 244 @item -fdb @var{file}
233 245 Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
... ... @@ -344,6 +356,15 @@ is interpreted like:
344 356 qemu -hda a -hdb b
345 357 @end example
346 358  
  359 +@item -mtdblock file
  360 +Use 'file' as on-board Flash memory image.
  361 +
  362 +@item -sd file
  363 +Use 'file' as SecureDigital card image.
  364 +
  365 +@item -pflash file
  366 +Use 'file' as a parallel flash image.
  367 +
347 368 @item -boot [a|c|d|n]
348 369 Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot
349 370 is the default.
... ... @@ -353,22 +374,27 @@ Write to temporary files instead of disk image files. In this case,
353 374 the raw disk image you use is not written back. You can however force
354 375 the write back by pressing @key{C-a s} (@pxref{disk_images}).
355 376  
356   -@item -no-fd-bootchk
357   -Disable boot signature checking for floppy disks in Bochs BIOS. It may
358   -be needed to boot from old floppy disks.
359   -
360 377 @item -m @var{megs}
361 378 Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
362 379 a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
363 380 gigabytes respectively.
364 381  
365   -@item -cpu @var{model}
366   -Select CPU model (-cpu ? for list and additional feature selection)
  382 +@item -k @var{language}
367 383  
368   -@item -smp @var{n}
369   -Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
370   -CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs
371   -to 4.
  384 +Use keyboard layout @var{language} (for example @code{fr} for
  385 +French). This option is only needed where it is not easy to get raw PC
  386 +keycodes (e.g. on Macs, with some X11 servers or with a VNC
  387 +display). You don't normally need to use it on PC/Linux or PC/Windows
  388 +hosts.
  389 +
  390 +The available layouts are:
  391 +@example
  392 +ar de-ch es fo fr-ca hu ja mk no pt-br sv
  393 +da en-gb et fr fr-ch is lt nl pl ru th
  394 +de en-us fi fr-be hr it lv nl-be pt sl tr
  395 +@end example
  396 +
  397 +The default is @code{en-us}.
372 398  
373 399 @item -audio-help
374 400  
... ... @@ -395,45 +421,59 @@ require manually specifying clocking.
395 421 modprobe i810_audio clocking=48000
396 422 @end example
397 423  
398   -@item -localtime
399   -Set the real time clock to local time (the default is to UTC
400   -time). This option is needed to have correct date in MS-DOS or
401   -Windows.
  424 +@end table
402 425  
403   -@item -startdate @var{date}
404   -Set the initial date of the real time clock. Valid formats for
405   -@var{date} are: @code{now} or @code{2006-06-17T16:01:21} or
406   -@code{2006-06-17}. The default value is @code{now}.
  426 +USB options:
  427 +@table @option
407 428  
408   -@item -pidfile @var{file}
409   -Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
410   -from a script.
  429 +@item -usb
  430 +Enable the USB driver (will be the default soon)
411 431  
412   -@item -daemonize
413   -Daemonize the QEMU process after initialization. QEMU will not detach from
414   -standard IO until it is ready to receive connections on any of its devices.
415   -This option is a useful way for external programs to launch QEMU without having
416   -to cope with initialization race conditions.
  432 +@item -usbdevice @var{devname}
  433 +Add the USB device @var{devname}. @xref{usb_devices}.
417 434  
418   -@item -win2k-hack
419   -Use it when installing Windows 2000 to avoid a disk full bug. After
420   -Windows 2000 is installed, you no longer need this option (this option
421   -slows down the IDE transfers).
  435 +@table @code
422 436  
423   -@item -rtc-td-hack
424   -Use it if you experience time drift problem in Windows with ACPI HAL.
425   -This option will try to figure out how many timer interrupts were not
426   -processed by the Windows guest and will re-inject them.
  437 +@item mouse
  438 +Virtual Mouse. This will override the PS/2 mouse emulation when activated.
427 439  
428   -@item -option-rom @var{file}
429   -Load the contents of @var{file} as an option ROM.
430   -This option is useful to load things like EtherBoot.
  440 +@item tablet
  441 +Pointer device that uses absolute coordinates (like a touchscreen). This
  442 +means qemu is able to report the mouse position without having to grab the
  443 +mouse. Also overrides the PS/2 mouse emulation when activated.
  444 +
  445 +@item disk:[format=@var{format}]:file
  446 +Mass storage device based on file. The optional @var{format} argument
  447 +will be used rather than detecting the format. Can be used to specifiy
  448 +format=raw to avoid interpreting an untrusted format header.
  449 +
  450 +@item host:bus.addr
  451 +Pass through the host device identified by bus.addr (Linux only).
  452 +
  453 +@item host:vendor_id:product_id
  454 +Pass through the host device identified by vendor_id:product_id (Linux only).
  455 +
  456 +@item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
  457 +Serial converter to host character device @var{dev}, see @code{-serial} for the
  458 +available devices.
  459 +
  460 +@item braille
  461 +Braille device. This will use BrlAPI to display the braille output on a real
  462 +or fake device.
  463 +
  464 +@item net:options
  465 +Network adapter that supports CDC ethernet and RNDIS protocols.
  466 +
  467 +@end table
431 468  
432 469 @item -name @var{name}
433 470 Sets the @var{name} of the guest.
434 471 This name will be displayed in the SDL window caption.
435 472 The @var{name} will also be used for the VNC server.
436 473  
  474 +@item -uuid @var{uuid}
  475 +Set system UUID.
  476 +
437 477 @end table
438 478  
439 479 Display options:
... ... @@ -459,10 +499,43 @@ Do not use decorations for SDL windows and start them using the whole
459 499 available screen space. This makes the using QEMU in a dedicated desktop
460 500 workspace more convenient.
461 501  
  502 +@item -alt-grab
  503 +
  504 +Use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt).
  505 +
462 506 @item -no-quit
463 507  
464 508 Disable SDL window close capability.
465 509  
  510 +@item -sdl
  511 +
  512 +Enable SDL.
  513 +
  514 +@item -portrait
  515 +
  516 +Rotate graphical output 90 deg left (only PXA LCD).
  517 +
  518 +@item -vga @var{type}
  519 +Select type of VGA card to emulate. Valid values for @var{type} are
  520 +@table @code
  521 +@item cirrus
  522 +Cirrus Logic GD5446 Video card. All Windows versions starting from
  523 +Windows 95 should recognize and use this graphic card. For optimal
  524 +performances, use 16 bit color depth in the guest and the host OS.
  525 +(This one is the default)
  526 +@item std
  527 +Standard VGA card with Bochs VBE extensions. If your guest OS
  528 +supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
  529 +to use high resolution modes (>= 1280x1024x16) then you should use
  530 +this option.
  531 +@item vmware
  532 +VMWare SVGA-II compatible adapter. Use it if you have sufficiently
  533 +recent XFree86/XOrg server or Windows guest with a driver for this
  534 +card.
  535 +@item none
  536 +Disable VGA card.
  537 +@end table
  538 +
466 539 @item -full-screen
467 540 Start in full screen.
468 541  
... ... @@ -545,68 +618,6 @@ certificates.
545 618  
546 619 @end table
547 620  
548   -@item -k @var{language}
549   -
550   -Use keyboard layout @var{language} (for example @code{fr} for
551   -French). This option is only needed where it is not easy to get raw PC
552   -keycodes (e.g. on Macs, with some X11 servers or with a VNC
553   -display). You don't normally need to use it on PC/Linux or PC/Windows
554   -hosts.
555   -
556   -The available layouts are:
557   -@example
558   -ar de-ch es fo fr-ca hu ja mk no pt-br sv
559   -da en-gb et fr fr-ch is lt nl pl ru th
560   -de en-us fi fr-be hr it lv nl-be pt sl tr
561   -@end example
562   -
563   -The default is @code{en-us}.
564   -
565   -@end table
566   -
567   -USB options:
568   -@table @option
569   -
570   -@item -usb
571   -Enable the USB driver (will be the default soon)
572   -
573   -@item -usbdevice @var{devname}
574   -Add the USB device @var{devname}. @xref{usb_devices}.
575   -
576   -@table @code
577   -
578   -@item mouse
579   -Virtual Mouse. This will override the PS/2 mouse emulation when activated.
580   -
581   -@item tablet
582   -Pointer device that uses absolute coordinates (like a touchscreen). This
583   -means qemu is able to report the mouse position without having to grab the
584   -mouse. Also overrides the PS/2 mouse emulation when activated.
585   -
586   -@item disk:[format=@var{format}]:file
587   -Mass storage device based on file. The optional @var{format} argument
588   -will be used rather than detecting the format. Can be used to specifiy
589   -format=raw to avoid interpreting an untrusted format header.
590   -
591   -@item host:bus.addr
592   -Pass through the host device identified by bus.addr (Linux only).
593   -
594   -@item host:vendor_id:product_id
595   -Pass through the host device identified by vendor_id:product_id (Linux only).
596   -
597   -@item serial:[vendorid=@var{vendor_id}][,productid=@var{product_id}]:@var{dev}
598   -Serial converter to host character device @var{dev}, see @code{-serial} for the
599   -available devices.
600   -
601   -@item braille
602   -Braille device. This will use BrlAPI to display the braille output on a real
603   -or fake device.
604   -
605   -@item net:options
606   -Network adapter that supports CDC ethernet and RNDIS protocols.
607   -
608   -@end table
609   -
610 621 @end table
611 622  
612 623 Network options:
... ... @@ -856,6 +867,34 @@ Virtual wireless keyboard implementing the HIDP bluetooth profile.
856 867  
857 868 @end table
858 869  
  870 +i386 target only:
  871 +
  872 +@table @option
  873 +
  874 +@item -win2k-hack
  875 +Use it when installing Windows 2000 to avoid a disk full bug. After
  876 +Windows 2000 is installed, you no longer need this option (this option
  877 +slows down the IDE transfers).
  878 +
  879 +@item -rtc-td-hack
  880 +Use it if you experience time drift problem in Windows with ACPI HAL.
  881 +This option will try to figure out how many timer interrupts were not
  882 +processed by the Windows guest and will re-inject them.
  883 +
  884 +@item -no-fd-bootchk
  885 +Disable boot signature checking for floppy disks in Bochs BIOS. It may
  886 +be needed to boot from old floppy disks.
  887 +
  888 +@item -no-acpi
  889 +Disable ACPI (Advanced Configuration and Power Interface) support. Use
  890 +it if your guest OS complains about ACPI problems (PC target machine
  891 +only).
  892 +
  893 +@item -no-hpet
  894 +Disable HPET support.
  895 +
  896 +@end table
  897 +
859 898 Linux boot specific: When using these options, you can use a given
860 899 Linux kernel without installing it in the disk image. It can be useful
861 900 for easier testing of various kernels.
... ... @@ -881,7 +920,7 @@ Redirect the virtual serial port to host character device
881 920 @var{dev}. The default device is @code{vc} in graphical mode and
882 921 @code{stdio} in non graphical mode.
883 922  
884   -This option can be used several times to simulate up to 4 serials
  923 +This option can be used several times to simulate up to 4 serial
885 924 ports.
886 925  
887 926 Use @code{-serial none} to disable all serial ports.
... ... @@ -1015,26 +1054,20 @@ serial port).
1015 1054 The default device is @code{vc} in graphical mode and @code{stdio} in
1016 1055 non graphical mode.
1017 1056  
1018   -@item -echr numeric_ascii_value
1019   -Change the escape character used for switching to the monitor when using
1020   -monitor and serial sharing. The default is @code{0x01} when using the
1021   -@code{-nographic} option. @code{0x01} is equal to pressing
1022   -@code{Control-a}. You can select a different character from the ascii
1023   -control keys where 1 through 26 map to Control-a through Control-z. For
1024   -instance you could use the either of the following to change the escape
1025   -character to Control-t.
1026   -@table @code
1027   -@item -echr 0x14
1028   -@item -echr 20
1029   -@end table
  1057 +@item -pidfile @var{file}
  1058 +Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
  1059 +from a script.
  1060 +
  1061 +@item -S
  1062 +Do not start CPU at startup (you must type 'c' in the monitor).
1030 1063  
1031 1064 @item -s
1032 1065 Wait gdb connection to port 1234 (@pxref{gdb_usage}).
  1066 +
1033 1067 @item -p @var{port}
1034 1068 Change gdb connection port. @var{port} can be either a decimal number
1035 1069 to specify a TCP port, or a host device (same devices as the serial port).
1036   -@item -S
1037   -Do not start CPU at startup (you must type 'c' in the monitor).
  1070 +
1038 1071 @item -d
1039 1072 Output log in /tmp/qemu.log
1040 1073 @item -hdachs @var{c},@var{h},@var{s},[,@var{t}]
... ... @@ -1044,32 +1077,22 @@ translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
1044 1077 all those parameters. This option is useful for old MS-DOS disk
1045 1078 images.
1046 1079  
1047   -@item -L path
  1080 +@item -L @var{path}
1048 1081 Set the directory for the BIOS, VGA BIOS and keymaps.
1049 1082  
1050   -@item -vga @var{type}
1051   -Select type of VGA card to emulate. Valid values for @var{type} are
1052   -@table @code
1053   -@item cirrus
1054   -Cirrus Logic GD5446 Video card. All Windows versions starting from
1055   -Windows 95 should recognize and use this graphic card. For optimal
1056   -performances, use 16 bit color depth in the guest and the host OS.
1057   -(This one is the default)
1058   -@item std
1059   -Standard VGA card with Bochs VBE extensions. If your guest OS
1060   -supports the VESA 2.0 VBE extensions (e.g. Windows XP) and if you want
1061   -to use high resolution modes (>= 1280x1024x16) then you should use
1062   -this option.
1063   -@item vmware
1064   -VMWare SVGA-II compatible adapter. Use it if you have sufficiently
1065   -recent XFree86/XOrg server or Windows guest with a driver for this
1066   -card.
1067   -@end table
  1083 +@item -bios @var{file}
  1084 +Set the filename for the BIOS.
1068 1085  
1069   -@item -no-acpi
1070   -Disable ACPI (Advanced Configuration and Power Interface) support. Use
1071   -it if your guest OS complains about ACPI problems (PC target machine
1072   -only).
  1086 +@item -kernel-kqemu
  1087 +Enable KQEMU full virtualization (default is user mode only).
  1088 +
  1089 +@item -no-kqemu
  1090 +Disable KQEMU kernel module usage. KQEMU options are only available if
  1091 +KQEMU support is enabled when compiling.
  1092 +
  1093 +@item -enable-kvm
  1094 +Enable KVM full virtualization support. This option is only available
  1095 +if KVM support is enabled when compiling.
1073 1096  
1074 1097 @item -no-reboot
1075 1098 Exit instead of rebooting.
... ... @@ -1079,17 +1102,32 @@ Don't exit QEMU on guest shutdown, but instead only stop the emulation.
1079 1102 This allows for instance switching to monitor to commit changes to the
1080 1103 disk image.
1081 1104  
1082   -@item -loadvm file
  1105 +@item -loadvm @var{file}
1083 1106 Start right away with a saved state (@code{loadvm} in monitor)
1084 1107  
1085   -@item -semihosting
1086   -Enable semihosting syscall emulation (ARM and M68K target machines only).
  1108 +@item -daemonize
  1109 +Daemonize the QEMU process after initialization. QEMU will not detach from
  1110 +standard IO until it is ready to receive connections on any of its devices.
  1111 +This option is a useful way for external programs to launch QEMU without having
  1112 +to cope with initialization race conditions.
1087 1113  
1088   -On ARM this implements the "Angel" interface.
1089   -On M68K this implements the "ColdFire GDB" interface used by libgloss.
  1114 +@item -option-rom @var{file}
  1115 +Load the contents of @var{file} as an option ROM.
  1116 +This option is useful to load things like EtherBoot.
1090 1117  
1091   -Note that this allows guest direct access to the host filesystem,
1092   -so should only be used with trusted guest OS.
  1118 +@item -clock @var{method}
  1119 +Force the use of the given methods for timer alarm. To see what timers
  1120 +are available use -clock ?.
  1121 +
  1122 +@item -localtime
  1123 +Set the real time clock to local time (the default is to UTC
  1124 +time). This option is needed to have correct date in MS-DOS or
  1125 +Windows.
  1126 +
  1127 +@item -startdate @var{date}
  1128 +Set the initial date of the real time clock. Valid formats for
  1129 +@var{date} are: @code{now} or @code{2006-06-17T16:01:21} or
  1130 +@code{2006-06-17}. The default value is @code{now}.
1093 1131  
1094 1132 @item -icount [N|auto]
1095 1133 Enable virtual instruction counter. The virtual cpu will execute one
... ... @@ -1101,6 +1139,20 @@ Note that while this option can give deterministic behavior, it does not
1101 1139 provide cycle accurate emulation. Modern CPUs contain superscalar out of
1102 1140 order cores with complex cache hierarchies. The number of instructions
1103 1141 executed often has little or no correlation with actual performance.
  1142 +
  1143 +@item -echr numeric_ascii_value
  1144 +Change the escape character used for switching to the monitor when using
  1145 +monitor and serial sharing. The default is @code{0x01} when using the
  1146 +@code{-nographic} option. @code{0x01} is equal to pressing
  1147 +@code{Control-a}. You can select a different character from the ascii
  1148 +control keys where 1 through 26 map to Control-a through Control-z. For
  1149 +instance you could use the either of the following to change the escape
  1150 +character to Control-t.
  1151 +@table @code
  1152 +@item -echr 0x14
  1153 +@item -echr 20
  1154 +@end table
  1155 +
1104 1156 @end table
1105 1157  
1106 1158 @c man end
... ... @@ -1138,13 +1190,14 @@ During emulation, if you are using the @option{-nographic} option, use
1138 1190  
1139 1191 @table @key
1140 1192 @item Ctrl-a h
  1193 +@item Ctrl-a ?
1141 1194 Print this help
1142 1195 @item Ctrl-a x
1143 1196 Exit emulator
1144 1197 @item Ctrl-a s
1145 1198 Save disk data back to file (if -snapshot)
1146 1199 @item Ctrl-a t
1147   -toggle console timestamps
  1200 +Toggle console timestamps
1148 1201 @item Ctrl-a b
1149 1202 Send break (magic sysrq in Linux)
1150 1203 @item Ctrl-a c
... ... @@ -1203,26 +1256,68 @@ Commit changes to the disk images (if -snapshot is used).
1203 1256 Show various information about the system state.
1204 1257  
1205 1258 @table @option
  1259 +@item info version
  1260 +show the version of QEMU
1206 1261 @item info network
1207 1262 show the various VLANs and the associated devices
  1263 +@item info chardev
  1264 +show the character devices
1208 1265 @item info block
1209 1266 show the block devices
  1267 +@item info block
  1268 +show block device statistics
1210 1269 @item info registers
1211 1270 show the cpu registers
  1271 +@item info cpus
  1272 +show infos for each CPU
1212 1273 @item info history
1213 1274 show the command line history
  1275 +@item info irq
  1276 +show the interrupts statistics (if available)
  1277 +@item info pic
  1278 +show i8259 (PIC) state
1214 1279 @item info pci
1215   -show emulated PCI device
  1280 +show emulated PCI device info
  1281 +@item info tlb
  1282 +show virtual to physical memory mappings (i386 only)
  1283 +@item info mem
  1284 +show the active virtual memory mappings (i386 only)
  1285 +@item info hpet
  1286 +show state of HPET (i386 only)
  1287 +@item info kqemu
  1288 +show KQEMU information
  1289 +@item info kvm
  1290 +show KVM information
1216 1291 @item info usb
1217 1292 show USB devices plugged on the virtual USB hub
1218 1293 @item info usbhost
1219 1294 show all USB host devices
  1295 +@item info profile
  1296 +show profiling information
1220 1297 @item info capture
1221 1298 show information about active capturing
1222 1299 @item info snapshots
1223 1300 show list of VM snapshots
  1301 +@item info status
  1302 +show the current VM status (running|paused)
  1303 +@item info pcmcia
  1304 +show guest PCMCIA status
1224 1305 @item info mice
1225 1306 show which guest mouse is receiving events
  1307 +@item info vnc
  1308 +show the vnc server status
  1309 +@item info name
  1310 +show the current VM name
  1311 +@item info uuid
  1312 +show the current VM UUID
  1313 +@item info cpustats
  1314 +show CPU statistics
  1315 +@item info slirp
  1316 +show SLIRP statistics (if available)
  1317 +@item info migrate
  1318 +show migration status
  1319 +@item info balloon
  1320 +show balloon information
1226 1321 @end table
1227 1322  
1228 1323 @item q or quit
... ... @@ -1236,13 +1331,15 @@ Eject a removable medium (use -f to force it).
1236 1331 Change the configuration of a device.
1237 1332  
1238 1333 @table @option
1239   -@item change @var{diskdevice} @var{filename}
  1334 +@item change @var{diskdevice} @var{filename} [@var{format}]
1240 1335 Change the medium for a removable disk device to point to @var{filename}. eg
1241 1336  
1242 1337 @example
1243 1338 (qemu) change ide1-cd0 /path/to/some.iso
1244 1339 @end example
1245 1340  
  1341 +@var{format} is optional.
  1342 +
1246 1343 @item change vnc @var{display},@var{options}
1247 1344 Change the configuration of the VNC server. The valid syntax for @var{display}
1248 1345 and @var{options} are described at @ref{sec_invocation}. eg
... ... @@ -1267,36 +1364,8 @@ Password: ********
1267 1364 @item screendump @var{filename}
1268 1365 Save screen into PPM image @var{filename}.
1269 1366  
1270   -@item mouse_move @var{dx} @var{dy} [@var{dz}]
1271   -Move the active mouse to the specified coordinates @var{dx} @var{dy}
1272   -with optional scroll axis @var{dz}.
1273   -
1274   -@item mouse_button @var{val}
1275   -Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
1276   -
1277   -@item mouse_set @var{index}
1278   -Set which mouse device receives events at given @var{index}, index
1279   -can be obtained with
1280   -@example
1281   -info mice
1282   -@end example
1283   -
1284   -@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
1285   -Capture audio into @var{filename}. Using sample rate @var{frequency}
1286   -bits per sample @var{bits} and number of channels @var{channels}.
1287   -
1288   -Defaults:
1289   -@itemize @minus
1290   -@item Sample rate = 44100 Hz - CD quality
1291   -@item Bits = 16
1292   -@item Number of channels = 2 - Stereo
1293   -@end itemize
1294   -
1295   -@item stopcapture @var{index}
1296   -Stop capture with a given @var{index}, index can be obtained with
1297   -@example
1298   -info capture
1299   -@end example
  1367 +@item logfile @var{filename}
  1368 +Output logs to @var{filename}.
1300 1369  
1301 1370 @item log @var{item1}[,...]
1302 1371 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.
1403 1472  
1404 1473 Reset the system.
1405 1474  
1406   -@item boot_set @var{bootdevicelist}
  1475 +@item system_powerdown
1407 1476  
1408   -Define new values for the boot device list. Those values will override
1409   -the values specified on the command line through the @code{-boot} option.
  1477 +Power down the system (if supported).
1410 1478  
1411   -The values that can be specified here depend on the machine type, but are
1412   -the same that can be specified in the @code{-boot} command line option.
  1479 +@item sum @var{addr} @var{size}
  1480 +
  1481 +Compute the checksum of a memory region.
1413 1482  
1414 1483 @item usb_add @var{devname}
1415 1484  
... ... @@ -1422,6 +1491,69 @@ Remove the USB device @var{devname} from the QEMU virtual USB
1422 1491 hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
1423 1492 command @code{info usb} to see the devices you can remove.
1424 1493  
  1494 +@item mouse_move @var{dx} @var{dy} [@var{dz}]
  1495 +Move the active mouse to the specified coordinates @var{dx} @var{dy}
  1496 +with optional scroll axis @var{dz}.
  1497 +
  1498 +@item mouse_button @var{val}
  1499 +Change the active mouse button state @var{val} (1=L, 2=M, 4=R).
  1500 +
  1501 +@item mouse_set @var{index}
  1502 +Set which mouse device receives events at given @var{index}, index
  1503 +can be obtained with
  1504 +@example
  1505 +info mice
  1506 +@end example
  1507 +
  1508 +@item wavcapture @var{filename} [@var{frequency} [@var{bits} [@var{channels}]]]
  1509 +Capture audio into @var{filename}. Using sample rate @var{frequency}
  1510 +bits per sample @var{bits} and number of channels @var{channels}.
  1511 +
  1512 +Defaults:
  1513 +@itemize @minus
  1514 +@item Sample rate = 44100 Hz - CD quality
  1515 +@item Bits = 16
  1516 +@item Number of channels = 2 - Stereo
  1517 +@end itemize
  1518 +
  1519 +@item stopcapture @var{index}
  1520 +Stop capture with a given @var{index}, index can be obtained with
  1521 +@example
  1522 +info capture
  1523 +@end example
  1524 +
  1525 +@item memsave @var{addr} @var{size} @var{file}
  1526 +save to disk virtual memory dump starting at @var{addr} of size @var{size}.
  1527 +
  1528 +@item pmemsave @var{addr} @var{size} @var{file}
  1529 +save to disk physical memory dump starting at @var{addr} of size @var{size}.
  1530 +
  1531 +@item boot_set @var{bootdevicelist}
  1532 +
  1533 +Define new values for the boot device list. Those values will override
  1534 +the values specified on the command line through the @code{-boot} option.
  1535 +
  1536 +The values that can be specified here depend on the machine type, but are
  1537 +the same that can be specified in the @code{-boot} command line option.
  1538 +
  1539 +@item nmi @var{cpu}
  1540 +Inject an NMI on the given CPU.
  1541 +
  1542 +@item migrate [-d] @var{uri}
  1543 +Migrate to @var{uri} (using -d to not wait for completion).
  1544 +
  1545 +@item migrate_cancel
  1546 +Cancel the current VM migration.
  1547 +
  1548 +@item migrate_set_speed @var{value}
  1549 +Set maximum speed to @var{value} (in bytes) for migrations.
  1550 +
  1551 +@item balloon @var{value}
  1552 +Request VM to change its memory allocation to @var{value} (in MB).
  1553 +
  1554 +@item set_link @var{name} [up|down]
  1555 +Set link @var{name} up or down.
  1556 +
1425 1557 @end table
1426 1558  
1427 1559 @subsection Integer expressions
... ... @@ -2850,6 +2982,22 @@ Three on-chip UARTs
2850 2982 A Linux 2.6 test image is available on the QEMU web site. More
2851 2983 information is available in the QEMU mailing-list archive.
2852 2984  
  2985 +@c man begin OPTIONS
  2986 +
  2987 +The following options are specific to the ARM emulation:
  2988 +
  2989 +@table @option
  2990 +
  2991 +@item -semihosting
  2992 +Enable semihosting syscall emulation.
  2993 +
  2994 +On ARM this implements the "Angel" interface.
  2995 +
  2996 +Note that this allows guest direct access to the host filesystem,
  2997 +so should only be used with trusted guest OS.
  2998 +
  2999 +@end table
  3000 +
2853 3001 @node ColdFire System emulator
2854 3002 @section ColdFire System emulator
2855 3003  
... ... @@ -2876,6 +3024,22 @@ MCF5206 ColdFire V2 Microprocessor.
2876 3024 Two on-chip UARTs.
2877 3025 @end itemize
2878 3026  
  3027 +@c man begin OPTIONS
  3028 +
  3029 +The following options are specific to the ARM emulation:
  3030 +
  3031 +@table @option
  3032 +
  3033 +@item -semihosting
  3034 +Enable semihosting syscall emulation.
  3035 +
  3036 +On M68K this implements the "ColdFire GDB" interface used by libgloss.
  3037 +
  3038 +Note that this allows guest direct access to the host filesystem,
  3039 +so should only be used with trusted guest OS.
  3040 +
  3041 +@end table
  3042 +
2879 3043 @node QEMU User space emulator
2880 3044 @chapter QEMU User space emulator
2881 3045  
... ...
qemu-img.c
... ... @@ -50,6 +50,7 @@ static void format_print(void *opaque, const char *name)
50 50 printf(" %s", name);
51 51 }
52 52  
  53 +/* Please keep in synch with qemu-img.texi */
53 54 static void help(void)
54 55 {
55 56 printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice Bellard\n"
... ... @@ -61,7 +62,7 @@ static void help(void)
61 62 " commit [-f fmt] filename\n"
62 63 " convert [-c] [-e] [-6] [-f fmt] [-O output_fmt] [-B output_base_image] filename [filename2 [...]] output_filename\n"
63 64 " info [-f fmt] filename\n"
64   - " snapshot [-l|-a snapshot|-c snapshot|-d snapshot] filename\n"
  65 + " snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename\n"
65 66 "\n"
66 67 "Command parameters:\n"
67 68 " 'filename' is a disk image filename\n"
... ... @@ -72,22 +73,24 @@ static void help(void)
72 73 " content as the input's base image, however the path, image format, etc may\n"
73 74 " differ\n"
74 75 " 'fmt' is the disk image format. It is guessed automatically in most cases\n"
75   - " 'size' is the disk image size in kilobytes. Optional suffixes 'M' (megabyte)\n"
76   - " and 'G' (gigabyte) are supported\n"
  76 + " 'size' is the disk image size in kilobytes. Optional suffixes\n"
  77 + " 'M' (megabyte, 1024 * 1024) and 'G' (gigabyte, 1024 * 1024 * 1024) are"
  78 + " supported any @code{k} or @code{K} is ignored\n"
77 79 " 'output_filename' is the destination disk image filename\n"
78 80 " 'output_fmt' is the destination format\n"
79 81 " '-c' indicates that target image must be compressed (qcow format only)\n"
80 82 " '-e' indicates that the target image must be encrypted (qcow format only)\n"
81 83 " '-6' indicates that the target image must use compatibility level 6 (vmdk format only)\n"
  84 + " '-h' with or without a command shows this help and lists the supported formats\n"
82 85 "\n"
83   - " Parameters to snapshot subcommand:\n"
84   - " 'snapshot' is the name of the snapshot to create, apply or delete\n"
85   - " '-a' applies a snapshot (revert disk to saved state)\n"
86   - " '-c' creates a snapshot\n"
87   - " '-d' deletes a snapshot\n"
88   - " '-l' lists all snapshots in the given image\n"
  86 + "Parameters to snapshot subcommand:\n"
  87 + " 'snapshot' is the name of the snapshot to create, apply or delete\n"
  88 + " '-a' applies a snapshot (revert disk to saved state)\n"
  89 + " '-c' creates a snapshot\n"
  90 + " '-d' deletes a snapshot\n"
  91 + " '-l' lists all snapshots in the given image\n"
89 92 );
90   - printf("\nSupported format:");
  93 + printf("\nSupported formats:");
91 94 bdrv_iterate_format(format_print, NULL);
92 95 printf("\n");
93 96 exit(1);
... ...
qemu-img.texi
... ... @@ -12,6 +12,7 @@ The following commands are supported:
12 12 @item commit [-f @var{fmt}] @var{filename}
13 13 @item convert [-c] [-e] [-6] [-f @var{fmt}] [-O @var{output_fmt}] [-B @var{output_base_image}] @var{filename} [@var{filename2} [...]] @var{output_filename}
14 14 @item info [-f @var{fmt}] @var{filename}
  15 +@item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot}] @var{filename}
15 16 @end table
16 17  
17 18 Command parameters:
... ... @@ -59,7 +60,8 @@ CD-ROM images present for example in the Knoppix CD-ROMs.
59 60  
60 61 @item size
61 62 is the disk image size in kilobytes. Optional suffixes @code{M}
62   -(megabyte) and @code{G} (gigabyte) are supported
  63 +(megabyte, 1024 * 1024) and @code{G} (gigabyte, 1024 * 1024 * 1024)
  64 +are supported and any @code{k} or @code{K} is ignored.
63 65  
64 66 @item output_filename
65 67 is the destination disk image filename
... ... @@ -73,6 +75,24 @@ indicates that target image must be compressed (qcow format only)
73 75 indicates that the target image must be encrypted (qcow format only)
74 76 @item -6
75 77 indicates that the target image must use compatibility level 6 (vmdk format only)
  78 +@item -h
  79 +with or without a command shows help and lists the supported formats
  80 +@end table
  81 +
  82 +Parameters to snapshot subcommand:
  83 +
  84 +@table @option
  85 +
  86 +@item snapshot
  87 +is the name of the snapshot to create, apply or delete
  88 +@item -a
  89 +applies a snapshot (revert disk to saved state)
  90 +@item -c
  91 +creates a snapshot
  92 +@item -d
  93 +deletes a snapshot
  94 +@item -l
  95 +lists all snapshots in the given image
76 96 @end table
77 97  
78 98 Command description:
... ... @@ -115,6 +135,10 @@ Give information about the disk image @var{filename}. Use it in
115 135 particular to know the size reserved on disk which can be different
116 136 from the displayed size. If VM snapshots are stored in the disk image,
117 137 they are displayed too.
  138 +
  139 +@item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot} ] @var{filename}
  140 +
  141 +List, apply, create or delete snapshots in image @var{filename}.
118 142 @end table
119 143  
120 144 @c man end
... ...
... ... @@ -3851,14 +3851,18 @@ static int main_loop(void)
3851 3851  
3852 3852 static void help(int exitcode)
3853 3853 {
  3854 + /* Please keep in synch with QEMU_OPTION_ enums, qemu_options[]
  3855 + and qemu-doc.texi */
3854 3856 printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003-2008 Fabrice Bellard\n"
3855 3857 "usage: %s [options] [disk_image]\n"
3856 3858 "\n"
3857 3859 "'disk_image' is a raw hard image image for IDE hard disk 0\n"
3858 3860 "\n"
3859 3861 "Standard options:\n"
  3862 + "-h or -help display this help and exit\n"
3860 3863 "-M machine select emulated machine (-M ? for list)\n"
3861 3864 "-cpu cpu select CPU (-cpu ? for list)\n"
  3865 + "-smp n set the number of CPUs to 'n' [default=1]\n"
3862 3866 "-fda/-fdb file use 'file' as floppy disk 0/1 image\n"
3863 3867 "-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n"
3864 3868 "-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n"
... ... @@ -3872,19 +3876,7 @@ static void help(int exitcode)
3872 3876 "-pflash file use 'file' as a parallel flash image\n"
3873 3877 "-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)\n"
3874 3878 "-snapshot write to temporary files instead of disk image files\n"
3875   -#ifdef CONFIG_SDL
3876   - "-no-frame open SDL window without a frame and window decorations\n"
3877   - "-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n"
3878   - "-no-quit disable SDL window close capability\n"
3879   - "-sdl enable SDL\n"
3880   -#endif
3881   -#ifdef TARGET_I386
3882   - "-no-fd-bootchk disable boot signature checking for floppy disks\n"
3883   -#endif
3884 3879 "-m megs set virtual RAM size to megs MB [default=%d]\n"
3885   - "-smp n set the number of CPUs to 'n' [default=1]\n"
3886   - "-nographic disable graphical output and redirect serial I/Os to console\n"
3887   - "-portrait rotate graphical output 90 deg left (only PXA LCD)\n"
3888 3880 #ifndef _WIN32
3889 3881 "-k language use keyboard layout (for example \"fr\" for French)\n"
3890 3882 #endif
... ... @@ -3895,21 +3887,31 @@ static void help(int exitcode)
3895 3887 " use -soundhw ? to get the list of supported cards\n"
3896 3888 " use -soundhw all to enable all of them\n"
3897 3889 #endif
  3890 + "-usb enable the USB driver (will be the default soon)\n"
  3891 + "-usbdevice name add the host or guest USB device 'name'\n"
  3892 + "-name string set the name of the guest\n"
  3893 + "-uuid %%08x-%%04x-%%04x-%%04x-%%012x\n"
  3894 + " specify machine UUID\n"
  3895 + "\n"
  3896 + "Display options:\n"
  3897 + "-nographic disable graphical output and redirect serial I/Os to console\n"
  3898 +#ifdef CONFIG_CURSES
  3899 + "-curses use a curses/ncurses interface instead of SDL\n"
  3900 +#endif
  3901 +#ifdef CONFIG_SDL
  3902 + "-no-frame open SDL window without a frame and window decorations\n"
  3903 + "-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)\n"
  3904 + "-no-quit disable SDL window close capability\n"
  3905 + "-sdl enable SDL\n"
  3906 +#endif
  3907 + "-portrait rotate graphical output 90 deg left (only PXA LCD)\n"
3898 3908 "-vga [std|cirrus|vmware|none]\n"
3899 3909 " select video card type\n"
3900   - "-localtime set the real time clock to local time [default=utc]\n"
3901 3910 "-full-screen start in full screen\n"
3902   -#ifdef TARGET_I386
3903   - "-win2k-hack use it when installing Windows 2000 to avoid a disk full bug\n"
3904   - "-rtc-td-hack use it to fix time drift in Windows ACPI HAL\n"
3905   -#endif
3906   - "-usb enable the USB driver (will be the default soon)\n"
3907   - "-usbdevice name add the host or guest USB device 'name'\n"
3908 3911 #if defined(TARGET_PPC) || defined(TARGET_SPARC)
3909 3912 "-g WxH[xDEPTH] Set the initial graphical resolution and depth\n"
3910 3913 #endif
3911   - "-name string set the name of the guest\n"
3912   - "-uuid %%08x-%%04x-%%04x-%%04x-%%012x specify machine UUID\n"
  3914 + "-vnc display start a VNC server on display\n"
3913 3915 "\n"
3914 3916 "Network options:\n"
3915 3917 "-net nic[,vlan=n][,macaddr=addr][,model=type][,name=str]\n"
... ... @@ -3943,17 +3945,6 @@ static void help(int exitcode)
3943 3945 #endif
3944 3946 "-net none use it alone to have zero network devices; if no -net option\n"
3945 3947 " is provided, the default is '-net nic -net user'\n"
3946   - "\n"
3947   - "-bt hci,null Dumb bluetooth HCI - doesn't respond to commands\n"
3948   - "-bt hci,host[:id]\n"
3949   - " Use host's HCI with the given name\n"
3950   - "-bt hci[,vlan=n]\n"
3951   - " Emulate a standard HCI in virtual scatternet 'n'\n"
3952   - "-bt vhci[,vlan=n]\n"
3953   - " Add host computer to virtual scatternet 'n' using VHCI\n"
3954   - "-bt device:dev[,vlan=n]\n"
3955   - " Emulate a bluetooth device 'dev' in scatternet 'n'\n"
3956   - "\n"
3957 3948 #ifdef CONFIG_SLIRP
3958 3949 "-tftp dir allow tftp access to files in dir [-net user]\n"
3959 3950 "-bootp file advertise file in BOOTP replies\n"
... ... @@ -3964,23 +3955,44 @@ static void help(int exitcode)
3964 3955 " redirect TCP or UDP connections from host to guest [-net user]\n"
3965 3956 #endif
3966 3957 "\n"
  3958 + "-bt hci,null dumb bluetooth HCI - doesn't respond to commands\n"
  3959 + "-bt hci,host[:id]\n"
  3960 + " use host's HCI with the given name\n"
  3961 + "-bt hci[,vlan=n]\n"
  3962 + " emulate a standard HCI in virtual scatternet 'n'\n"
  3963 + "-bt vhci[,vlan=n]\n"
  3964 + " add host computer to virtual scatternet 'n' using VHCI\n"
  3965 + "-bt device:dev[,vlan=n]\n"
  3966 + " emulate a bluetooth device 'dev' in scatternet 'n'\n"
  3967 + "\n"
  3968 +#ifdef TARGET_I386
  3969 + "\n"
  3970 + "i386 target only:\n"
  3971 + "-win2k-hack use it when installing Windows 2000 to avoid a disk full bug\n"
  3972 + "-rtc-td-hack use it to fix time drift in Windows ACPI HAL\n"
  3973 + "-no-fd-bootchk disable boot signature checking for floppy disks\n"
  3974 + "-no-acpi disable ACPI\n"
  3975 + "-no-hpet disable HPET\n"
  3976 +#endif
3967 3977 "Linux boot specific:\n"
3968 3978 "-kernel bzImage use 'bzImage' as kernel image\n"
3969 3979 "-append cmdline use 'cmdline' as kernel command line\n"
3970 3980 "-initrd file use 'file' as initial ram disk\n"
3971 3981 "\n"
3972 3982 "Debug/Expert options:\n"
3973   - "-monitor dev redirect the monitor to char device 'dev'\n"
3974 3983 "-serial dev redirect the serial port to char device 'dev'\n"
3975 3984 "-parallel dev redirect the parallel port to char device 'dev'\n"
3976   - "-pidfile file Write PID to 'file'\n"
  3985 + "-monitor dev redirect the monitor to char device 'dev'\n"
  3986 + "-pidfile file write PID to 'file'\n"
3977 3987 "-S freeze CPU at startup (use 'c' to start execution)\n"
3978 3988 "-s wait gdb connection to port\n"
3979 3989 "-p port set gdb connection port [default=%s]\n"
3980 3990 "-d item1,... output log to %s (use -d ? for a list of log items)\n"
3981   - "-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS\n"
  3991 + "-hdachs c,h,s[,t]\n"
  3992 + " force hard disk 0 physical geometry and the optional BIOS\n"
3982 3993 " translation (t=none or lba) (usually qemu can guess them)\n"
3983 3994 "-L path set the directory for the BIOS, VGA BIOS and keymaps\n"
  3995 + "-bios file set the filename for the BIOS\n"
3984 3996 #ifdef USE_KQEMU
3985 3997 "-kernel-kqemu enable KQEMU full virtualization (default is user mode only)\n"
3986 3998 "-no-kqemu disable KQEMU kernel module usage\n"
... ... @@ -3988,29 +4000,36 @@ static void help(int exitcode)
3988 4000 #ifdef CONFIG_KVM
3989 4001 "-enable-kvm enable KVM full virtualization support\n"
3990 4002 #endif
3991   -#ifdef TARGET_I386
3992   - "-no-acpi disable ACPI\n"
3993   - "-no-hpet disable HPET\n"
3994   -#endif
3995   -#ifdef CONFIG_CURSES
3996   - "-curses use a curses/ncurses interface instead of SDL\n"
3997   -#endif
3998 4003 "-no-reboot exit instead of rebooting\n"
3999 4004 "-no-shutdown stop before shutdown\n"
4000   - "-loadvm [tag|id] start right away with a saved state (loadvm in monitor)\n"
4001   - "-vnc display start a VNC server on display\n"
  4005 + "-loadvm [tag|id]\n"
  4006 + " start right away with a saved state (loadvm in monitor)\n"
4002 4007 #ifndef _WIN32
4003 4008 "-daemonize daemonize QEMU after initializing\n"
4004 4009 #endif
4005 4010 "-option-rom rom load a file, rom, into the option ROM space\n"
4006   -#ifdef TARGET_SPARC
4007   - "-prom-env variable=value set OpenBIOS nvram variables\n"
  4011 +#if defined(TARGET_SPARC) || defined(TARGET_PPC)
  4012 + "-prom-env variable=value\n"
  4013 + " set OpenBIOS nvram variables\n"
4008 4014 #endif
4009 4015 "-clock force the use of the given methods for timer alarm.\n"
4010 4016 " To see what timers are available use -clock ?\n"
  4017 + "-localtime set the real time clock to local time [default=utc]\n"
4011 4018 "-startdate select initial date of the clock\n"
4012 4019 "-icount [N|auto]\n"
4013   - " Enable virtual instruction counter with 2^N clock ticks per instruction\n"
  4020 + " enable virtual instruction counter with 2^N clock ticks per instruction\n"
  4021 + "-echr chr set terminal escape character instead of ctrl-a\n"
  4022 + "-virtioconsole c\n"
  4023 + " set virtio console\n"
  4024 + "-show-cursor show cursor\n"
  4025 +#if defined(TARGET_ARM) || defined(TARGET_M68K)
  4026 + "-semihosting semihosting mode\n"
  4027 +#endif
  4028 +#if defined(TARGET_ARM)
  4029 + "-old-param old param mode\n"
  4030 +#endif
  4031 + "-tb-size n set TB size\n"
  4032 + "-incoming p prepare for incoming migration, listen on port p\n"
4014 4033 "\n"
4015 4034 "During emulation, the following keys are useful:\n"
4016 4035 "ctrl-alt-f toggle full screen\n"
... ... @@ -4033,34 +4052,49 @@ static void help(int exitcode)
4033 4052 #define HAS_ARG 0x0001
4034 4053  
4035 4054 enum {
  4055 + /* Please keep in synch with help, qemu_options[] and
  4056 + qemu-doc.texi */
  4057 + /* Standard options: */
4036 4058 QEMU_OPTION_h,
4037   -
4038 4059 QEMU_OPTION_M,
4039 4060 QEMU_OPTION_cpu,
  4061 + QEMU_OPTION_smp,
4040 4062 QEMU_OPTION_fda,
4041 4063 QEMU_OPTION_fdb,
4042 4064 QEMU_OPTION_hda,
4043 4065 QEMU_OPTION_hdb,
4044 4066 QEMU_OPTION_hdc,
4045 4067 QEMU_OPTION_hdd,
4046   - QEMU_OPTION_drive,
4047 4068 QEMU_OPTION_cdrom,
  4069 + QEMU_OPTION_drive,
4048 4070 QEMU_OPTION_mtdblock,
4049 4071 QEMU_OPTION_sd,
4050 4072 QEMU_OPTION_pflash,
4051 4073 QEMU_OPTION_boot,
4052 4074 QEMU_OPTION_snapshot,
4053   -#ifdef TARGET_I386
4054   - QEMU_OPTION_no_fd_bootchk,
4055   -#endif
4056 4075 QEMU_OPTION_m,
4057   - QEMU_OPTION_nographic,
4058   - QEMU_OPTION_portrait,
4059   -#ifdef HAS_AUDIO
  4076 + QEMU_OPTION_k,
4060 4077 QEMU_OPTION_audio_help,
4061 4078 QEMU_OPTION_soundhw,
4062   -#endif
  4079 + QEMU_OPTION_usb,
  4080 + QEMU_OPTION_usbdevice,
  4081 + QEMU_OPTION_name,
  4082 + QEMU_OPTION_uuid,
4063 4083  
  4084 + /* Display options: */
  4085 + QEMU_OPTION_nographic,
  4086 + QEMU_OPTION_curses,
  4087 + QEMU_OPTION_no_frame,
  4088 + QEMU_OPTION_alt_grab,
  4089 + QEMU_OPTION_no_quit,
  4090 + QEMU_OPTION_sdl,
  4091 + QEMU_OPTION_portrait,
  4092 + QEMU_OPTION_vga,
  4093 + QEMU_OPTION_full_screen,
  4094 + QEMU_OPTION_g,
  4095 + QEMU_OPTION_vnc,
  4096 +
  4097 + /* Network options: */
4064 4098 QEMU_OPTION_net,
4065 4099 QEMU_OPTION_tftp,
4066 4100 QEMU_OPTION_bootp,
... ... @@ -4068,10 +4102,23 @@ enum {
4068 4102 QEMU_OPTION_redir,
4069 4103 QEMU_OPTION_bt,
4070 4104  
  4105 + /* i386 target only: */
  4106 + QEMU_OPTION_win2k_hack,
  4107 + QEMU_OPTION_rtc_td_hack,
  4108 + QEMU_OPTION_no_fd_bootchk,
  4109 + QEMU_OPTION_no_acpi,
  4110 + QEMU_OPTION_no_hpet,
  4111 +
  4112 + /* Linux boot specific: */
4071 4113 QEMU_OPTION_kernel,
4072 4114 QEMU_OPTION_append,
4073 4115 QEMU_OPTION_initrd,
4074 4116  
  4117 + /* Debug/Expert options: */
  4118 + QEMU_OPTION_serial,
  4119 + QEMU_OPTION_parallel,
  4120 + QEMU_OPTION_monitor,
  4121 + QEMU_OPTION_pidfile,
4075 4122 QEMU_OPTION_S,
4076 4123 QEMU_OPTION_s,
4077 4124 QEMU_OPTION_p,
... ... @@ -4079,48 +4126,25 @@ enum {
4079 4126 QEMU_OPTION_hdachs,
4080 4127 QEMU_OPTION_L,
4081 4128 QEMU_OPTION_bios,
4082   - QEMU_OPTION_k,
4083   - QEMU_OPTION_localtime,
4084   - QEMU_OPTION_g,
4085   - QEMU_OPTION_vga,
4086   - QEMU_OPTION_echr,
4087   - QEMU_OPTION_monitor,
4088   - QEMU_OPTION_serial,
4089   - QEMU_OPTION_virtiocon,
4090   - QEMU_OPTION_parallel,
4091   - QEMU_OPTION_loadvm,
4092   - QEMU_OPTION_full_screen,
4093   - QEMU_OPTION_no_frame,
4094   - QEMU_OPTION_alt_grab,
4095   - QEMU_OPTION_no_quit,
4096   - QEMU_OPTION_sdl,
4097   - QEMU_OPTION_pidfile,
4098   - QEMU_OPTION_no_kqemu,
4099 4129 QEMU_OPTION_kernel_kqemu,
  4130 + QEMU_OPTION_no_kqemu,
4100 4131 QEMU_OPTION_enable_kvm,
4101   - QEMU_OPTION_win2k_hack,
4102   - QEMU_OPTION_rtc_td_hack,
4103   - QEMU_OPTION_usb,
4104   - QEMU_OPTION_usbdevice,
4105   - QEMU_OPTION_smp,
4106   - QEMU_OPTION_vnc,
4107   - QEMU_OPTION_no_acpi,
4108   - QEMU_OPTION_no_hpet,
4109   - QEMU_OPTION_curses,
4110 4132 QEMU_OPTION_no_reboot,
4111 4133 QEMU_OPTION_no_shutdown,
4112   - QEMU_OPTION_show_cursor,
  4134 + QEMU_OPTION_loadvm,
4113 4135 QEMU_OPTION_daemonize,
4114 4136 QEMU_OPTION_option_rom,
4115   - QEMU_OPTION_semihosting,
4116   - QEMU_OPTION_name,
4117 4137 QEMU_OPTION_prom_env,
4118   - QEMU_OPTION_old_param,
4119 4138 QEMU_OPTION_clock,
  4139 + QEMU_OPTION_localtime,
4120 4140 QEMU_OPTION_startdate,
4121   - QEMU_OPTION_tb_size,
4122 4141 QEMU_OPTION_icount,
4123   - QEMU_OPTION_uuid,
  4142 + QEMU_OPTION_echr,
  4143 + QEMU_OPTION_virtiocon,
  4144 + QEMU_OPTION_show_cursor,
  4145 + QEMU_OPTION_semihosting,
  4146 + QEMU_OPTION_old_param,
  4147 + QEMU_OPTION_tb_size,
4124 4148 QEMU_OPTION_incoming,
4125 4149 };
4126 4150  
... ... @@ -4131,36 +4155,60 @@ typedef struct QEMUOption {
4131 4155 } QEMUOption;
4132 4156  
4133 4157 static const QEMUOption qemu_options[] = {
  4158 + /* Please keep in synch with help, QEMU_OPTION_ enums, and
  4159 + qemu-doc.texi */
  4160 + /* Standard options: */
4134 4161 { "h", 0, QEMU_OPTION_h },
4135 4162 { "help", 0, QEMU_OPTION_h },
4136   -
4137 4163 { "M", HAS_ARG, QEMU_OPTION_M },
4138 4164 { "cpu", HAS_ARG, QEMU_OPTION_cpu },
  4165 + { "smp", HAS_ARG, QEMU_OPTION_smp },
4139 4166 { "fda", HAS_ARG, QEMU_OPTION_fda },
4140 4167 { "fdb", HAS_ARG, QEMU_OPTION_fdb },
4141 4168 { "hda", HAS_ARG, QEMU_OPTION_hda },
4142 4169 { "hdb", HAS_ARG, QEMU_OPTION_hdb },
4143 4170 { "hdc", HAS_ARG, QEMU_OPTION_hdc },
4144 4171 { "hdd", HAS_ARG, QEMU_OPTION_hdd },
4145   - { "drive", HAS_ARG, QEMU_OPTION_drive },
4146 4172 { "cdrom", HAS_ARG, QEMU_OPTION_cdrom },
  4173 + { "drive", HAS_ARG, QEMU_OPTION_drive },
4147 4174 { "mtdblock", HAS_ARG, QEMU_OPTION_mtdblock },
4148 4175 { "sd", HAS_ARG, QEMU_OPTION_sd },
4149 4176 { "pflash", HAS_ARG, QEMU_OPTION_pflash },
4150 4177 { "boot", HAS_ARG, QEMU_OPTION_boot },
4151 4178 { "snapshot", 0, QEMU_OPTION_snapshot },
4152   -#ifdef TARGET_I386
4153   - { "no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk },
4154   -#endif
4155 4179 { "m", HAS_ARG, QEMU_OPTION_m },
4156   - { "nographic", 0, QEMU_OPTION_nographic },
4157   - { "portrait", 0, QEMU_OPTION_portrait },
  4180 +#ifndef _WIN32
4158 4181 { "k", HAS_ARG, QEMU_OPTION_k },
  4182 +#endif
4159 4183 #ifdef HAS_AUDIO
4160 4184 { "audio-help", 0, QEMU_OPTION_audio_help },
4161 4185 { "soundhw", HAS_ARG, QEMU_OPTION_soundhw },
4162 4186 #endif
  4187 + { "usb", 0, QEMU_OPTION_usb },
  4188 + { "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
  4189 + { "name", HAS_ARG, QEMU_OPTION_name },
  4190 + { "uuid", HAS_ARG, QEMU_OPTION_uuid },
  4191 +
  4192 + /* Display options: */
  4193 + { "nographic", 0, QEMU_OPTION_nographic },
  4194 +#ifdef CONFIG_CURSES
  4195 + { "curses", 0, QEMU_OPTION_curses },
  4196 +#endif
  4197 +#ifdef CONFIG_SDL
  4198 + { "no-frame", 0, QEMU_OPTION_no_frame },
  4199 + { "alt-grab", 0, QEMU_OPTION_alt_grab },
  4200 + { "no-quit", 0, QEMU_OPTION_no_quit },
  4201 + { "sdl", 0, QEMU_OPTION_sdl },
  4202 +#endif
  4203 + { "portrait", 0, QEMU_OPTION_portrait },
  4204 + { "vga", HAS_ARG, QEMU_OPTION_vga },
  4205 + { "full-screen", 0, QEMU_OPTION_full_screen },
  4206 +#if defined(TARGET_PPC) || defined(TARGET_SPARC)
  4207 + { "g", 1, QEMU_OPTION_g },
  4208 +#endif
  4209 + { "vnc", HAS_ARG, QEMU_OPTION_vnc },
4163 4210  
  4211 + /* Network options: */
4164 4212 { "net", HAS_ARG, QEMU_OPTION_net},
4165 4213 #ifdef CONFIG_SLIRP
4166 4214 { "tftp", HAS_ARG, QEMU_OPTION_tftp },
... ... @@ -4171,11 +4219,25 @@ static const QEMUOption qemu_options[] = {
4171 4219 { "redir", HAS_ARG, QEMU_OPTION_redir },
4172 4220 #endif
4173 4221 { "bt", HAS_ARG, QEMU_OPTION_bt },
  4222 +#ifdef TARGET_I386
  4223 + /* i386 target only: */
  4224 + { "win2k-hack", 0, QEMU_OPTION_win2k_hack },
  4225 + { "rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack },
  4226 + { "no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk },
  4227 + { "no-acpi", 0, QEMU_OPTION_no_acpi },
  4228 + { "no-hpet", 0, QEMU_OPTION_no_hpet },
  4229 +#endif
4174 4230  
  4231 + /* Linux boot specific: */
4175 4232 { "kernel", HAS_ARG, QEMU_OPTION_kernel },
4176 4233 { "append", HAS_ARG, QEMU_OPTION_append },
4177 4234 { "initrd", HAS_ARG, QEMU_OPTION_initrd },
4178 4235  
  4236 + /* Debug/Expert options: */
  4237 + { "serial", HAS_ARG, QEMU_OPTION_serial },
  4238 + { "parallel", HAS_ARG, QEMU_OPTION_parallel },
  4239 + { "monitor", HAS_ARG, QEMU_OPTION_monitor },
  4240 + { "pidfile", HAS_ARG, QEMU_OPTION_pidfile },
4179 4241 { "S", 0, QEMU_OPTION_S },
4180 4242 { "s", 0, QEMU_OPTION_s },
4181 4243 { "p", HAS_ARG, QEMU_OPTION_p },
... ... @@ -4184,64 +4246,34 @@ static const QEMUOption qemu_options[] = {
4184 4246 { "L", HAS_ARG, QEMU_OPTION_L },
4185 4247 { "bios", HAS_ARG, QEMU_OPTION_bios },
4186 4248 #ifdef USE_KQEMU
4187   - { "no-kqemu", 0, QEMU_OPTION_no_kqemu },
4188 4249 { "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu },
  4250 + { "no-kqemu", 0, QEMU_OPTION_no_kqemu },
4189 4251 #endif
4190 4252 #ifdef CONFIG_KVM
4191 4253 { "enable-kvm", 0, QEMU_OPTION_enable_kvm },
4192 4254 #endif
4193   -#if defined(TARGET_PPC) || defined(TARGET_SPARC)
4194   - { "g", 1, QEMU_OPTION_g },
  4255 + { "no-reboot", 0, QEMU_OPTION_no_reboot },
  4256 + { "no-shutdown", 0, QEMU_OPTION_no_shutdown },
  4257 + { "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
  4258 + { "daemonize", 0, QEMU_OPTION_daemonize },
  4259 + { "option-rom", HAS_ARG, QEMU_OPTION_option_rom },
  4260 +#if defined(TARGET_SPARC) || defined(TARGET_PPC)
  4261 + { "prom-env", HAS_ARG, QEMU_OPTION_prom_env },
4195 4262 #endif
  4263 + { "clock", HAS_ARG, QEMU_OPTION_clock },
4196 4264 { "localtime", 0, QEMU_OPTION_localtime },
4197   - { "vga", HAS_ARG, QEMU_OPTION_vga },
  4265 + { "startdate", HAS_ARG, QEMU_OPTION_startdate },
  4266 + { "icount", HAS_ARG, QEMU_OPTION_icount },
4198 4267 { "echr", HAS_ARG, QEMU_OPTION_echr },
4199   - { "monitor", HAS_ARG, QEMU_OPTION_monitor },
4200   - { "serial", HAS_ARG, QEMU_OPTION_serial },
4201 4268 { "virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon },
4202   - { "parallel", HAS_ARG, QEMU_OPTION_parallel },
4203   - { "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
4204   - { "full-screen", 0, QEMU_OPTION_full_screen },
4205   -#ifdef CONFIG_SDL
4206   - { "no-frame", 0, QEMU_OPTION_no_frame },
4207   - { "alt-grab", 0, QEMU_OPTION_alt_grab },
4208   - { "no-quit", 0, QEMU_OPTION_no_quit },
4209   - { "sdl", 0, QEMU_OPTION_sdl },
4210   -#endif
4211   - { "pidfile", HAS_ARG, QEMU_OPTION_pidfile },
4212   - { "win2k-hack", 0, QEMU_OPTION_win2k_hack },
4213   - { "rtc-td-hack", 0, QEMU_OPTION_rtc_td_hack },
4214   - { "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice },
4215   - { "smp", HAS_ARG, QEMU_OPTION_smp },
4216   - { "vnc", HAS_ARG, QEMU_OPTION_vnc },
4217   -#ifdef CONFIG_CURSES
4218   - { "curses", 0, QEMU_OPTION_curses },
4219   -#endif
4220   - { "uuid", HAS_ARG, QEMU_OPTION_uuid },
4221   -
4222   - /* temporary options */
4223   - { "usb", 0, QEMU_OPTION_usb },
4224   - { "no-acpi", 0, QEMU_OPTION_no_acpi },
4225   - { "no-hpet", 0, QEMU_OPTION_no_hpet },
4226   - { "no-reboot", 0, QEMU_OPTION_no_reboot },
4227   - { "no-shutdown", 0, QEMU_OPTION_no_shutdown },
4228 4269 { "show-cursor", 0, QEMU_OPTION_show_cursor },
4229   - { "daemonize", 0, QEMU_OPTION_daemonize },
4230   - { "option-rom", HAS_ARG, QEMU_OPTION_option_rom },
4231 4270 #if defined(TARGET_ARM) || defined(TARGET_M68K)
4232 4271 { "semihosting", 0, QEMU_OPTION_semihosting },
4233 4272 #endif
4234   - { "name", HAS_ARG, QEMU_OPTION_name },
4235   -#if defined(TARGET_SPARC) || defined(TARGET_PPC)
4236   - { "prom-env", HAS_ARG, QEMU_OPTION_prom_env },
4237   -#endif
4238 4273 #if defined(TARGET_ARM)
4239 4274 { "old-param", 0, QEMU_OPTION_old_param },
4240 4275 #endif
4241   - { "clock", HAS_ARG, QEMU_OPTION_clock },
4242   - { "startdate", HAS_ARG, QEMU_OPTION_startdate },
4243 4276 { "tb-size", HAS_ARG, QEMU_OPTION_tb_size },
4244   - { "icount", HAS_ARG, QEMU_OPTION_icount },
4245 4277 { "incoming", HAS_ARG, QEMU_OPTION_incoming },
4246 4278 { NULL },
4247 4279 };
... ...