/[qemu]/qemu/qemu-doc.texi
ViewVC logotype

Diff of /qemu/qemu-doc.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.18 by bellard, Wed Oct 1 00:15:32 2003 UTC revision 1.19 by bellard, Mon Oct 27 23:58:04 2003 UTC
# Line 72  QEMU user mode emulation features: Line 72  QEMU user mode emulation features:
72    
73  QEMU full system emulation features:  QEMU full system emulation features:
74  @itemize  @itemize
75  @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.
76  @end itemize  @end itemize
77    
78  @section x86 emulation  @section x86 emulation
# Line 110  memory access. Line 110  memory access.
110  10 byte @code{long double}s of x86 for floating point emulation to get  10 byte @code{long double}s of x86 for floating point emulation to get
111  maximum performances.  maximum performances.
112    
113  @item Full system emulation only works if no data are mapped above the virtual address  @item Some priviledged instructions or behaviors are missing, especially for segment protection testing (yet).
 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.  
114    
115  @end itemize  @end itemize
116    
# Line 177  unset LD_LIBRARY_PATH Line 170  unset LD_LIBRARY_PATH
170  Then you can launch the precompiled @file{ls} x86 executable:  Then you can launch the precompiled @file{ls} x86 executable:
171    
172  @example  @example
173  qemu-i386 /usr/local/qemu-i386/bin/ls-i386  qemu-i386 tests/i386/ls
174  @end example  @end example
175  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
176  QEMU is automatically launched by the Linux kernel when you try to  QEMU is automatically launched by the Linux kernel when you try to
177  launch x86 executables. It requires the @code{binfmt_misc} module in the  launch x86 executables. It requires the @code{binfmt_misc} module in the
178  Linux kernel.  Linux kernel.
# Line 258  available: Line 251  available:
251  @enumerate  @enumerate
252    
253  @item  @item
254  @code{qemu} uses the host Memory Management Unit (MMU) to simulate  @code{qemu-fast} uses the host Memory Management Unit (MMU) to simulate
255  the x86 MMU. It is @emph{fast} but has limitations because the whole 4 GB  the x86 MMU. It is @emph{fast} but has limitations because the whole 4 GB
256  address space cannot be used and some memory mapped peripherials  address space cannot be used and some memory mapped peripherials
257  cannot be emulated accurately yet. Therefore, a specific Linux kernel  cannot be emulated accurately yet. Therefore, a specific Linux kernel
258  must be used (@xref{linux_compile}).  must be used (@xref{linux_compile}).
259    
260  @item  @item
261  @code{qemu-softmmu} uses a software MMU. It is about @emph{two times  @code{qemu} uses a software MMU. It is about @emph{two times
262  slower} but gives a more accurate emulation. (XXX: Linux cannot be ran  slower} but gives a more accurate emulation.
 unpatched yet).  
263    
264  @end enumerate  @end enumerate
265    
# Line 296  CMOS memory Line 288  CMOS memory
288    
289  @section Quick Start  @section Quick Start
290    
291  Download the linux image (@file{linux.img}) and type:  Download and uncompress the linux image (@file{linux.img}) and type:
292    
293  @example  @example
294  qemu-softmmu linux.img  qemu linux.img
295  @end example  @end example
296    
297  Linux should boot and give you a prompt.  Linux should boot and give you a prompt.
# Line 627  the real one. To know it, use the @code{ Line 619  the real one. To know it, use the @code{
619  @node linux_compile  @node linux_compile
620  @section Linux Kernel Compilation  @section Linux Kernel Compilation
621    
622  You should be able to use any kernel with QEMU provided you make the  You can use any linux kernel with QEMU. However, if you want to use
623  following changes (only 2.4.x and 2.5.x were tested):  @code{qemu-fast} to get maximum performances, you should make the
624    following changes to the Linux kernel (only 2.4.x and 2.5.x were
625    tested):
626    
627  @enumerate  @enumerate
628  @item  @item
# Line 723  Then you can use gdb normally. For examp Line 717  Then you can use gdb normally. For examp
717  (gdb) c  (gdb) c
718  @end example  @end example
719    
 WARNING: breakpoints and single stepping are not yet supported.  
   
720  Here are some useful tips in order to use gdb on system code:  Here are some useful tips in order to use gdb on system code:
721    
722  @enumerate  @enumerate
# Line 1019  The new Plex86 project. Line 1011  The new Plex86 project.
1011  In the directory @file{tests/}, various interesting testing programs  In the directory @file{tests/}, various interesting testing programs
1012  are available. There are used for regression testing.  are available. There are used for regression testing.
1013    
 @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.  
   
1014  @section @file{test-i386}  @section @file{test-i386}
1015    
1016  This program executes most of the 16 bit and 32 bit x86 instructions and  This program executes most of the 16 bit and 32 bit x86 instructions and
# Line 1044  The Linux system call @code{vm86()} is u Line 1026  The Linux system call @code{vm86()} is u
1026  Various exceptions are raised to test most of the x86 user space  Various exceptions are raised to test most of the x86 user space
1027  exception reporting.  exception reporting.
1028    
1029    @section @file{linux-test}
1030    
1031    This program tests various Linux system calls. It is used to verify
1032    that the system call parameters are correctly converted between target
1033    and host CPUs.
1034    
1035    @section @file{hello-i386}
1036    
1037    Very simple statically linked x86 program, just to test QEMU during a
1038    port to a new host CPU.
1039    
1040    @section @file{hello-arm}
1041    
1042    Very simple statically linked ARM program, just to test QEMU during a
1043    port to a new host CPU.
1044    
1045  @section @file{sha1}  @section @file{sha1}
1046    
1047  It is a simple benchmark. Care must be taken to interpret the results  It is a simple benchmark. Care must be taken to interpret the results

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26