typo
[qemu] / qemu-doc.texi
index d0b0b34..9e47350 100644 (file)
@@ -1,16 +1,46 @@
 \input texinfo @c -*- texinfo -*-
 \input texinfo @c -*- texinfo -*-
+@c %**start of header
+@setfilename qemu-doc.info
+@settitle QEMU CPU Emulator User Documentation
+@exampleindent 0
+@paragraphindent 0
+@c %**end of header
 
 @iftex
 
 @iftex
-@settitle QEMU CPU Emulator User Documentation
 @titlepage
 @sp 7
 @titlepage
 @sp 7
-@center @titlefont{QEMU CPU Emulator User Documentation}
+@center @titlefont{QEMU CPU Emulator}
+@sp 1
+@center @titlefont{User Documentation}
 @sp 3
 @end titlepage
 @end iftex
 
 @sp 3
 @end titlepage
 @end iftex
 
+@ifnottex
+@node Top
+@top
+
+@menu
+* Introduction::
+* Installation::
+* QEMU PC System emulator::
+* QEMU System emulator for non PC targets::
+* QEMU Linux User space emulator::
+* compilation:: Compilation from the sources
+* Index::
+@end menu
+@end ifnottex
+
+@contents
+
+@node Introduction
 @chapter Introduction
 
 @chapter Introduction
 
+@menu
+* intro_features:: Features
+@end menu
+
+@node intro_features
 @section Features
 
 QEMU is a FAST! processor emulator using dynamic translation to
 @section Features
 
 QEMU is a FAST! processor emulator using dynamic translation to
@@ -22,9 +52,9 @@ QEMU has two operating modes:
 
 @item 
 Full system emulation. In this mode, QEMU emulates a full system (for
 
 @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
 
 @item 
 User mode emulation (Linux host only). In this mode, QEMU can launch
@@ -40,43 +70,71 @@ performance.
 For system emulation, the following hardware targets are supported:
 @itemize
 @item PC (x86 or x86_64 processor)
 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 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
 
 @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.
 
 
+@node Installation
 @chapter Installation
 
 If you want to compile QEMU yourself, see @ref{compilation}.
 
 @chapter Installation
 
 If you want to compile QEMU yourself, see @ref{compilation}.
 
+@menu
+* install_linux::   Linux
+* install_windows:: Windows
+* install_mac::     Macintosh
+@end menu
+
+@node install_linux
 @section Linux
 
 If a precompiled package is available for your distribution - you just
 have to install it. Otherwise, see @ref{compilation}.
 
 @section Linux
 
 If a precompiled package is available for your distribution - you just
 have to install it. Otherwise, see @ref{compilation}.
 
+@node install_windows
 @section Windows
 
 Download the experimental binary installer at
 @section Windows
 
 Download the experimental binary installer at
-@url{http://www.freeoszoo.org/download.php}.
+@url{http://www.free.oszoo.org/@/download.html}.
 
 
+@node install_mac
 @section Mac OS X
 
 Download the experimental binary installer at
 @section Mac OS X
 
 Download the experimental binary installer at
-@url{http://www.freeoszoo.org/download.php}.
-
-@chapter QEMU PC System emulator invocation
-
+@url{http://www.free.oszoo.org/@/download.html}.
+
+@node QEMU PC System emulator
+@chapter QEMU PC System emulator
+
+@menu
+* pcsys_introduction:: Introduction
+* pcsys_quickstart::   Quick Start
+* sec_invocation::     Invocation
+* pcsys_keys::         Keys
+* pcsys_monitor::      QEMU Monitor
+* disk_images::        Disk Images
+* pcsys_network::      Network emulation
+* direct_linux_boot::  Direct Linux Boot
+* pcsys_usb::          USB emulation
+* gdb_usage::          GDB usage
+* pcsys_os_specific::  Target OS specific information
+@end menu
+
+@node pcsys_introduction
 @section Introduction
 
 @c man begin DESCRIPTION
 
 @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 
 
 @itemize @minus
 @item 
@@ -104,6 +162,8 @@ Adlib(OPL2) - Yamaha YM3812 compatible chip
 PCI UHCI USB controller and a virtual USB hub.
 @end itemize
 
 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
 
 Note that adlib is only available when QEMU was configured with
 -enable-adlib
 
@@ -114,6 +174,7 @@ QEMU uses YM3812 emulation by Tatsuyuki Satoh.
 
 @c man end
 
 
 @c man end
 
+@node pcsys_quickstart
 @section Quick Start
 
 Download and uncompress the linux image (@file{linux.img}) and type:
 @section Quick Start
 
 Download and uncompress the linux image (@file{linux.img}) and type:
@@ -143,14 +204,14 @@ Select the emulated machine (@code{-M ?} for list)
 
 @item -fda file
 @item -fdb file
 
 @item -fda file
 @item -fdb file
-Use @var{file} as floppy disk 0/1 image (@xref{disk_images}). You can
+Use @var{file} as floppy disk 0/1 image (@pxref{disk_images}). You can
 use the host floppy by using @file{/dev/fd0} as filename.
 
 @item -hda file
 @item -hdb file
 @item -hdc file
 @item -hdd file
 use the host floppy by using @file{/dev/fd0} as filename.
 
 @item -hda file
 @item -hdb file
 @item -hdc file
 @item -hdd file
-Use @var{file} as hard disk 0, 1, 2 or 3 image (@xref{disk_images}).
+Use @var{file} as hard disk 0, 1, 2 or 3 image (@pxref{disk_images}).
 
 @item -cdrom file
 Use @var{file} as CD-ROM image (you cannot use @option{-hdc} and and
 
 @item -cdrom file
 Use @var{file} as CD-ROM image (you cannot use @option{-hdc} and and
@@ -164,11 +225,15 @@ the default.
 @item -snapshot
 Write to temporary files instead of disk image files. In this case,
 the raw disk image you use is not written back. You can however force
 @item -snapshot
 Write to temporary files instead of disk image files. In this case,
 the raw disk image you use is not written back. You can however force
-the write back by pressing @key{C-a s} (@xref{disk_images}). 
+the write back by pressing @key{C-a s} (@pxref{disk_images}). 
 
 @item -m megs
 Set virtual RAM size to @var{megs} megabytes. Default is 128 MB.
 
 
 @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,
 @item -nographic
 
 Normally, QEMU uses SDL to display the VGA output. With this option,
@@ -177,6 +242,13 @@ command line application. The emulated serial port is redirected on
 the console. Therefore, you can still use QEMU to debug a Linux kernel
 with a serial console.
 
 the console. Therefore, you can still use QEMU to debug a Linux kernel
 with a serial console.
 
+@item -vnc d
+
+Normally, QEMU uses SDL to display the VGA output.  With this option,
+you can have QEMU listen on VNC display d and redirect the VGA display
+over the VNC session.  It is very useful to enable the usb tablet device
+when using this option (option @option{-usbdevice tablet}).
+
 @item -k language
 
 Use keyboard layout @var{language} (for example @code{fr} for
 @item -k language
 
 Use keyboard layout @var{language} (for example @code{fr} for
@@ -193,16 +265,12 @@ de  en-us  fi  fr-be  hr     it  lv  nl-be  pt  sl     tr
 
 The default is @code{en-us}.
 
 
 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 -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.
 
 Enable audio and selected sound hardware. Use ? to print all
 available sound hardware.
@@ -210,6 +278,7 @@ available sound hardware.
 @example
 qemu -soundhw sb16,adlib hda
 qemu -soundhw es1370 hda
 @example
 qemu -soundhw sb16,adlib hda
 qemu -soundhw es1370 hda
+qemu -soundhw all hda
 qemu -soundhw ?
 @end example
 
 qemu -soundhw ?
 @end example
 
@@ -247,16 +316,20 @@ Network options:
 
 @table @option
 
 
 @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.
 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.
+@item -net user[,vlan=n][,hostname=name]
+Use the user mode network stack which requires no administrator
+priviledge to run.  @option{hostname=name} can be used to specify the client
+hostname reported by the builtin DHCP server.
 
 @item -net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
 Connect the host TAP network interface @var{name} to VLAN @var{n} and
 
 @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 +355,63 @@ 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
 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
 
 Example:
 @example
 # launch a first QEMU instance
-qemu linux.img -net nic -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: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,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
 @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
 
 @item -tftp prefix
 When using the user mode network stack, activate a built-in TFTP
@@ -421,7 +536,7 @@ The default device is @code{vc} in graphical mode and @code{stdio} in
 non graphical mode.
 
 @item -s
 non graphical mode.
 
 @item -s
-Wait gdb connection to port 1234 (@xref{gdb_usage}). 
+Wait gdb connection to port 1234 (@pxref{gdb_usage}). 
 @item -p port
 Change gdb connection port.
 @item -S
 @item -p port
 Change gdb connection port.
 @item -S
@@ -444,6 +559,7 @@ Start right away with a saved state (@code{loadvm} in monitor)
 
 @c man end
 
 
 @c man end
 
+@node pcsys_keys
 @section Keys
 
 @c man begin OPTIONS
 @section Keys
 
 @c man begin OPTIONS
@@ -492,9 +608,6 @@ Send Ctrl-a
 
 @ignore
 
 
 @ignore
 
-@setfilename qemu 
-@settitle QEMU System Emulator
-
 @c man begin SEEALSO
 The HTML documentation of QEMU for more precise information and Linux
 user mode emulator invocation.
 @c man begin SEEALSO
 The HTML documentation of QEMU for more precise information and Linux
 user mode emulator invocation.
@@ -506,8 +619,7 @@ Fabrice Bellard
 
 @end ignore
 
 
 @end ignore
 
-@end ignore
-
+@node pcsys_monitor
 @section QEMU Monitor
 
 The QEMU monitor is used to give complex commands to the QEMU
 @section QEMU Monitor
 
 The QEMU monitor is used to give complex commands to the QEMU
@@ -633,7 +745,7 @@ Dump 10 instructions at the current instruction pointer:
 
 @item
 Dump 80 16 bit values at the start of the video memory.
 
 @item
 Dump 80 16 bit values at the start of the video memory.
-@example 
+@smallexample 
 (qemu) xp/80hx 0xb8000
 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
 (qemu) xp/80hx 0xb8000
 0x000b8000: 0x0b50 0x0b6c 0x0b65 0x0b78 0x0b38 0x0b36 0x0b2f 0x0b42
 0x000b8010: 0x0b6f 0x0b63 0x0b68 0x0b73 0x0b20 0x0b56 0x0b47 0x0b41
@@ -645,7 +757,7 @@ Dump 80 16 bit values at the start of the video memory.
 0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
 0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
 0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
 0x000b8070: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
 0x000b8080: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
 0x000b8090: 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720 0x0720
-@end example
+@end smallexample
 @end itemize
 
 @item p or print/fmt expr
 @end itemize
 
 @item p or print/fmt expr
@@ -696,6 +808,14 @@ Since version 0.6.1, QEMU supports many disk image formats, including
 growable disk images (their size increase as non empty sectors are
 written), compressed and encrypted disk images.
 
 growable disk images (their size increase as non empty sectors are
 written), compressed and encrypted disk images.
 
+@menu
+* disk_images_quickstart::    Quick start for disk image creation
+* disk_images_snapshot_mode:: Snapshot mode
+* qemu_img_invocation::       qemu-img Invocation
+* disk_images_fat_images::    Virtual FAT disk images
+@end menu
+
+@node disk_images_quickstart
 @subsection Quick start for disk image creation
 
 You can create a disk image with the command:
 @subsection Quick start for disk image creation
 
 You can create a disk image with the command:
@@ -706,8 +826,9 @@ where @var{myimage.img} is the disk image filename and @var{mysize} is its
 size in kilobytes. You can add an @code{M} suffix to give the size in
 megabytes and a @code{G} suffix for gigabytes.
 
 size in kilobytes. You can add an @code{M} suffix to give the size in
 megabytes and a @code{G} suffix for gigabytes.
 
-@xref{qemu_img_invocation} for more information.
+See @ref{qemu_img_invocation} for more information.
 
 
+@node disk_images_snapshot_mode
 @subsection Snapshot mode
 
 If you use the option @option{-snapshot}, all disk images are
 @subsection Snapshot mode
 
 If you use the option @option{-snapshot}, all disk images are
@@ -721,6 +842,42 @@ command (or @key{C-a s} in the serial console).
 
 @include qemu-img.texi
 
 
 @include qemu-img.texi
 
+@node disk_images_fat_images
+@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
+
+@node pcsys_network
 @section Network emulation
 
 QEMU can simulate several networks cards (NE2000 boards on the PC
 @section Network emulation
 
 QEMU can simulate several networks cards (NE2000 boards on the PC
@@ -824,10 +981,10 @@ seen from the emulated kernel at IP address 172.20.0.1.
 
 @item Launch @code{qemu.sh}. You should have the following output:
 
 
 @item Launch @code{qemu.sh}. You should have the following output:
 
-@example
+@smallexample
 > ./qemu.sh 
 Connected to host network interface: tun0
 > ./qemu.sh 
 Connected to host network interface: tun0
-Linux version 2.4.21 (bellard@voyager.localdomain) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #5 Tue Nov 11 18:18:53 CET 2003
+Linux version 2.4.21 (bellard@@voyager.localdomain) (gcc version 3.2.2 20030222 @/(Red Hat @/Linux 3.2.2-5)) #5 Tue Nov 11 18:18:53 CET 2003
 BIOS-provided physical RAM map:
  BIOS-e801: 0000000000000000 - 000000000009f000 (usable)
  BIOS-e801: 0000000000100000 - 0000000002000000 (usable)
 BIOS-provided physical RAM map:
  BIOS-e801: 0000000000000000 - 000000000009f000 (usable)
  BIOS-e801: 0000000000100000 - 0000000002000000 (usable)
@@ -836,7 +993,7 @@ On node 0 totalpages: 8192
 zone(0): 4096 pages.
 zone(1): 4096 pages.
 zone(2): 0 pages.
 zone(0): 4096 pages.
 zone(1): 4096 pages.
 zone(2): 0 pages.
-Kernel command line: root=/dev/hda sb=0x220,5,1,5 ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe console=ttyS0
+Kernel command line: root=/dev/hda sb=0x220,5,1,5 ide2=noprobe ide3=noprobe ide4=noprobe @/ide5=noprobe console=ttyS0
 ide_setup: ide2=noprobe
 ide_setup: ide3=noprobe
 ide_setup: ide4=noprobe
 ide_setup: ide2=noprobe
 ide_setup: ide3=noprobe
 ide_setup: ide4=noprobe
@@ -845,7 +1002,7 @@ Initializing CPU#0
 Detected 2399.621 MHz processor.
 Console: colour EGA 80x25
 Calibrating delay loop... 4744.80 BogoMIPS
 Detected 2399.621 MHz processor.
 Console: colour EGA 80x25
 Calibrating delay loop... 4744.80 BogoMIPS
-Memory: 28872k/32768k available (1210k kernel code, 3508k reserved, 266k data, 64k init, 0k highmem)
+Memory: 28872k/32768k available (1210k kernel code, 3508k reserved, 266k data, 64k init, @/0k highmem)
 Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
 Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
 Mount cache hash table entries: 512 (order: 0, 4096 bytes)
 Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
 Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
 Mount cache hash table entries: 512 (order: 0, 4096 bytes)
@@ -864,7 +1021,7 @@ Detected PS/2 Mouse Port.
 pty: 256 Unix98 ptys configured
 Serial driver version 5.05c (2001-07-08) with no serial options enabled
 ttyS00 at 0x03f8 (irq = 4) is a 16450
 pty: 256 Unix98 ptys configured
 Serial driver version 5.05c (2001-07-08) with no serial options enabled
 ttyS00 at 0x03f8 (irq = 4) is a 16450
-ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
+ne.c:v1.10 9/23/94 Donald Becker (becker@@scyld.com)
 Last modified Nov 1, 2000 by Paul Gortmaker
 NE*000 ethercard probe at 0x300: 52 54 00 12 34 56
 eth0: NE2000 found at 0x300, using IRQ 9.
 Last modified Nov 1, 2000 by Paul Gortmaker
 NE*000 ethercard probe at 0x300: 52 54 00 12 34 56
 eth0: NE2000 found at 0x300, using IRQ 9.
@@ -887,14 +1044,14 @@ EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
 VFS: Mounted root (ext2 filesystem).
 Freeing unused kernel memory: 64k freed
  
 VFS: Mounted root (ext2 filesystem).
 Freeing unused kernel memory: 64k freed
  
-Linux version 2.4.21 (bellard@voyager.localdomain) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #5 Tue Nov 11 18:18:53 CET 2003
+Linux version 2.4.21 (bellard@@voyager.localdomain) (gcc version 3.2.2 20030222 @/(Red Hat @/Linux 3.2.2-5)) #5 Tue Nov 11 18:18:53 CET 2003
  
 QEMU Linux test distribution (based on Redhat 9)
  
 Type 'exit' to halt the system
  
 sh-2.05b# 
  
 QEMU Linux test distribution (based on Redhat 9)
  
 Type 'exit' to halt the system
  
 sh-2.05b# 
-@end example
+@end smallexample
 
 @item
 Then you can play with the kernel inside the virtual serial console. You
 
 @item
 Then you can play with the kernel inside the virtual serial console. You
@@ -944,6 +1101,7 @@ Lawton for the plex86 Project (@url{www.plex86.org}).
 
 @end enumerate
 
 
 @end enumerate
 
+@node pcsys_usb
 @section USB emulation
 
 QEMU emulates a PCI UHCI USB controller and a 8 port USB hub connected
 @section USB emulation
 
 QEMU emulates a PCI UHCI USB controller and a 8 port USB hub connected
@@ -1027,7 +1185,8 @@ QEMU has a primitive support to work with gdb, so that you can do
 In order to use gdb, launch qemu with the '-s' option. It will wait for a
 gdb connection:
 @example
 In order to use gdb, launch qemu with the '-s' option. It will wait for a
 gdb connection:
 @example
-> qemu -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda"
+> qemu -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
+       -append "root=/dev/hda"
 Connected to host network interface: tun0
 Waiting gdb connection on port 1234
 @end example
 Connected to host network interface: tun0
 Waiting gdb connection on port 1234
 @end example
@@ -1059,6 +1218,7 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use
 @code{x/10i $cs*16+*eip} to dump the code at the PC position.
 @end enumerate
 
 @code{x/10i $cs*16+*eip} to dump the code at the PC position.
 @end enumerate
 
+@node pcsys_os_specific
 @section Target OS specific information
 
 @subsection Linux
 @section Target OS specific information
 
 @subsection Linux
@@ -1145,7 +1305,23 @@ 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.
 
 from @url{http://www.vmware.com/software/dosidle210.zip} to solve this
 problem.
 
-@chapter QEMU PowerPC System emulator invocation
+@node QEMU System emulator for non PC targets
+@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.
+
+@menu
+* QEMU PowerPC System emulator::
+* Sparc32 System emulator invocation::
+* Sparc64 System emulator invocation::
+* MIPS System emulator invocation::
+* ARM System emulator invocation::
+@end menu
+
+@node QEMU PowerPC System emulator
+@section QEMU PowerPC System emulator
 
 Use the executable @file{qemu-system-ppc} to simulate a complete PREP
 or PowerMac PowerPC system.
 
 Use the executable @file{qemu-system-ppc} to simulate a complete PREP
 or PowerMac PowerPC system.
@@ -1189,10 +1365,7 @@ PC compatible keyboard and mouse.
 @end itemize
 
 QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
 @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
 
 
 @c man begin OPTIONS
 
@@ -1210,9 +1383,10 @@ Set the initial VGA graphic mode. The default is 800x600x15.
 
 
 More information is available at
 
 
 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
+@node 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.
 
 Use the executable @file{qemu-system-sparc} to simulate a JavaStation
 (sun4m architecture). The emulation is somewhat complete.
@@ -1240,7 +1414,7 @@ Floppy drive
 The number of peripherals is fixed in the architecture.
 
 QEMU uses the Proll, a PROM replacement available at
 The number of peripherals is fixed in the architecture.
 
 QEMU uses the Proll, a PROM replacement available at
-@url{http://people.redhat.com/zaitcev/linux/}. The required
+@url{http://people.redhat.com/@/zaitcev/linux/}. The required
 QEMU-specific patches are included with the sources.
 
 A sample Linux 2.6 series kernel and ram disk image are available on
 QEMU-specific patches are included with the sources.
 
 A sample Linux 2.6 series kernel and ram disk image are available on
@@ -1261,7 +1435,8 @@ Set the initial TCX graphic mode. The default is 1024x768.
 
 @c man end 
 
 
 @c man end 
 
-@chapter Sparc64 System emulator invocation
+@node 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.
 
 Use the executable @file{qemu-system-sparc64} to simulate a Sun4u machine.
 The emulator is not usable for anything yet.
@@ -1279,13 +1454,53 @@ Non Volatile RAM M48T59
 PC-compatible serial ports
 @end itemize
 
 PC-compatible serial ports
 @end itemize
 
-@chapter MIPS System emulator invocation
+@node MIPS System emulator invocation
+@section MIPS System emulator invocation
 
 Use the executable @file{qemu-system-mips} to simulate a MIPS machine.
 
 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:
 
 
-@chapter QEMU User space emulator invocation
+@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.
+
+@node ARM System emulator invocation
+@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.
+
+@node QEMU Linux User space emulator 
+@chapter QEMU Linux User space emulator 
+
+@menu
+* Quick Start::
+* Wine launch::
+* Command line options::
+@end menu
+
+@node Quick Start
 @section Quick Start
 
 In order to launch a Linux process, QEMU needs the process executable
 @section Quick Start
 
 In order to launch a Linux process, QEMU needs the process executable
@@ -1329,11 +1544,13 @@ Linux kernel.
 
 @item The x86 version of QEMU is also included. You can try weird things such as:
 @example
 
 @item The x86 version of QEMU is also included. You can try weird things such as:
 @example
-qemu-i386 /usr/local/qemu-i386/bin/qemu-i386 /usr/local/qemu-i386/bin/ls-i386
+qemu-i386 /usr/local/qemu-i386/bin/qemu-i386 \
+          /usr/local/qemu-i386/bin/ls-i386
 @end example
 
 @end itemize
 
 @end example
 
 @end itemize
 
+@node Wine launch
 @section Wine launch
 
 @itemize
 @section Wine launch
 
 @itemize
@@ -1350,17 +1567,19 @@ qemu-i386 /usr/local/qemu-i386/bin/ls-i386
 (@file{qemu-XXX-i386-wine.tar.gz} on the QEMU web page). 
 
 @item Configure Wine on your account. Look at the provided script
 (@file{qemu-XXX-i386-wine.tar.gz} on the QEMU web page). 
 
 @item Configure Wine on your account. Look at the provided script
-@file{/usr/local/qemu-i386/bin/wine-conf.sh}. Your previous
+@file{/usr/local/qemu-i386/@/bin/wine-conf.sh}. Your previous
 @code{$@{HOME@}/.wine} directory is saved to @code{$@{HOME@}/.wine.org}.
 
 @item Then you can try the example @file{putty.exe}:
 
 @example
 @code{$@{HOME@}/.wine} directory is saved to @code{$@{HOME@}/.wine.org}.
 
 @item Then you can try the example @file{putty.exe}:
 
 @example
-qemu-i386 /usr/local/qemu-i386/wine/bin/wine /usr/local/qemu-i386/wine/c/Program\ Files/putty.exe
+qemu-i386 /usr/local/qemu-i386/wine/bin/wine \
+          /usr/local/qemu-i386/wine/c/Program\ Files/putty.exe
 @end example
 
 @end itemize
 
 @end example
 
 @end itemize
 
+@node Command line options
 @section Command line options
 
 @example
 @section Command line options
 
 @example
@@ -1388,6 +1607,14 @@ Act as if the host page size was 'pagesize' bytes
 @node compilation
 @chapter Compilation from the sources
 
 @node compilation
 @chapter Compilation from the sources
 
+@menu
+* Linux/Unix::
+* Windows::
+* Cross compilation for Windows with Linux::
+* Mac OS X::
+@end menu
+
+@node Linux/Unix
 @section Linux/Unix
 
 @subsection Compilation
 @section Linux/Unix
 
 @subsection Compilation
@@ -1445,6 +1672,7 @@ ARM       2.95.4   2.12.90.0.1   2.2.5    2.4.9 [3]   Debian 3.0
 variables. You must use gcc 3.x on PowerPC.
 @end example
 
 variables. You must use gcc 3.x on PowerPC.
 @end example
 
+@node Windows
 @section Windows
 
 @itemize
 @section Windows
 
 @itemize
@@ -1454,7 +1682,7 @@ instructions in the download section and the FAQ.
 
 @item Download 
 the MinGW development library of SDL 1.2.x
 
 @item Download 
 the MinGW development library of SDL 1.2.x
-(@file{SDL-devel-1.2.x-mingw32.tar.gz}) from
+(@file{SDL-devel-1.2.x-@/mingw32.tar.gz}) from
 @url{http://www.libsdl.org}. Unpack it in a temporary place, and
 unpack the archive @file{i386-mingw32msvc.tar.gz} in the MinGW tool
 directory. Edit the @file{sdl-config} script so that it gives the
 @url{http://www.libsdl.org}. Unpack it in a temporary place, and
 unpack the archive @file{i386-mingw32msvc.tar.gz} in the MinGW tool
 directory. Edit the @file{sdl-config} script so that it gives the
@@ -1474,6 +1702,7 @@ correct SDL directory when invoked.
 
 @end itemize
 
 
 @end itemize
 
+@node Cross compilation for Windows with Linux
 @section Cross compilation for Windows with Linux
 
 @itemize
 @section Cross compilation for Windows with Linux
 
 @itemize
@@ -1505,9 +1734,15 @@ installation directory.
 Note: Currently, Wine does not seem able to launch
 QEMU for Win32.
 
 Note: Currently, Wine does not seem able to launch
 QEMU for Win32.
 
+@node Mac OS X
 @section Mac OS X
 
 The Mac OS X patches are not fully merged in QEMU, so you should look
 at the QEMU mailing list archive to have all the necessary
 information.
 
 @section Mac OS X
 
 The Mac OS X patches are not fully merged in QEMU, so you should look
 at the QEMU mailing list archive to have all the necessary
 information.
 
+@node Index
+@chapter Index
+@printindex cp
+
+@bye