short term:
----------
+- physical memory cache (reduce qemu-fast address space size to about 32 MB)
+- better code fetch (different exception handling + CS.limit support)
+- do not resize vga if invalid size.
+- avoid looping if only exceptions
- handle fast timers + add explicit clocks
- OS/2 install bug
-- handle Self Modifying Code even if modifying current TB (BE OS 5 install)
-- physical memory cache (reduce qemu-fast address space size to about 32 MB)
-- better code fetch
-- XP security bug
- cycle counter for all archs
- TLB code protection support for PPC
- add sysenter/sysexit and fxsr for L4 pistachio 686
- basic VGA optimizations
-- disable SMC handling for ARM/SPARC/PPC
+- disable SMC handling for ARM/SPARC/PPC (not finished)
- see undefined flags for BTx insn
- user/kernel PUSHL/POPL in helper.c
- keyboard output buffer filling timing emulation
- return UD exception if LOCK prefix incorrectly used
-- cmos clock update and timers
- test ldt limit < 7 ?
- tests for each target CPU
- fix CCOP optimisation
lower priority:
--------------
+- HDD geometry in CMOS (not used except for very old DOS programs)
- suppress shift_mem ops
- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
- sysenter/sysexit emulation
As QEMU requires no host kernel driver to run, it is very safe and
easy to use.
-For system emulation, only the x86 PC emulator is currently
-usable. The PowerPC system emulator is being developped.
+For system emulation, the following hardware targets are supported:
+@itemize
+@item PC (x86 processor)
+@item PREP (PowerPC processor)
+@end itemize
For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported.
Mac OS X is currently not supported.
-@chapter QEMU System emulator invocation
+@chapter QEMU PC System emulator invocation
@section Introduction
@c man begin DESCRIPTION
-The QEMU System emulator simulates a complete PC.
+The QEMU System emulator simulates a complete PC.
In order to meet specific user needs, two versions of QEMU are
available:
@table @option
@item -n script
-Set network init script [default=/etc/qemu-ifup]. This script is
-launched to configure the host network interface (usually tun0)
+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 interfaces (default=1).
-
@item -macaddr addr
Set the mac address of the first interface (the format is
aa:bb:cc:dd:ee:ff in hexa). The mac address is incremented for each
new network interface.
-@item -tun-fd fd1,...
-Assumes @var{fd} talks to tap/tun and use it. Read
-@url{http://bellard.org/qemu/tetrinet.html} to have an example of its
-use.
+@item -tun-fd fd
+Assumes @var{fd} talks to a tap/tun host network interface and use
+it. Read @url{http://bellard.org/qemu/tetrinet.html} to have an
+example of its use.
+
+@item -user-net
+(Experimental) Use the user mode network stack. This is the default if
+no tun/tap network init script is found.
+
+@item -dummy-net
+Use the dummy network stack: no packet will be received on the network
+cards.
@end table
Wait gdb connection to port 1234 (@xref{gdb_usage}).
@item -p port
Change gdb connection port.
+@item -S
+Do not start CPU at startup (you must type 'c' in the monitor).
@item -d
Output log in /tmp/qemu.log
@end table
c (char) or i (asm instruction).
@item size
-can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits)
+can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86,
+@code{h} or @code{w} can be specified with the @code{i} format to
+respectively select 16 or 32 bit code instruction size.
@end table
@code{x/10i $cs*16+*eip} to dump the code at the PC position.
@end enumerate
+@chapter QEMU PREP PowerPC System emulator invocation
+
+Use the executable @file{qemu-system-ppc} to simulate a complete PREP
+PowerPC system.
+
+QEMU emulates the following PREP peripherials:
+
+@itemize @minus
+@item
+2 IDE interfaces with hard disk and CD-ROM support
+@item
+Floppy disk
+@item
+up to 6 NE2000 network adapters
+@item
+Serial port
+@item
+PREP Non Volatile RAM
+@end itemize
+
+You can read the qemu PC system emulation chapter to have more
+informations about QEMU usage.
+
+More information is available at
+@url{http://jocelyn.mayer.free.fr/qemu-ppc/}.
+
@chapter QEMU User space emulator invocation
@section Quick Start