moved CALL_FROM_TBx definitions
[qemu] / qemu-doc.texi
index 9c25728..211b668 100644 (file)
@@ -22,7 +22,7 @@ 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 peripherials. It can
+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.
 
@@ -35,20 +35,18 @@ to ease cross-compilation and cross-debugging.
 @end itemize
 
 QEMU can run without an host kernel driver and yet gives acceptable
-performance. On an x86 host, if you want the highest performance for
-the x86 target, the @emph{QEMU Accelerator Module} (KQEMU) allows QEMU
-to reach near native performances. KQEMU is currently only supported
-for an x86 Linux 2.4 or 2.6 host system, but more host OSes will be
-supported in the future.
+performance. 
 
 For system emulation, the following hardware targets are supported:
 @itemize
 @item PC (x86 processor)
 @item PREP (PowerPC processor)
 @item PowerMac (PowerPC processor, in progress)
+@item Sun4m (32-bit Sparc processor)
+@item Sun4u (64-bit Sparc processor, in progress)
 @end itemize
 
-For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported.
+For user emulation, x86, PowerPC, ARM, and Sparc32/64 CPUs are supported.
 
 @chapter Installation
 
@@ -76,7 +74,7 @@ Download the experimental binary installer at
 @c man begin DESCRIPTION
 
 The QEMU System emulator simulates the
-following PC peripherials:
+following PC peripherals:
 
 @itemize @minus
 @item 
@@ -206,6 +204,10 @@ Set TUN/TAP network init script [default=/etc/qemu-ifup]. This script
 is launched to configure the host network interface (usually tun0)
 corresponding to the virtual NE2000 card.
 
+@item -nics n
+
+Simulate @var{n} network cards (the default is 1).
+
 @item -macaddr addr   
 
 Set the mac address of the first interface (the format is
@@ -343,11 +345,6 @@ translation mode (@var{t}=none, lba or auto). Usually QEMU can guess
 all thoses parameters. This option is useful for old MS-DOS disk
 images.
 
-@item -no-kqemu
-Disable the usage of the QEMU Accelerator module (KQEMU). QEMU will work as
-usual but will be slower. This option can be useful to determine if
-emulation problems are coming from KQEMU.
-
 @item -isa
 Simulate an ISA-only system (default is PCI system).
 @item -std-vga
@@ -423,26 +420,6 @@ Fabrice Bellard
 
 @end ignore
 
-@section QEMU Accelerator Module
-
-The QEMU Accelerator Module (KQEMU) is an optional part of QEMU currently only
-available for Linux 2.4 or 2.6 x86 hosts. It enables QEMU to run x86
-code much faster. Provided it is installed on your PC (see
-@ref{kqemu_install}), QEMU will automatically use it.
-
-WARNING: as with any alpha stage kernel driver, KQEMU may cause
-arbitrary data loss on your PC, so you'd better backup your sensitive
-data before using it.
-
-When using KQEMU, QEMU will create a big hidden file containing the
-RAM of the virtual machine. For best performance, it is important that
-this file is kept in RAM and not on the hard disk. QEMU uses the
-@file{/dev/shm} directory to create this file because @code{tmpfs} is
-usually mounted on it (check with the shell command
-@code{df}). Otherwise @file{/tmp} is used as fallback. You can use the
-@var{QEMU_TMPDIR} shell variable to set a new directory for the QEMU
-RAM file.
-
 @section QEMU Monitor
 
 The QEMU monitor is used to give complex commands to the QEMU
@@ -958,7 +935,7 @@ problem.
 Use the executable @file{qemu-system-ppc} to simulate a complete PREP
 or PowerMac PowerPC system.
 
-QEMU emulates the following PowerMac peripherials:
+QEMU emulates the following PowerMac peripherals:
 
 @itemize @minus
 @item 
@@ -975,7 +952,7 @@ Non Volatile RAM
 VIA-CUDA with ADB keyboard and mouse.
 @end itemize
 
-QEMU emulates the following PREP peripherials:
+QEMU emulates the following PREP peripherals:
 
 @itemize @minus
 @item 
@@ -1023,15 +1000,15 @@ Set the initial VGA graphic mode. The default is 800x600x15.
 More information is available at
 @url{http://jocelyn.mayer.free.fr/qemu-ppc/}.
 
-@chapter Sparc System emulator invocation
+@chapter Sparc32 System emulator invocation
 
 Use the executable @file{qemu-system-sparc} to simulate a JavaStation
-(sun4m architecture). The emulation is far from complete.
+(sun4m architecture). The emulation is somewhat complete.
 
-QEMU emulates the following sun4m peripherials:
+QEMU emulates the following sun4m peripherals:
 
 @itemize @minus
-@item 
+@item
 IOMMU
 @item
 TCX Frame buffer
@@ -1040,11 +1017,42 @@ Lance (Am7990) Ethernet
 @item
 Non Volatile RAM M48T08
 @item
-Slave I/O: timers, interrupt controllers, Zilog serial ports
+Slave I/O: timers, interrupt controllers, Zilog serial ports, keyboard
+and power/reset logic
+@item
+ESP SCSI controller with hard disk and CD-ROM support
+@item
+Floppy drive
 @end itemize
 
+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/}.
+@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
+the QEMU web site. Please note that currently neither Linux 2.4
+series, NetBSD, nor OpenBSD kernels work.
+
+@c man begin OPTIONS
+
+The following options are specific to the Sparc emulation:
+
+@table @option
+
+@item -g WxH
+
+Set the initial TCX graphic mode. The default is 1024x768.
+
+@end table
+
+@c man end 
+
+@chapter Sparc64 System emulator invocation
+
+Use the executable @file{qemu-system-sparc64} to simulate a Sun4u machine.
+The emulator is not usable for anything yet.
 
 @chapter QEMU User space emulator invocation
 
@@ -1173,63 +1181,6 @@ make install
 @end example
 to install QEMU in @file{/usr/local}.
 
-@node kqemu_install
-@subsection QEMU Accelerator Installation
-
-If you use x86 Linux, the compilation of the QEMU Accelerator Kernel
-Module (KQEMU) is automatically activated provided you have the
-necessary kernel headers. If nonetheless the compilation fails, you
-can disable its compilation with the @option{--disable-kqemu} option. 
-
-If you are using a 2.6 host kernel, then all the necessary kernel
-headers should be already installed. If you are using a 2.4 kernel,
-then you should verify that properly configured kernel sources are
-installed and compiled. On a Redhat 9 distribution for example, the
-following must be done:
-@example
-1) Install the kernel-source-xxx package
-2) cd /usr/src/linux-xxx
-3) make distclean
-4) Copy /boot/config-vvv in .config (use uname -r to know your configuration name 'vvv')
-5) Edit the Makefile to change the EXTRAVERSION line to match your
-   current configuration name:
-   EXTRAVERSION = -custom
-to 
-   EXTRAVERSION = -8 # This is an example, it can be -8smp too
-5) make menuconfig # Just save the configuration
-6) make dep bzImage
-@end example
-
-The installation of KQEMU is not fully automatic because it is highly
-distribution dependent. When launching 
-@example
-make install
-@end example
-
-KQEMU is installed in /lib/modules/@var{kernel_version}/misc. The
-device @file{/dev/kqemu} is created with read/write access rights for
-everyone. If you fear security issues, you can restrict the access
-rights of @file{/dev/kqemu}.
-
-If you want that KQEMU is installed automatically at boot time, you can add
-
-@example
-# Load the KQEMU kernel module
-/sbin/modprobe kqemu
-@end example
-
-in @file{/etc/rc.d/rc.local}.
-
-If your distribution uses udev (like Fedora), the @file{/dev/kqemu} is
-not created automatically (yet) at every reboot. You can add the
-following in @file{/etc/rc.d/rc.local}:
-
-@example
-# Create the KQEMU device
-mknod /dev/kqemu c 254 0
-chmod 666 /dev/kqemu
-@end example
-
 @subsection Tested tool versions
 
 In order to compile QEMU succesfully, it is very important that you