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,6 +1429,7 @@ static void do_info_balloon(void)
1429 term_printf("balloon: actual=%d\n", (int)(actual >> 20)); 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 static const term_cmd_t term_cmds[] = { 1433 static const term_cmd_t term_cmds[] = {
1433 { "help|?", "s?", do_help, 1434 { "help|?", "s?", do_help,
1434 "[cmd]", "show the help" }, 1435 "[cmd]", "show the help" },
@@ -1496,8 +1497,8 @@ static const term_cmd_t term_cmds[] = { @@ -1496,8 +1497,8 @@ static const term_cmd_t term_cmds[] = {
1496 "path [frequency bits channels]", 1497 "path [frequency bits channels]",
1497 "capture audio to a wave file (default frequency=44100 bits=16 channels=2)" }, 1498 "capture audio to a wave file (default frequency=44100 bits=16 channels=2)" },
1498 #endif 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 { "memsave", "lis", do_memory_save, 1502 { "memsave", "lis", do_memory_save,
1502 "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", }, 1503 "addr size file", "save to disk virtual memory dump starting at 'addr' of size 'size'", },
1503 { "pmemsave", "lis", do_physical_memory_save, 1504 { "pmemsave", "lis", do_physical_memory_save,
@@ -1520,9 +1521,10 @@ static const term_cmd_t term_cmds[] = { @@ -1520,9 +1521,10 @@ static const term_cmd_t term_cmds[] = {
1520 { NULL, NULL, }, 1521 { NULL, NULL, },
1521 }; 1522 };
1522 1523
  1524 +/* Please update qemu-doc.texi when adding or changing commands */
1523 static const term_cmd_t info_cmds[] = { 1525 static const term_cmd_t info_cmds[] = {
1524 { "version", "", do_info_version, 1526 { "version", "", do_info_version,
1525 - "", "show the version of qemu" }, 1527 + "", "show the version of QEMU" },
1526 { "network", "", do_info_network, 1528 { "network", "", do_info_network,
1527 "", "show the network state" }, 1529 "", "show the network state" },
1528 { "chardev", "", qemu_chr_info, 1530 { "chardev", "", qemu_chr_info,
@@ -1554,9 +1556,9 @@ static const term_cmd_t info_cmds[] = { @@ -1554,9 +1556,9 @@ static const term_cmd_t info_cmds[] = {
1554 { "jit", "", do_info_jit, 1556 { "jit", "", do_info_jit,
1555 "", "show dynamic compiler info", }, 1557 "", "show dynamic compiler info", },
1556 { "kqemu", "", do_info_kqemu, 1558 { "kqemu", "", do_info_kqemu,
1557 - "", "show kqemu information", }, 1559 + "", "show KQEMU information", },
1558 { "kvm", "", do_info_kvm, 1560 { "kvm", "", do_info_kvm,
1559 - "", "show kvm information", }, 1561 + "", "show KVM information", },
1560 { "usb", "", usb_info, 1562 { "usb", "", usb_info,
1561 "", "show guest USB devices", }, 1563 "", "show guest USB devices", },
1562 { "usbhost", "", usb_host_info, 1564 { "usbhost", "", usb_host_info,
qemu-doc.texi
@@ -221,13 +221,25 @@ usage: qemu [options] [@var{disk_image}] @@ -221,13 +221,25 @@ usage: qemu [options] [@var{disk_image}]
221 @end example 221 @end example
222 222
223 @c man begin OPTIONS 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 General options: 227 General options:
227 @table @option 228 @table @option
  229 +@item -h
  230 +Display help and exit
  231 +
228 @item -M @var{machine} 232 @item -M @var{machine}
229 Select the emulated @var{machine} (@code{-M ?} for list) 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 @item -fda @var{file} 243 @item -fda @var{file}
232 @item -fdb @var{file} 244 @item -fdb @var{file}
233 Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can 245 Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
@@ -344,6 +356,15 @@ is interpreted like: @@ -344,6 +356,15 @@ is interpreted like:
344 qemu -hda a -hdb b 356 qemu -hda a -hdb b
345 @end example 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 @item -boot [a|c|d|n] 368 @item -boot [a|c|d|n]
348 Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot 369 Boot on floppy (a), hard disk (c), CD-ROM (d), or Etherboot (n). Hard disk boot
349 is the default. 370 is the default.
@@ -353,22 +374,27 @@ Write to temporary files instead of disk image files. In this case, @@ -353,22 +374,27 @@ Write to temporary files instead of disk image files. In this case,
353 the raw disk image you use is not written back. You can however force 374 the raw disk image you use is not written back. You can however force
354 the write back by pressing @key{C-a s} (@pxref{disk_images}). 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 @item -m @var{megs} 377 @item -m @var{megs}
361 Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally, 378 Set virtual RAM size to @var{megs} megabytes. Default is 128 MiB. Optionally,
362 a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or 379 a suffix of ``M'' or ``G'' can be used to signify a value in megabytes or
363 gigabytes respectively. 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 @item -audio-help 399 @item -audio-help
374 400
@@ -395,45 +421,59 @@ require manually specifying clocking. @@ -395,45 +421,59 @@ require manually specifying clocking.
395 modprobe i810_audio clocking=48000 421 modprobe i810_audio clocking=48000
396 @end example 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 @item -name @var{name} 469 @item -name @var{name}
433 Sets the @var{name} of the guest. 470 Sets the @var{name} of the guest.
434 This name will be displayed in the SDL window caption. 471 This name will be displayed in the SDL window caption.
435 The @var{name} will also be used for the VNC server. 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 @end table 477 @end table
438 478
439 Display options: 479 Display options:
@@ -459,10 +499,43 @@ Do not use decorations for SDL windows and start them using the whole @@ -459,10 +499,43 @@ Do not use decorations for SDL windows and start them using the whole
459 available screen space. This makes the using QEMU in a dedicated desktop 499 available screen space. This makes the using QEMU in a dedicated desktop
460 workspace more convenient. 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 @item -no-quit 506 @item -no-quit
463 507
464 Disable SDL window close capability. 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 @item -full-screen 539 @item -full-screen
467 Start in full screen. 540 Start in full screen.
468 541
@@ -545,68 +618,6 @@ certificates. @@ -545,68 +618,6 @@ certificates.
545 618
546 @end table 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 @end table 621 @end table
611 622
612 Network options: 623 Network options:
@@ -856,6 +867,34 @@ Virtual wireless keyboard implementing the HIDP bluetooth profile. @@ -856,6 +867,34 @@ Virtual wireless keyboard implementing the HIDP bluetooth profile.
856 867
857 @end table 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 Linux boot specific: When using these options, you can use a given 898 Linux boot specific: When using these options, you can use a given
860 Linux kernel without installing it in the disk image. It can be useful 899 Linux kernel without installing it in the disk image. It can be useful
861 for easier testing of various kernels. 900 for easier testing of various kernels.
@@ -881,7 +920,7 @@ Redirect the virtual serial port to host character device @@ -881,7 +920,7 @@ Redirect the virtual serial port to host character device
881 @var{dev}. The default device is @code{vc} in graphical mode and 920 @var{dev}. The default device is @code{vc} in graphical mode and
882 @code{stdio} in non graphical mode. 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 ports. 924 ports.
886 925
887 Use @code{-serial none} to disable all serial ports. 926 Use @code{-serial none} to disable all serial ports.
@@ -1015,26 +1054,20 @@ serial port). @@ -1015,26 +1054,20 @@ serial port).
1015 The default device is @code{vc} in graphical mode and @code{stdio} in 1054 The default device is @code{vc} in graphical mode and @code{stdio} in
1016 non graphical mode. 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 @item -s 1064 @item -s
1032 Wait gdb connection to port 1234 (@pxref{gdb_usage}). 1065 Wait gdb connection to port 1234 (@pxref{gdb_usage}).
  1066 +
1033 @item -p @var{port} 1067 @item -p @var{port}
1034 Change gdb connection port. @var{port} can be either a decimal number 1068 Change gdb connection port. @var{port} can be either a decimal number
1035 to specify a TCP port, or a host device (same devices as the serial port). 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 @item -d 1071 @item -d
1039 Output log in /tmp/qemu.log 1072 Output log in /tmp/qemu.log
1040 @item -hdachs @var{c},@var{h},@var{s},[,@var{t}] 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,32 +1077,22 @@ translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
1044 all those parameters. This option is useful for old MS-DOS disk 1077 all those parameters. This option is useful for old MS-DOS disk
1045 images. 1078 images.
1046 1079
1047 -@item -L path 1080 +@item -L @var{path}
1048 Set the directory for the BIOS, VGA BIOS and keymaps. 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 @item -no-reboot 1097 @item -no-reboot
1075 Exit instead of rebooting. 1098 Exit instead of rebooting.
@@ -1079,17 +1102,32 @@ Don't exit QEMU on guest shutdown, but instead only stop the emulation. @@ -1079,17 +1102,32 @@ Don't exit QEMU on guest shutdown, but instead only stop the emulation.
1079 This allows for instance switching to monitor to commit changes to the 1102 This allows for instance switching to monitor to commit changes to the
1080 disk image. 1103 disk image.
1081 1104
1082 -@item -loadvm file 1105 +@item -loadvm @var{file}
1083 Start right away with a saved state (@code{loadvm} in monitor) 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 @item -icount [N|auto] 1132 @item -icount [N|auto]
1095 Enable virtual instruction counter. The virtual cpu will execute one 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,6 +1139,20 @@ Note that while this option can give deterministic behavior, it does not
1101 provide cycle accurate emulation. Modern CPUs contain superscalar out of 1139 provide cycle accurate emulation. Modern CPUs contain superscalar out of
1102 order cores with complex cache hierarchies. The number of instructions 1140 order cores with complex cache hierarchies. The number of instructions
1103 executed often has little or no correlation with actual performance. 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 @end table 1156 @end table
1105 1157
1106 @c man end 1158 @c man end
@@ -1138,13 +1190,14 @@ During emulation, if you are using the @option{-nographic} option, use @@ -1138,13 +1190,14 @@ During emulation, if you are using the @option{-nographic} option, use
1138 1190
1139 @table @key 1191 @table @key
1140 @item Ctrl-a h 1192 @item Ctrl-a h
  1193 +@item Ctrl-a ?
1141 Print this help 1194 Print this help
1142 @item Ctrl-a x 1195 @item Ctrl-a x
1143 Exit emulator 1196 Exit emulator
1144 @item Ctrl-a s 1197 @item Ctrl-a s
1145 Save disk data back to file (if -snapshot) 1198 Save disk data back to file (if -snapshot)
1146 @item Ctrl-a t 1199 @item Ctrl-a t
1147 -toggle console timestamps 1200 +Toggle console timestamps
1148 @item Ctrl-a b 1201 @item Ctrl-a b
1149 Send break (magic sysrq in Linux) 1202 Send break (magic sysrq in Linux)
1150 @item Ctrl-a c 1203 @item Ctrl-a c
@@ -1203,26 +1256,68 @@ Commit changes to the disk images (if -snapshot is used). @@ -1203,26 +1256,68 @@ Commit changes to the disk images (if -snapshot is used).
1203 Show various information about the system state. 1256 Show various information about the system state.
1204 1257
1205 @table @option 1258 @table @option
  1259 +@item info version
  1260 +show the version of QEMU
1206 @item info network 1261 @item info network
1207 show the various VLANs and the associated devices 1262 show the various VLANs and the associated devices
  1263 +@item info chardev
  1264 +show the character devices
1208 @item info block 1265 @item info block
1209 show the block devices 1266 show the block devices
  1267 +@item info block
  1268 +show block device statistics
1210 @item info registers 1269 @item info registers
1211 show the cpu registers 1270 show the cpu registers
  1271 +@item info cpus
  1272 +show infos for each CPU
1212 @item info history 1273 @item info history
1213 show the command line history 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 @item info pci 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 @item info usb 1291 @item info usb
1217 show USB devices plugged on the virtual USB hub 1292 show USB devices plugged on the virtual USB hub
1218 @item info usbhost 1293 @item info usbhost
1219 show all USB host devices 1294 show all USB host devices
  1295 +@item info profile
  1296 +show profiling information
1220 @item info capture 1297 @item info capture
1221 show information about active capturing 1298 show information about active capturing
1222 @item info snapshots 1299 @item info snapshots
1223 show list of VM snapshots 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 @item info mice 1305 @item info mice
1225 show which guest mouse is receiving events 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 @end table 1321 @end table
1227 1322
1228 @item q or quit 1323 @item q or quit
@@ -1236,13 +1331,15 @@ Eject a removable medium (use -f to force it). @@ -1236,13 +1331,15 @@ Eject a removable medium (use -f to force it).
1236 Change the configuration of a device. 1331 Change the configuration of a device.
1237 1332
1238 @table @option 1333 @table @option
1239 -@item change @var{diskdevice} @var{filename} 1334 +@item change @var{diskdevice} @var{filename} [@var{format}]
1240 Change the medium for a removable disk device to point to @var{filename}. eg 1335 Change the medium for a removable disk device to point to @var{filename}. eg
1241 1336
1242 @example 1337 @example
1243 (qemu) change ide1-cd0 /path/to/some.iso 1338 (qemu) change ide1-cd0 /path/to/some.iso
1244 @end example 1339 @end example
1245 1340
  1341 +@var{format} is optional.
  1342 +
1246 @item change vnc @var{display},@var{options} 1343 @item change vnc @var{display},@var{options}
1247 Change the configuration of the VNC server. The valid syntax for @var{display} 1344 Change the configuration of the VNC server. The valid syntax for @var{display}
1248 and @var{options} are described at @ref{sec_invocation}. eg 1345 and @var{options} are described at @ref{sec_invocation}. eg
@@ -1267,36 +1364,8 @@ Password: ******** @@ -1267,36 +1364,8 @@ Password: ********
1267 @item screendump @var{filename} 1364 @item screendump @var{filename}
1268 Save screen into PPM image @var{filename}. 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 @item log @var{item1}[,...] 1370 @item log @var{item1}[,...]
1302 Activate logging of the specified items to @file{/tmp/qemu.log}. 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,13 +1472,13 @@ intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
1403 1472
1404 Reset the system. 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 @item usb_add @var{devname} 1483 @item usb_add @var{devname}
1415 1484
@@ -1422,6 +1491,69 @@ Remove the USB device @var{devname} from the QEMU virtual USB @@ -1422,6 +1491,69 @@ Remove the USB device @var{devname} from the QEMU virtual USB
1422 hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor 1491 hub. @var{devname} has the syntax @code{bus.addr}. Use the monitor
1423 command @code{info usb} to see the devices you can remove. 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 @end table 1557 @end table
1426 1558
1427 @subsection Integer expressions 1559 @subsection Integer expressions
@@ -2850,6 +2982,22 @@ Three on-chip UARTs @@ -2850,6 +2982,22 @@ Three on-chip UARTs
2850 A Linux 2.6 test image is available on the QEMU web site. More 2982 A Linux 2.6 test image is available on the QEMU web site. More
2851 information is available in the QEMU mailing-list archive. 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 @node ColdFire System emulator 3001 @node ColdFire System emulator
2854 @section ColdFire System emulator 3002 @section ColdFire System emulator
2855 3003
@@ -2876,6 +3024,22 @@ MCF5206 ColdFire V2 Microprocessor. @@ -2876,6 +3024,22 @@ MCF5206 ColdFire V2 Microprocessor.
2876 Two on-chip UARTs. 3024 Two on-chip UARTs.
2877 @end itemize 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 @node QEMU User space emulator 3043 @node QEMU User space emulator
2880 @chapter QEMU User space emulator 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,6 +50,7 @@ static void format_print(void *opaque, const char *name)
50 printf(" %s", name); 50 printf(" %s", name);
51 } 51 }
52 52
  53 +/* Please keep in synch with qemu-img.texi */
53 static void help(void) 54 static void help(void)
54 { 55 {
55 printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice Bellard\n" 56 printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice Bellard\n"
@@ -61,7 +62,7 @@ static void help(void) @@ -61,7 +62,7 @@ static void help(void)
61 " commit [-f fmt] filename\n" 62 " commit [-f fmt] filename\n"
62 " convert [-c] [-e] [-6] [-f fmt] [-O output_fmt] [-B output_base_image] filename [filename2 [...]] output_filename\n" 63 " convert [-c] [-e] [-6] [-f fmt] [-O output_fmt] [-B output_base_image] filename [filename2 [...]] output_filename\n"
63 " info [-f fmt] filename\n" 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 "\n" 66 "\n"
66 "Command parameters:\n" 67 "Command parameters:\n"
67 " 'filename' is a disk image filename\n" 68 " 'filename' is a disk image filename\n"
@@ -72,22 +73,24 @@ static void help(void) @@ -72,22 +73,24 @@ static void help(void)
72 " content as the input's base image, however the path, image format, etc may\n" 73 " content as the input's base image, however the path, image format, etc may\n"
73 " differ\n" 74 " differ\n"
74 " 'fmt' is the disk image format. It is guessed automatically in most cases\n" 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 " 'output_filename' is the destination disk image filename\n" 79 " 'output_filename' is the destination disk image filename\n"
78 " 'output_fmt' is the destination format\n" 80 " 'output_fmt' is the destination format\n"
79 " '-c' indicates that target image must be compressed (qcow format only)\n" 81 " '-c' indicates that target image must be compressed (qcow format only)\n"
80 " '-e' indicates that the target image must be encrypted (qcow format only)\n" 82 " '-e' indicates that the target image must be encrypted (qcow format only)\n"
81 " '-6' indicates that the target image must use compatibility level 6 (vmdk format only)\n" 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 "\n" 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 bdrv_iterate_format(format_print, NULL); 94 bdrv_iterate_format(format_print, NULL);
92 printf("\n"); 95 printf("\n");
93 exit(1); 96 exit(1);
qemu-img.texi
@@ -12,6 +12,7 @@ The following commands are supported: @@ -12,6 +12,7 @@ The following commands are supported:
12 @item commit [-f @var{fmt}] @var{filename} 12 @item commit [-f @var{fmt}] @var{filename}
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} 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 @item info [-f @var{fmt}] @var{filename} 14 @item info [-f @var{fmt}] @var{filename}
  15 +@item snapshot [-l | -a @var{snapshot} | -c @var{snapshot} | -d @var{snapshot}] @var{filename}
15 @end table 16 @end table
16 17
17 Command parameters: 18 Command parameters:
@@ -59,7 +60,8 @@ CD-ROM images present for example in the Knoppix CD-ROMs. @@ -59,7 +60,8 @@ CD-ROM images present for example in the Knoppix CD-ROMs.
59 60
60 @item size 61 @item size
61 is the disk image size in kilobytes. Optional suffixes @code{M} 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 @item output_filename 66 @item output_filename
65 is the destination disk image filename 67 is the destination disk image filename
@@ -73,6 +75,24 @@ indicates that target image must be compressed (qcow format only) @@ -73,6 +75,24 @@ indicates that target image must be compressed (qcow format only)
73 indicates that the target image must be encrypted (qcow format only) 75 indicates that the target image must be encrypted (qcow format only)
74 @item -6 76 @item -6
75 indicates that the target image must use compatibility level 6 (vmdk format only) 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 @end table 96 @end table
77 97
78 Command description: 98 Command description:
@@ -115,6 +135,10 @@ Give information about the disk image @var{filename}. Use it in @@ -115,6 +135,10 @@ Give information about the disk image @var{filename}. Use it in
115 particular to know the size reserved on disk which can be different 135 particular to know the size reserved on disk which can be different
116 from the displayed size. If VM snapshots are stored in the disk image, 136 from the displayed size. If VM snapshots are stored in the disk image,
117 they are displayed too. 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 @end table 142 @end table
119 143
120 @c man end 144 @c man end
@@ -3851,14 +3851,18 @@ static int main_loop(void) @@ -3851,14 +3851,18 @@ static int main_loop(void)
3851 3851
3852 static void help(int exitcode) 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 printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003-2008 Fabrice Bellard\n" 3856 printf("QEMU PC emulator version " QEMU_VERSION ", Copyright (c) 2003-2008 Fabrice Bellard\n"
3855 "usage: %s [options] [disk_image]\n" 3857 "usage: %s [options] [disk_image]\n"
3856 "\n" 3858 "\n"
3857 "'disk_image' is a raw hard image image for IDE hard disk 0\n" 3859 "'disk_image' is a raw hard image image for IDE hard disk 0\n"
3858 "\n" 3860 "\n"
3859 "Standard options:\n" 3861 "Standard options:\n"
  3862 + "-h or -help display this help and exit\n"
3860 "-M machine select emulated machine (-M ? for list)\n" 3863 "-M machine select emulated machine (-M ? for list)\n"
3861 "-cpu cpu select CPU (-cpu ? for list)\n" 3864 "-cpu cpu select CPU (-cpu ? for list)\n"
  3865 + "-smp n set the number of CPUs to 'n' [default=1]\n"
3862 "-fda/-fdb file use 'file' as floppy disk 0/1 image\n" 3866 "-fda/-fdb file use 'file' as floppy disk 0/1 image\n"
3863 "-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n" 3867 "-hda/-hdb file use 'file' as IDE hard disk 0/1 image\n"
3864 "-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n" 3868 "-hdc/-hdd file use 'file' as IDE hard disk 2/3 image\n"
@@ -3872,19 +3876,7 @@ static void help(int exitcode) @@ -3872,19 +3876,7 @@ static void help(int exitcode)
3872 "-pflash file use 'file' as a parallel flash image\n" 3876 "-pflash file use 'file' as a parallel flash image\n"
3873 "-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)\n" 3877 "-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)\n"
3874 "-snapshot write to temporary files instead of disk image files\n" 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 "-m megs set virtual RAM size to megs MB [default=%d]\n" 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 #ifndef _WIN32 3880 #ifndef _WIN32
3889 "-k language use keyboard layout (for example \"fr\" for French)\n" 3881 "-k language use keyboard layout (for example \"fr\" for French)\n"
3890 #endif 3882 #endif
@@ -3895,21 +3887,31 @@ static void help(int exitcode) @@ -3895,21 +3887,31 @@ static void help(int exitcode)
3895 " use -soundhw ? to get the list of supported cards\n" 3887 " use -soundhw ? to get the list of supported cards\n"
3896 " use -soundhw all to enable all of them\n" 3888 " use -soundhw all to enable all of them\n"
3897 #endif 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 "-vga [std|cirrus|vmware|none]\n" 3908 "-vga [std|cirrus|vmware|none]\n"
3899 " select video card type\n" 3909 " select video card type\n"
3900 - "-localtime set the real time clock to local time [default=utc]\n"  
3901 "-full-screen start in full screen\n" 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 #if defined(TARGET_PPC) || defined(TARGET_SPARC) 3911 #if defined(TARGET_PPC) || defined(TARGET_SPARC)
3909 "-g WxH[xDEPTH] Set the initial graphical resolution and depth\n" 3912 "-g WxH[xDEPTH] Set the initial graphical resolution and depth\n"
3910 #endif 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 "\n" 3915 "\n"
3914 "Network options:\n" 3916 "Network options:\n"
3915 "-net nic[,vlan=n][,macaddr=addr][,model=type][,name=str]\n" 3917 "-net nic[,vlan=n][,macaddr=addr][,model=type][,name=str]\n"
@@ -3943,17 +3945,6 @@ static void help(int exitcode) @@ -3943,17 +3945,6 @@ static void help(int exitcode)
3943 #endif 3945 #endif
3944 "-net none use it alone to have zero network devices; if no -net option\n" 3946 "-net none use it alone to have zero network devices; if no -net option\n"
3945 " is provided, the default is '-net nic -net user'\n" 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 #ifdef CONFIG_SLIRP 3948 #ifdef CONFIG_SLIRP
3958 "-tftp dir allow tftp access to files in dir [-net user]\n" 3949 "-tftp dir allow tftp access to files in dir [-net user]\n"
3959 "-bootp file advertise file in BOOTP replies\n" 3950 "-bootp file advertise file in BOOTP replies\n"
@@ -3964,23 +3955,44 @@ static void help(int exitcode) @@ -3964,23 +3955,44 @@ static void help(int exitcode)
3964 " redirect TCP or UDP connections from host to guest [-net user]\n" 3955 " redirect TCP or UDP connections from host to guest [-net user]\n"
3965 #endif 3956 #endif
3966 "\n" 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 "Linux boot specific:\n" 3977 "Linux boot specific:\n"
3968 "-kernel bzImage use 'bzImage' as kernel image\n" 3978 "-kernel bzImage use 'bzImage' as kernel image\n"
3969 "-append cmdline use 'cmdline' as kernel command line\n" 3979 "-append cmdline use 'cmdline' as kernel command line\n"
3970 "-initrd file use 'file' as initial ram disk\n" 3980 "-initrd file use 'file' as initial ram disk\n"
3971 "\n" 3981 "\n"
3972 "Debug/Expert options:\n" 3982 "Debug/Expert options:\n"
3973 - "-monitor dev redirect the monitor to char device 'dev'\n"  
3974 "-serial dev redirect the serial port to char device 'dev'\n" 3983 "-serial dev redirect the serial port to char device 'dev'\n"
3975 "-parallel dev redirect the parallel port to char device 'dev'\n" 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 "-S freeze CPU at startup (use 'c' to start execution)\n" 3987 "-S freeze CPU at startup (use 'c' to start execution)\n"
3978 "-s wait gdb connection to port\n" 3988 "-s wait gdb connection to port\n"
3979 "-p port set gdb connection port [default=%s]\n" 3989 "-p port set gdb connection port [default=%s]\n"
3980 "-d item1,... output log to %s (use -d ? for a list of log items)\n" 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 " translation (t=none or lba) (usually qemu can guess them)\n" 3993 " translation (t=none or lba) (usually qemu can guess them)\n"
3983 "-L path set the directory for the BIOS, VGA BIOS and keymaps\n" 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 #ifdef USE_KQEMU 3996 #ifdef USE_KQEMU
3985 "-kernel-kqemu enable KQEMU full virtualization (default is user mode only)\n" 3997 "-kernel-kqemu enable KQEMU full virtualization (default is user mode only)\n"
3986 "-no-kqemu disable KQEMU kernel module usage\n" 3998 "-no-kqemu disable KQEMU kernel module usage\n"
@@ -3988,29 +4000,36 @@ static void help(int exitcode) @@ -3988,29 +4000,36 @@ static void help(int exitcode)
3988 #ifdef CONFIG_KVM 4000 #ifdef CONFIG_KVM
3989 "-enable-kvm enable KVM full virtualization support\n" 4001 "-enable-kvm enable KVM full virtualization support\n"
3990 #endif 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 "-no-reboot exit instead of rebooting\n" 4003 "-no-reboot exit instead of rebooting\n"
3999 "-no-shutdown stop before shutdown\n" 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 #ifndef _WIN32 4007 #ifndef _WIN32
4003 "-daemonize daemonize QEMU after initializing\n" 4008 "-daemonize daemonize QEMU after initializing\n"
4004 #endif 4009 #endif
4005 "-option-rom rom load a file, rom, into the option ROM space\n" 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 #endif 4014 #endif
4009 "-clock force the use of the given methods for timer alarm.\n" 4015 "-clock force the use of the given methods for timer alarm.\n"
4010 " To see what timers are available use -clock ?\n" 4016 " To see what timers are available use -clock ?\n"
  4017 + "-localtime set the real time clock to local time [default=utc]\n"
4011 "-startdate select initial date of the clock\n" 4018 "-startdate select initial date of the clock\n"
4012 "-icount [N|auto]\n" 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 "\n" 4033 "\n"
4015 "During emulation, the following keys are useful:\n" 4034 "During emulation, the following keys are useful:\n"
4016 "ctrl-alt-f toggle full screen\n" 4035 "ctrl-alt-f toggle full screen\n"
@@ -4033,34 +4052,49 @@ static void help(int exitcode) @@ -4033,34 +4052,49 @@ static void help(int exitcode)
4033 #define HAS_ARG 0x0001 4052 #define HAS_ARG 0x0001
4034 4053
4035 enum { 4054 enum {
  4055 + /* Please keep in synch with help, qemu_options[] and
  4056 + qemu-doc.texi */
  4057 + /* Standard options: */
4036 QEMU_OPTION_h, 4058 QEMU_OPTION_h,
4037 -  
4038 QEMU_OPTION_M, 4059 QEMU_OPTION_M,
4039 QEMU_OPTION_cpu, 4060 QEMU_OPTION_cpu,
  4061 + QEMU_OPTION_smp,
4040 QEMU_OPTION_fda, 4062 QEMU_OPTION_fda,
4041 QEMU_OPTION_fdb, 4063 QEMU_OPTION_fdb,
4042 QEMU_OPTION_hda, 4064 QEMU_OPTION_hda,
4043 QEMU_OPTION_hdb, 4065 QEMU_OPTION_hdb,
4044 QEMU_OPTION_hdc, 4066 QEMU_OPTION_hdc,
4045 QEMU_OPTION_hdd, 4067 QEMU_OPTION_hdd,
4046 - QEMU_OPTION_drive,  
4047 QEMU_OPTION_cdrom, 4068 QEMU_OPTION_cdrom,
  4069 + QEMU_OPTION_drive,
4048 QEMU_OPTION_mtdblock, 4070 QEMU_OPTION_mtdblock,
4049 QEMU_OPTION_sd, 4071 QEMU_OPTION_sd,
4050 QEMU_OPTION_pflash, 4072 QEMU_OPTION_pflash,
4051 QEMU_OPTION_boot, 4073 QEMU_OPTION_boot,
4052 QEMU_OPTION_snapshot, 4074 QEMU_OPTION_snapshot,
4053 -#ifdef TARGET_I386  
4054 - QEMU_OPTION_no_fd_bootchk,  
4055 -#endif  
4056 QEMU_OPTION_m, 4075 QEMU_OPTION_m,
4057 - QEMU_OPTION_nographic,  
4058 - QEMU_OPTION_portrait,  
4059 -#ifdef HAS_AUDIO 4076 + QEMU_OPTION_k,
4060 QEMU_OPTION_audio_help, 4077 QEMU_OPTION_audio_help,
4061 QEMU_OPTION_soundhw, 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 QEMU_OPTION_net, 4098 QEMU_OPTION_net,
4065 QEMU_OPTION_tftp, 4099 QEMU_OPTION_tftp,
4066 QEMU_OPTION_bootp, 4100 QEMU_OPTION_bootp,
@@ -4068,10 +4102,23 @@ enum { @@ -4068,10 +4102,23 @@ enum {
4068 QEMU_OPTION_redir, 4102 QEMU_OPTION_redir,
4069 QEMU_OPTION_bt, 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 QEMU_OPTION_kernel, 4113 QEMU_OPTION_kernel,
4072 QEMU_OPTION_append, 4114 QEMU_OPTION_append,
4073 QEMU_OPTION_initrd, 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 QEMU_OPTION_S, 4122 QEMU_OPTION_S,
4076 QEMU_OPTION_s, 4123 QEMU_OPTION_s,
4077 QEMU_OPTION_p, 4124 QEMU_OPTION_p,
@@ -4079,48 +4126,25 @@ enum { @@ -4079,48 +4126,25 @@ enum {
4079 QEMU_OPTION_hdachs, 4126 QEMU_OPTION_hdachs,
4080 QEMU_OPTION_L, 4127 QEMU_OPTION_L,
4081 QEMU_OPTION_bios, 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 QEMU_OPTION_kernel_kqemu, 4129 QEMU_OPTION_kernel_kqemu,
  4130 + QEMU_OPTION_no_kqemu,
4100 QEMU_OPTION_enable_kvm, 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 QEMU_OPTION_no_reboot, 4132 QEMU_OPTION_no_reboot,
4111 QEMU_OPTION_no_shutdown, 4133 QEMU_OPTION_no_shutdown,
4112 - QEMU_OPTION_show_cursor, 4134 + QEMU_OPTION_loadvm,
4113 QEMU_OPTION_daemonize, 4135 QEMU_OPTION_daemonize,
4114 QEMU_OPTION_option_rom, 4136 QEMU_OPTION_option_rom,
4115 - QEMU_OPTION_semihosting,  
4116 - QEMU_OPTION_name,  
4117 QEMU_OPTION_prom_env, 4137 QEMU_OPTION_prom_env,
4118 - QEMU_OPTION_old_param,  
4119 QEMU_OPTION_clock, 4138 QEMU_OPTION_clock,
  4139 + QEMU_OPTION_localtime,
4120 QEMU_OPTION_startdate, 4140 QEMU_OPTION_startdate,
4121 - QEMU_OPTION_tb_size,  
4122 QEMU_OPTION_icount, 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 QEMU_OPTION_incoming, 4148 QEMU_OPTION_incoming,
4125 }; 4149 };
4126 4150
@@ -4131,36 +4155,60 @@ typedef struct QEMUOption { @@ -4131,36 +4155,60 @@ typedef struct QEMUOption {
4131 } QEMUOption; 4155 } QEMUOption;
4132 4156
4133 static const QEMUOption qemu_options[] = { 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 { "h", 0, QEMU_OPTION_h }, 4161 { "h", 0, QEMU_OPTION_h },
4135 { "help", 0, QEMU_OPTION_h }, 4162 { "help", 0, QEMU_OPTION_h },
4136 -  
4137 { "M", HAS_ARG, QEMU_OPTION_M }, 4163 { "M", HAS_ARG, QEMU_OPTION_M },
4138 { "cpu", HAS_ARG, QEMU_OPTION_cpu }, 4164 { "cpu", HAS_ARG, QEMU_OPTION_cpu },
  4165 + { "smp", HAS_ARG, QEMU_OPTION_smp },
4139 { "fda", HAS_ARG, QEMU_OPTION_fda }, 4166 { "fda", HAS_ARG, QEMU_OPTION_fda },
4140 { "fdb", HAS_ARG, QEMU_OPTION_fdb }, 4167 { "fdb", HAS_ARG, QEMU_OPTION_fdb },
4141 { "hda", HAS_ARG, QEMU_OPTION_hda }, 4168 { "hda", HAS_ARG, QEMU_OPTION_hda },
4142 { "hdb", HAS_ARG, QEMU_OPTION_hdb }, 4169 { "hdb", HAS_ARG, QEMU_OPTION_hdb },
4143 { "hdc", HAS_ARG, QEMU_OPTION_hdc }, 4170 { "hdc", HAS_ARG, QEMU_OPTION_hdc },
4144 { "hdd", HAS_ARG, QEMU_OPTION_hdd }, 4171 { "hdd", HAS_ARG, QEMU_OPTION_hdd },
4145 - { "drive", HAS_ARG, QEMU_OPTION_drive },  
4146 { "cdrom", HAS_ARG, QEMU_OPTION_cdrom }, 4172 { "cdrom", HAS_ARG, QEMU_OPTION_cdrom },
  4173 + { "drive", HAS_ARG, QEMU_OPTION_drive },
4147 { "mtdblock", HAS_ARG, QEMU_OPTION_mtdblock }, 4174 { "mtdblock", HAS_ARG, QEMU_OPTION_mtdblock },
4148 { "sd", HAS_ARG, QEMU_OPTION_sd }, 4175 { "sd", HAS_ARG, QEMU_OPTION_sd },
4149 { "pflash", HAS_ARG, QEMU_OPTION_pflash }, 4176 { "pflash", HAS_ARG, QEMU_OPTION_pflash },
4150 { "boot", HAS_ARG, QEMU_OPTION_boot }, 4177 { "boot", HAS_ARG, QEMU_OPTION_boot },
4151 { "snapshot", 0, QEMU_OPTION_snapshot }, 4178 { "snapshot", 0, QEMU_OPTION_snapshot },
4152 -#ifdef TARGET_I386  
4153 - { "no-fd-bootchk", 0, QEMU_OPTION_no_fd_bootchk },  
4154 -#endif  
4155 { "m", HAS_ARG, QEMU_OPTION_m }, 4179 { "m", HAS_ARG, QEMU_OPTION_m },
4156 - { "nographic", 0, QEMU_OPTION_nographic },  
4157 - { "portrait", 0, QEMU_OPTION_portrait }, 4180 +#ifndef _WIN32
4158 { "k", HAS_ARG, QEMU_OPTION_k }, 4181 { "k", HAS_ARG, QEMU_OPTION_k },
  4182 +#endif
4159 #ifdef HAS_AUDIO 4183 #ifdef HAS_AUDIO
4160 { "audio-help", 0, QEMU_OPTION_audio_help }, 4184 { "audio-help", 0, QEMU_OPTION_audio_help },
4161 { "soundhw", HAS_ARG, QEMU_OPTION_soundhw }, 4185 { "soundhw", HAS_ARG, QEMU_OPTION_soundhw },
4162 #endif 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 { "net", HAS_ARG, QEMU_OPTION_net}, 4212 { "net", HAS_ARG, QEMU_OPTION_net},
4165 #ifdef CONFIG_SLIRP 4213 #ifdef CONFIG_SLIRP
4166 { "tftp", HAS_ARG, QEMU_OPTION_tftp }, 4214 { "tftp", HAS_ARG, QEMU_OPTION_tftp },
@@ -4171,11 +4219,25 @@ static const QEMUOption qemu_options[] = { @@ -4171,11 +4219,25 @@ static const QEMUOption qemu_options[] = {
4171 { "redir", HAS_ARG, QEMU_OPTION_redir }, 4219 { "redir", HAS_ARG, QEMU_OPTION_redir },
4172 #endif 4220 #endif
4173 { "bt", HAS_ARG, QEMU_OPTION_bt }, 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 { "kernel", HAS_ARG, QEMU_OPTION_kernel }, 4232 { "kernel", HAS_ARG, QEMU_OPTION_kernel },
4176 { "append", HAS_ARG, QEMU_OPTION_append }, 4233 { "append", HAS_ARG, QEMU_OPTION_append },
4177 { "initrd", HAS_ARG, QEMU_OPTION_initrd }, 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 { "S", 0, QEMU_OPTION_S }, 4241 { "S", 0, QEMU_OPTION_S },
4180 { "s", 0, QEMU_OPTION_s }, 4242 { "s", 0, QEMU_OPTION_s },
4181 { "p", HAS_ARG, QEMU_OPTION_p }, 4243 { "p", HAS_ARG, QEMU_OPTION_p },
@@ -4184,64 +4246,34 @@ static const QEMUOption qemu_options[] = { @@ -4184,64 +4246,34 @@ static const QEMUOption qemu_options[] = {
4184 { "L", HAS_ARG, QEMU_OPTION_L }, 4246 { "L", HAS_ARG, QEMU_OPTION_L },
4185 { "bios", HAS_ARG, QEMU_OPTION_bios }, 4247 { "bios", HAS_ARG, QEMU_OPTION_bios },
4186 #ifdef USE_KQEMU 4248 #ifdef USE_KQEMU
4187 - { "no-kqemu", 0, QEMU_OPTION_no_kqemu },  
4188 { "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu }, 4249 { "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu },
  4250 + { "no-kqemu", 0, QEMU_OPTION_no_kqemu },
4189 #endif 4251 #endif
4190 #ifdef CONFIG_KVM 4252 #ifdef CONFIG_KVM
4191 { "enable-kvm", 0, QEMU_OPTION_enable_kvm }, 4253 { "enable-kvm", 0, QEMU_OPTION_enable_kvm },
4192 #endif 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 #endif 4262 #endif
  4263 + { "clock", HAS_ARG, QEMU_OPTION_clock },
4196 { "localtime", 0, QEMU_OPTION_localtime }, 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 { "echr", HAS_ARG, QEMU_OPTION_echr }, 4267 { "echr", HAS_ARG, QEMU_OPTION_echr },
4199 - { "monitor", HAS_ARG, QEMU_OPTION_monitor },  
4200 - { "serial", HAS_ARG, QEMU_OPTION_serial },  
4201 { "virtioconsole", HAS_ARG, QEMU_OPTION_virtiocon }, 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 { "show-cursor", 0, QEMU_OPTION_show_cursor }, 4269 { "show-cursor", 0, QEMU_OPTION_show_cursor },
4229 - { "daemonize", 0, QEMU_OPTION_daemonize },  
4230 - { "option-rom", HAS_ARG, QEMU_OPTION_option_rom },  
4231 #if defined(TARGET_ARM) || defined(TARGET_M68K) 4270 #if defined(TARGET_ARM) || defined(TARGET_M68K)
4232 { "semihosting", 0, QEMU_OPTION_semihosting }, 4271 { "semihosting", 0, QEMU_OPTION_semihosting },
4233 #endif 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 #if defined(TARGET_ARM) 4273 #if defined(TARGET_ARM)
4239 { "old-param", 0, QEMU_OPTION_old_param }, 4274 { "old-param", 0, QEMU_OPTION_old_param },
4240 #endif 4275 #endif
4241 - { "clock", HAS_ARG, QEMU_OPTION_clock },  
4242 - { "startdate", HAS_ARG, QEMU_OPTION_startdate },  
4243 { "tb-size", HAS_ARG, QEMU_OPTION_tb_size }, 4276 { "tb-size", HAS_ARG, QEMU_OPTION_tb_size },
4244 - { "icount", HAS_ARG, QEMU_OPTION_icount },  
4245 { "incoming", HAS_ARG, QEMU_OPTION_incoming }, 4277 { "incoming", HAS_ARG, QEMU_OPTION_incoming },
4246 { NULL }, 4278 { NULL },
4247 }; 4279 };