Fix incorrect return type.
[qemu] / qemu-doc.texi
index d0b0b34..7ab0520 100644 (file)
@@ -22,9 +22,9 @@ QEMU has two operating modes:
 
 @item 
 Full system emulation. In this mode, QEMU emulates a full system (for
-example a PC), including a processor and various peripherals. It can
-be used to launch different Operating Systems without rebooting the
-PC or to debug system code.
+example a PC), including one or several processors and various
+peripherals. It can be used to launch different Operating Systems
+without rebooting the PC or to debug system code.
 
 @item 
 User mode emulation (Linux host only). In this mode, QEMU can launch
@@ -40,15 +40,17 @@ performance.
 For system emulation, the following hardware targets are supported:
 @itemize
 @item PC (x86 or x86_64 processor)
+@item ISA PC (old style PC without PCI bus)
 @item PREP (PowerPC processor)
 @item G3 BW PowerMac (PowerPC processor)
 @item Mac99 PowerMac (PowerPC processor, in progress)
 @item Sun4m (32-bit Sparc processor)
 @item Sun4u (64-bit Sparc processor, in progress)
-@item Malta board (32-bit MIPS processor, in progress)
+@item Malta board (32-bit MIPS processor)
+@item ARM Integrator/CP (ARM926E or 1026E processor)
 @end itemize
 
-For user emulation, x86, PowerPC, ARM, and Sparc32/64 CPUs are supported.
+For user emulation, x86, PowerPC, ARM, MIPS, and Sparc32/64 CPUs are supported.
 
 @chapter Installation
 
@@ -62,21 +64,21 @@ have to install it. Otherwise, see @ref{compilation}.
 @section Windows
 
 Download the experimental binary installer at
-@url{http://www.freeoszoo.org/download.php}.
+@url{http://www.free.oszoo.org/download.html}.
 
 @section Mac OS X
 
 Download the experimental binary installer at
-@url{http://www.freeoszoo.org/download.php}.
+@url{http://www.free.oszoo.org/download.html}.
 
-@chapter QEMU PC System emulator invocation
+@chapter QEMU PC System emulator
 
 @section Introduction
 
 @c man begin DESCRIPTION
 
-The QEMU System emulator simulates the
-following PC peripherals:
+The QEMU PC System emulator simulates the
+following peripherals:
 
 @itemize @minus
 @item 
@@ -104,6 +106,8 @@ Adlib(OPL2) - Yamaha YM3812 compatible chip
 PCI UHCI USB controller and a virtual USB hub.
 @end itemize
 
+SMP is supported with up to 255 CPUs.
+
 Note that adlib is only available when QEMU was configured with
 -enable-adlib
 
@@ -169,6 +173,10 @@ the write back by pressing @key{C-a s} (@xref{disk_images}).
 @item -m megs
 Set virtual RAM size to @var{megs} megabytes. Default is 128 MB.
 
+@item -smp n
+Simulate an SMP system with @var{n} CPUs. On the PC target, up to 255
+CPUs are supported.
+
 @item -nographic
 
 Normally, QEMU uses SDL to display the VGA output. With this option,
@@ -193,16 +201,12 @@ de  en-us  fi  fr-be  hr     it  lv  nl-be  pt  sl     tr
 
 The default is @code{en-us}.
 
-@item -enable-audio
-
-Will enable audio and all the sound hardware QEMU was built with.
-
 @item -audio-help
 
 Will show the audio subsystem help: list of drivers, tunable
 parameters.
 
-@item -soundhw card1,card2,...
+@item -soundhw card1,card2,... or -soundhw all
 
 Enable audio and selected sound hardware. Use ? to print all
 available sound hardware.
@@ -210,6 +214,7 @@ available sound hardware.
 @example
 qemu -soundhw sb16,adlib hda
 qemu -soundhw es1370 hda
+qemu -soundhw all hda
 qemu -soundhw ?
 @end example
 
@@ -247,16 +252,19 @@ Network options:
 
 @table @option
 
-@item -net nic[,vlan=n][,macaddr=addr]
+@item -net nic[,vlan=n][,macaddr=addr][,model=type]
 Create a new Network Interface Card and connect it to VLAN @var{n} (@var{n}
 = 0 is the default). The NIC is currently an NE2000 on the PC
 target. Optionally, the MAC address can be changed. If no
 @option{-net} option is specified, a single NIC is created.
+Qemu can emulate several different models of network card.  Valid values for
+@var{type} are @code{ne2k_pci}, @code{ne2k_isa}, @code{rtl8139},
+@code{smc91c111} and @code{lance}.  Not all devices are supported on all
+targets.
 
 @item -net user[,vlan=n]
-Use the user mode network stack which requires not administrator
-priviledge to run. This is the default if no @option{-net} option is
-specified.
+Use the user mode network stack which requires no administrator
+priviledge to run.
 
 @item -net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
 Connect the host TAP network interface @var{name} to VLAN @var{n} and
@@ -282,21 +290,55 @@ Connect the VLAN @var{n} to a remote VLAN in another QEMU virtual
 machine using a TCP socket connection. If @option{listen} is
 specified, QEMU waits for incoming connections on @var{port}
 (@var{host} is optional). @option{connect} is used to connect to
-another QEMU instance using the @option{listen} option.  @option{fd=h}
-specifies an already opened socket.
+another QEMU instance using the @option{listen} option. @option{fd=h}
+specifies an already opened TCP socket.
 
 Example:
 @example
 # launch a first QEMU instance
-qemu linux.img -net nic -net socket,listen=:1234
+qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,listen=:1234
 # connect the VLAN 0 of this instance to the VLAN 0 of the first instance
-qemu linux.img -net nic -net socket,connect=127.0.0.1:1234
+qemu linux.img -net nic,macaddr=52:54:00:12:34:57 -net socket,connect=127.0.0.1:1234
+@end example
+
+@item -net socket[,vlan=n][,fd=h][,mcast=maddr:port]
+
+Create a VLAN @var{n} shared with another QEMU virtual
+machines using a UDP multicast socket, effectively making a bus for 
+every QEMU with same multicast address @var{maddr} and @var{port}.
+NOTES:
+@enumerate
+@item 
+Several QEMU can be running on different hosts and share same bus (assuming 
+correct multicast setup for these hosts).
+@item
+mcast support is compatible with User Mode Linux (argument @option{eth@var{N}=mcast}), see
+@url{http://user-mode-linux.sf.net}.
+@item Use @option{fd=h} to specify an already opened UDP multicast socket.
+@end enumerate
+
+Example:
+@example
+# launch one QEMU instance
+qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,mcast=230.0.0.1:1234
+# launch another QEMU instance on same "bus"
+qemu linux.img -net nic,macaddr=52:54:00:12:34:57 -net socket,mcast=230.0.0.1:1234
+# launch yet another QEMU instance on same "bus"
+qemu linux.img -net nic,macaddr=52:54:00:12:34:58 -net socket,mcast=230.0.0.1:1234
+@end example
+
+Example (User Mode Linux compat.):
+@example
+# launch QEMU instance (note mcast address selected is UML's default)
+qemu linux.img -net nic,macaddr=52:54:00:12:34:56 -net socket,mcast=239.192.168.1:1102
+# launch UML
+/path/to/linux ubd0=/path/to/root_fs eth0=mcast
 @end example
 
 @item -net none
 Indicate that no network devices should be configured. It is used to
-override the default configuration which is activated if no
-@option{-net} options are provided.
+override the default configuration (@option{-net nic -net user}) which
+is activated if no @option{-net} options are provided.
 
 @item -tftp prefix
 When using the user mode network stack, activate a built-in TFTP
@@ -721,6 +763,40 @@ command (or @key{C-a s} in the serial console).
 
 @include qemu-img.texi
 
+@subsection Virtual FAT disk images
+
+QEMU can automatically create a virtual FAT disk image from a
+directory tree. In order to use it, just type:
+
+@example 
+qemu linux.img -hdb fat:/my_directory
+@end example
+
+Then you access access to all the files in the @file{/my_directory}
+directory without having to copy them in a disk image or to export
+them via SAMBA or NFS. The default access is @emph{read-only}.
+
+Floppies can be emulated with the @code{:floppy:} option:
+
+@example 
+qemu linux.img -fda fat:floppy:/my_directory
+@end example
+
+A read/write support is available for testing (beta stage) with the
+@code{:rw:} option:
+
+@example 
+qemu linux.img -fda fat:floppy:rw:/my_directory
+@end example
+
+What you should @emph{never} do:
+@itemize
+@item use non-ASCII filenames ;
+@item use "-snapshot" together with ":rw:" ;
+@item expect it to work when loadvm'ing ;
+@item write to the FAT directory on the host system while accessing it with the guest system.
+@end itemize
+
 @section Network emulation
 
 QEMU can simulate several networks cards (NE2000 boards on the PC
@@ -1145,7 +1221,13 @@ it takes host CPU cycles even when idle. You can install the utility
 from @url{http://www.vmware.com/software/dosidle210.zip} to solve this
 problem.
 
-@chapter QEMU PowerPC System emulator invocation
+@chapter QEMU System emulator for non PC targets
+
+QEMU is a generic emulator and it emulates many non PC
+machines. Most of the options are similar to the PC emulator. The
+differences are mentionned in the following sections.
+
+@section QEMU PowerPC System emulator
 
 Use the executable @file{qemu-system-ppc} to simulate a complete PREP
 or PowerMac PowerPC system.
@@ -1189,10 +1271,7 @@ PC compatible keyboard and mouse.
 @end itemize
 
 QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
-@url{http://site.voila.fr/jmayer/OpenHackWare/index.htm}.
-
-You can read the qemu PC system emulation chapter to have more
-informations about QEMU usage.
+@url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}.
 
 @c man begin OPTIONS
 
@@ -1210,9 +1289,9 @@ Set the initial VGA graphic mode. The default is 800x600x15.
 
 
 More information is available at
-@url{http://jocelyn.mayer.free.fr/qemu-ppc/}.
+@url{http://perso.magic.fr/l_indien/qemu-ppc/}.
 
-@chapter Sparc32 System emulator invocation
+@section Sparc32 System emulator invocation
 
 Use the executable @file{qemu-system-sparc} to simulate a JavaStation
 (sun4m architecture). The emulation is somewhat complete.
@@ -1261,7 +1340,7 @@ Set the initial TCX graphic mode. The default is 1024x768.
 
 @c man end 
 
-@chapter Sparc64 System emulator invocation
+@section Sparc64 System emulator invocation
 
 Use the executable @file{qemu-system-sparc64} to simulate a Sun4u machine.
 The emulator is not usable for anything yet.
@@ -1279,12 +1358,42 @@ Non Volatile RAM M48T59
 PC-compatible serial ports
 @end itemize
 
-@chapter MIPS System emulator invocation
+@section MIPS System emulator invocation
 
 Use the executable @file{qemu-system-mips} to simulate a MIPS machine.
-The emulator begins to launch a Linux kernel.
+The emulator is able to boot a Linux kernel and to run a Linux Debian
+installation from NFS. The following devices are emulated:
+
+@itemize @minus
+@item 
+MIPS R4K CPU
+@item
+PC style serial port
+@item
+NE2000 network card
+@end itemize
+
+More information is available in the QEMU mailing-list archive.
+
+@section ARM System emulator invocation
+
+Use the executable @file{qemu-system-arm} to simulate a ARM
+machine. The ARM Integrator/CP board is emulated with the following
+devices:
+
+@itemize @minus
+@item
+ARM926E or ARM1026E CPU
+@item
+Two PL011 UARTs
+@item 
+SMC 91c111 Ethernet adapter
+@end itemize
+
+A Linux 2.6 test image is available on the QEMU web site. More
+information is available in the QEMU mailing-list archive.
 
-@chapter QEMU User space emulator invocation
+@chapter QEMU Linux User space emulator 
 
 @section Quick Start