diff options
Diffstat (limited to 'qemu-doc.texi')
-rw-r--r-- | qemu-doc.texi | 60 |
1 files changed, 29 insertions, 31 deletions
diff --git a/qemu-doc.texi b/qemu-doc.texi index 0ff1454c19..8bb883afb6 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -72,7 +72,7 @@ QEMU user mode emulation features: QEMU full system emulation features: @itemize -@item Using mmap() system calls to simulate the MMU +@item QEMU can either use a full software MMU for maximum portability or use the host system call mmap() to simulate the target MMU. @end itemize @section x86 emulation @@ -110,14 +110,7 @@ memory access. 10 byte @code{long double}s of x86 for floating point emulation to get maximum performances. -@item Full system emulation only works if no data are mapped above the virtual address -0xc0000000 (yet). - -@item Some priviledged instructions or behaviors are missing. Only the ones -needed for proper Linux kernel operation are emulated. - -@item No memory separation between the kernel and the user processes is done. -It will be implemented very soon. +@item Some priviledged instructions or behaviors are missing, especially for segment protection testing (yet). @end itemize @@ -177,9 +170,9 @@ unset LD_LIBRARY_PATH Then you can launch the precompiled @file{ls} x86 executable: @example -qemu-i386 /usr/local/qemu-i386/bin/ls-i386 +qemu-i386 tests/i386/ls @end example -You can look at @file{/usr/local/qemu-i386/bin/qemu-conf.sh} so that +You can look at @file{qemu-binfmt-conf.sh} so that QEMU is automatically launched by the Linux kernel when you try to launch x86 executables. It requires the @code{binfmt_misc} module in the Linux kernel. @@ -258,16 +251,15 @@ available: @enumerate @item -@code{qemu} uses the host Memory Management Unit (MMU) to simulate +@code{qemu-fast} uses the host Memory Management Unit (MMU) to simulate the x86 MMU. It is @emph{fast} but has limitations because the whole 4 GB address space cannot be used and some memory mapped peripherials cannot be emulated accurately yet. Therefore, a specific Linux kernel must be used (@xref{linux_compile}). @item -@code{qemu-softmmu} uses a software MMU. It is about @emph{two times -slower} but gives a more accurate emulation. (XXX: Linux cannot be ran -unpatched yet). +@code{qemu} uses a software MMU. It is about @emph{two times +slower} but gives a more accurate emulation. @end enumerate @@ -296,10 +288,10 @@ CMOS memory @section Quick Start -Download the linux image (@file{linux.img}) and type: +Download and uncompress the linux image (@file{linux.img}) and type: @example -qemu-softmmu linux.img +qemu linux.img @end example Linux should boot and give you a prompt. @@ -627,8 +619,10 @@ the real one. To know it, use the @code{ls -ls} command. @node linux_compile @section Linux Kernel Compilation -You should be able to use any kernel with QEMU provided you make the -following changes (only 2.4.x and 2.5.x were tested): +You can use any linux kernel with QEMU. However, if you want to use +@code{qemu-fast} to get maximum performances, you should make the +following changes to the Linux kernel (only 2.4.x and 2.5.x were +tested): @enumerate @item @@ -723,8 +717,6 @@ Then you can use gdb normally. For example, type 'c' to launch the kernel: (gdb) c @end example -WARNING: breakpoints and single stepping are not yet supported. - Here are some useful tips in order to use gdb on system code: @enumerate @@ -1019,16 +1011,6 @@ The new Plex86 project. In the directory @file{tests/}, various interesting testing programs are available. There are used for regression testing. -@section @file{hello-i386} - -Very simple statically linked x86 program, just to test QEMU during a -port to a new host CPU. - -@section @file{hello-arm} - -Very simple statically linked ARM program, just to test QEMU during a -port to a new host CPU. - @section @file{test-i386} This program executes most of the 16 bit and 32 bit x86 instructions and @@ -1044,6 +1026,22 @@ The Linux system call @code{vm86()} is used to test vm86 emulation. Various exceptions are raised to test most of the x86 user space exception reporting. +@section @file{linux-test} + +This program tests various Linux system calls. It is used to verify +that the system call parameters are correctly converted between target +and host CPUs. + +@section @file{hello-i386} + +Very simple statically linked x86 program, just to test QEMU during a +port to a new host CPU. + +@section @file{hello-arm} + +Very simple statically linked ARM program, just to test QEMU during a +port to a new host CPU. + @section @file{sha1} It is a simple benchmark. Care must be taken to interpret the results |