@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.
@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
@c man begin DESCRIPTION
The QEMU System emulator simulates the
-following PC peripherials:
+following PC peripherals:
@itemize @minus
@item
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
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
@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
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
VIA-CUDA with ADB keyboard and mouse.
@end itemize
-QEMU emulates the following PREP peripherials:
+QEMU emulates the following PREP peripherals:
@itemize @minus
@item
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
@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
@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