Commit 15a34c63642d8b70ad90bfbb2c2f823753e2dbf4

Authored by bellard
1 parent 1bfe856e

doc update


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@990 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 2 changed files with 176 additions and 118 deletions
qemu-doc.texi
@@ -41,18 +41,19 @@ For system emulation, the following hardware targets are supported: @@ -41,18 +41,19 @@ For system emulation, the following hardware targets are supported:
41 @itemize 41 @itemize
42 @item PC (x86 processor) 42 @item PC (x86 processor)
43 @item PREP (PowerPC processor) 43 @item PREP (PowerPC processor)
  44 +@item PowerMac (PowerPC processor, in progress)
44 @end itemize 45 @end itemize
45 46
46 For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported. 47 For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported.
47 48
48 @chapter Installation 49 @chapter Installation
49 50
  51 +If you want to compile QEMU yourself, see @ref{compilation}.
  52 +
50 @section Linux 53 @section Linux
51 54
52 -If you want to compile QEMU, please read the @file{README} which gives  
53 -the related information. Otherwise just download the binary  
54 -distribution (@file{qemu-XXX-i386.tar.gz}) and untar it as root in  
55 -@file{/}: 55 +Download the binary distribution (@file{qemu-XXX-i386.tar.gz}) and
  56 +untar it as root in @file{/}:
56 57
57 @example 58 @example
58 su 59 su
@@ -62,67 +63,13 @@ tar zxvf /tmp/qemu-XXX-i386.tar.gz @@ -62,67 +63,13 @@ tar zxvf /tmp/qemu-XXX-i386.tar.gz
62 63
63 @section Windows 64 @section Windows
64 65
65 -@itemize  
66 -@item Install the current versions of MSYS and MinGW from  
67 -@url{http://www.mingw.org/}. You can find detailed installation  
68 -instructions in the download section and the FAQ.  
69 -  
70 -@item Download  
71 -the MinGW development library of SDL 1.2.x  
72 -(@file{SDL-devel-1.2.x-mingw32.tar.gz}) from  
73 -@url{http://www.libsdl.org}. Unpack it in a temporary place, and  
74 -unpack the archive @file{i386-mingw32msvc.tar.gz} in the MinGW tool  
75 -directory. Edit the @file{sdl-config} script so that it gives the  
76 -correct SDL directory when invoked.  
77 -  
78 -@item Extract the current version of QEMU.  
79 -  
80 -@item Start the MSYS shell (file @file{msys.bat}).  
81 -  
82 -@item Change to the QEMU directory. Launch @file{./configure} and  
83 -@file{make}. If you have problems using SDL, verify that  
84 -@file{sdl-config} can be launched from the MSYS command line.  
85 -  
86 -@item You can install QEMU in @file{Program Files/Qemu} by typing  
87 -@file{make install}. Don't forget to copy @file{SDL.dll} in  
88 -@file{Program Files/Qemu}.  
89 -  
90 -@end itemize  
91 -  
92 -@section Cross compilation for Windows with Linux  
93 -  
94 -@itemize  
95 -@item  
96 -Install the MinGW cross compilation tools available at  
97 -@url{http://www.mingw.org/}.  
98 -  
99 -@item  
100 -Install the Win32 version of SDL (@url{http://www.libsdl.org}) by  
101 -unpacking @file{i386-mingw32msvc.tar.gz}. Set up the PATH environment  
102 -variable so that @file{i386-mingw32msvc-sdl-config} can be launched by  
103 -the QEMU configuration script.  
104 -  
105 -@item  
106 -Configure QEMU for Windows cross compilation:  
107 -@example  
108 -./configure --enable-mingw32  
109 -@end example  
110 -If necessary, you can change the cross-prefix according to the prefix  
111 -choosen for the MinGW tools with --cross-prefix. You can also use  
112 ---prefix to set the Win32 install path.  
113 -  
114 -@item You can install QEMU in the installation directory by typing  
115 -@file{make install}. Don't forget to copy @file{SDL.dll} in the  
116 -installation directory.  
117 -  
118 -@end itemize  
119 -  
120 -Note: Currently, Wine does not seem able to launch  
121 -QEMU for Win32. 66 +Download the experimental binary installer at
  67 +@url{http://www.freeoszoo.org/download.php}.
122 68
123 @section Mac OS X 69 @section Mac OS X
124 70
125 -Mac OS X is currently not supported. 71 +Download the experimental binary installer at
  72 +@url{http://www.freeoszoo.org/download.php}.
126 73
127 @chapter QEMU PC System emulator invocation 74 @chapter QEMU PC System emulator invocation
128 75
@@ -138,11 +85,11 @@ available: @@ -138,11 +85,11 @@ available:
138 @enumerate 85 @enumerate
139 86
140 @item 87 @item
141 -@code{qemu-fast} uses the host Memory Management Unit (MMU) to simulate  
142 -the x86 MMU. It is @emph{fast} but has limitations because the whole 4 GB  
143 -address space cannot be used and some memory mapped peripherials  
144 -cannot be emulated accurately yet. Therefore, a specific Linux kernel  
145 -must be used (@xref{linux_compile}). 88 +@code{qemu-fast} uses the host Memory Management Unit (MMU) to
  89 +simulate the x86 MMU. It is @emph{fast} but has limitations because
  90 +the whole 4 GB address space cannot be used and some memory mapped
  91 +peripherials cannot be emulated accurately yet. Therefore, a specific
  92 +guest Linux kernel can be used (@xref{linux_compile}) as guest OS.
146 93
147 @item 94 @item
148 @code{qemu} uses a software MMU. It is about @emph{two times 95 @code{qemu} uses a software MMU. It is about @emph{two times
@@ -153,22 +100,28 @@ slower} but gives a more accurate emulation. @@ -153,22 +100,28 @@ slower} but gives a more accurate emulation.
153 QEMU emulates the following PC peripherials: 100 QEMU emulates the following PC peripherials:
154 101
155 @itemize @minus 102 @itemize @minus
  103 +@item
  104 +i440FX host PCI bridge and PIIX3 PCI to ISA bridge
156 @item 105 @item
157 -VGA (hardware level, including all non standard modes) 106 +Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA
  107 +extensions (hardware level, including all non standard modes).
158 @item 108 @item
159 PS/2 mouse and keyboard 109 PS/2 mouse and keyboard
160 @item 110 @item
161 -2 IDE interfaces with hard disk and CD-ROM support 111 +2 PCI IDE interfaces with hard disk and CD-ROM support
162 @item 112 @item
163 Floppy disk 113 Floppy disk
164 @item 114 @item
165 -up to 6 NE2000 network adapters 115 +NE2000 PCI network adapters
166 @item 116 @item
167 Serial port 117 Serial port
168 @item 118 @item
169 Soundblaster 16 card 119 Soundblaster 16 card
170 @end itemize 120 @end itemize
171 121
  122 +QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL
  123 +VGA BIOS.
  124 +
172 @c man end 125 @c man end
173 126
174 @section Quick Start 127 @section Quick Start
@@ -220,7 +173,7 @@ the raw disk image you use is not written back. You can however force @@ -220,7 +173,7 @@ the raw disk image you use is not written back. You can however force
220 the write back by pressing @key{C-a s} (@xref{disk_images}). 173 the write back by pressing @key{C-a s} (@xref{disk_images}).
221 174
222 @item -m megs 175 @item -m megs
223 -Set virtual RAM size to @var{megs} megabytes. 176 +Set virtual RAM size to @var{megs} megabytes. Default is 128 MB.
224 177
225 @item -initrd file 178 @item -initrd file
226 Use @var{file} as initial ram disk. 179 Use @var{file} as initial ram disk.
@@ -238,6 +191,11 @@ with a serial console. @@ -238,6 +191,11 @@ with a serial console.
238 The SB16 emulation is disabled by default as it may give problems with 191 The SB16 emulation is disabled by default as it may give problems with
239 Windows. You can enable it manually with this option. 192 Windows. You can enable it manually with this option.
240 193
  194 +@item -localtime
  195 +Set the real time clock to local time (the default is to UTC
  196 +time). This option is needed to have correct date in MS-DOS or
  197 +Windows.
  198 +
241 @end table 199 @end table
242 200
243 Network options: 201 Network options:
@@ -261,11 +219,11 @@ it. Read @url{http://bellard.org/qemu/tetrinet.html} to have an @@ -261,11 +219,11 @@ it. Read @url{http://bellard.org/qemu/tetrinet.html} to have an
261 example of its use. 219 example of its use.
262 220
263 @item -user-net 221 @item -user-net
264 -(Experimental) Use the user mode network stack. This is the default if  
265 -no tun/tap network init script is found. 222 +Use the user mode network stack. This is the default if no tun/tap
  223 +network init script is found.
266 224
267 @item -dummy-net 225 @item -dummy-net
268 -Use the dummy network stack: no packet will be received on the network 226 +Use the dummy network stack: no packet will be received by the network
269 cards. 227 cards.
270 228
271 @end table 229 @end table
@@ -287,7 +245,7 @@ Use @var{file} as initial ram disk. @@ -287,7 +245,7 @@ Use @var{file} as initial ram disk.
287 245
288 @end table 246 @end table
289 247
290 -Debug options: 248 +Debug/Expert options:
291 @table @option 249 @table @option
292 @item -s 250 @item -s
293 Wait gdb connection to port 1234 (@xref{gdb_usage}). 251 Wait gdb connection to port 1234 (@xref{gdb_usage}).
@@ -297,6 +255,12 @@ Change gdb connection port. @@ -297,6 +255,12 @@ Change gdb connection port.
297 Do not start CPU at startup (you must type 'c' in the monitor). 255 Do not start CPU at startup (you must type 'c' in the monitor).
298 @item -d 256 @item -d
299 Output log in /tmp/qemu.log 257 Output log in /tmp/qemu.log
  258 +@item -isa
  259 +Simulate an ISA-only system (default is PCI system).
  260 +@item -std-vga
  261 +Simulate a standard VGA card with Bochs VBE extensions (default is
  262 +Cirrus Logic GD5446 PCI VGA)
  263 +
300 @end table 264 @end table
301 265
302 During the graphical emulation, you can use the following keys: 266 During the graphical emulation, you can use the following keys:
@@ -495,6 +459,10 @@ sendkey ctrl-alt-f1 @@ -495,6 +459,10 @@ sendkey ctrl-alt-f1
495 This command is useful to send keys that your graphical user interface 459 This command is useful to send keys that your graphical user interface
496 intercepts at low level, such as @code{ctrl-alt-f1} in X Window. 460 intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
497 461
  462 +@item system_reset
  463 +
  464 +Reset the system.
  465 +
498 @end table 466 @end table
499 467
500 @subsection Integer expressions 468 @subsection Integer expressions
@@ -904,63 +872,93 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use @@ -904,63 +872,93 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use
904 872
905 @subsection Linux 873 @subsection Linux
906 874
907 -To have access to SVGA graphic modes under X11, use the @code{vesa}  
908 -X11 driver. For optimal performances, use the same depth as your  
909 -native display. 875 +To have access to SVGA graphic modes under X11, use the @code{vesa} or
  876 +the @code{cirrus} X11 driver. For optimal performances, use 16 bit
  877 +color depth in the guest and the host OS.
910 878
911 @subsection Windows 879 @subsection Windows
912 880
913 If you have a slow host, using Windows 95 is better as it gives the 881 If you have a slow host, using Windows 95 is better as it gives the
914 best speed. Windows 2000 is also a good choice. 882 best speed. Windows 2000 is also a good choice.
915 883
916 -SVGA graphic modes support: QEMU currently supports the Bochs VESA VBE  
917 -extensions. It supports color depths of 8, 15, 16 and 32 bits per  
918 -pixel in 640x480, 800x600 and 1024x768. For optimal performances, use  
919 -the same depth as your native display. 884 +SVGA graphic modes support: QEMU emulates a Cirrus Logic GD5446 Video
  885 +card. All Windows versions starting from Windows 95 should recognize
  886 +and use this graphic card. For optimal performances, use 16 bit color
  887 +depth in the guest and the host OS.
920 888
921 -@itemize 889 +CPU usage reduction: Windows 9x does not correctly use the CPU HLT
  890 +instruction. The result is that it takes host CPU cycles even when
  891 +idle. You can install the utility from
  892 +@url{http://www.user.cityline.ru/~maxamn/amnhltm.zip} to solve this
  893 +problem. Note that no such tool is needed for NT, 2000 or XP.
922 894
923 -@item Windows XP: it should be automatically detected. 895 +@chapter QEMU PowerPC System emulator invocation
924 896
925 -@item Windows NT4 or 2000: use the driver  
926 -@url{http://www.volny.cz/xnavara/qemuvid_bin.zip} by Filip Navara. 897 +Use the executable @file{qemu-system-ppc} to simulate a complete PREP
  898 +or PowerMac PowerPC system.
927 899
928 -@item Windows 95/98/Me: no clean solution yet (but it will change  
929 -soon). You can however use the shareware driver from SciTech. Here are  
930 -the steps recommended by Christophe Bothamy on the Bochs mailing list: 900 +QEMU emulates the following PowerMac peripherials:
931 901
932 -@itemize  
933 -@item install win95 with the VGA driver.  
934 -@item download sdd 7 beta from @url{http://www.majorgeeks.com/download382.html}  
935 -@item download pmhelp.vxd from @url{http://unununium.org/viewcvs/snap/redist/release/pmhelp.vxd}  
936 -@item copy pmhelp.vxd to the win95 system directory  
937 -@item install sdd7  
938 -@end itemize 902 +@itemize @minus
  903 +@item
  904 +UniNorth PCI Bridge
  905 +@item
  906 +PCI VGA compatible card with VESA Bochs Extensions
  907 +@item
  908 +2 PMAC IDE interfaces with hard disk and CD-ROM support
  909 +@item
  910 +NE2000 PCI adapters
  911 +@item
  912 +Non Volatile RAM
  913 +@item
  914 +VIA-CUDA with ADB keyboard and mouse.
939 @end itemize 915 @end itemize
940 916
941 -@chapter QEMU PREP PowerPC System emulator invocation  
942 -  
943 -Use the executable @file{qemu-system-ppc} to simulate a complete PREP  
944 -PowerPC system.  
945 -  
946 QEMU emulates the following PREP peripherials: 917 QEMU emulates the following PREP peripherials:
947 918
948 @itemize @minus 919 @itemize @minus
949 @item 920 @item
  921 +PCI Bridge
  922 +@item
  923 +PCI VGA compatible card with VESA Bochs Extensions
  924 +@item
950 2 IDE interfaces with hard disk and CD-ROM support 925 2 IDE interfaces with hard disk and CD-ROM support
951 @item 926 @item
952 Floppy disk 927 Floppy disk
953 @item 928 @item
954 -up to 6 NE2000 network adapters 929 +NE2000 network adapters
955 @item 930 @item
956 Serial port 931 Serial port
957 @item 932 @item
958 PREP Non Volatile RAM 933 PREP Non Volatile RAM
  934 +@item
  935 +PC compatible keyboard and mouse.
959 @end itemize 936 @end itemize
960 937
  938 +QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
  939 +@url{http://site.voila.fr/jmayer/OpenHackWare/index.htm}.
  940 +
961 You can read the qemu PC system emulation chapter to have more 941 You can read the qemu PC system emulation chapter to have more
962 informations about QEMU usage. 942 informations about QEMU usage.
963 943
  944 +@c man begin OPTIONS
  945 +
  946 +The following options are specific to the PowerPC emulation:
  947 +
  948 +@table @option
  949 +
  950 +@item -prep
  951 +Simulate a PREP system (default is PowerMAC)
  952 +
  953 +@item -g WxH[xDEPTH]
  954 +
  955 +Set the initial VGA graphic mode. The default is 800x600x15.
  956 +
  957 +@end table
  958 +
  959 +@c man end
  960 +
  961 +
964 More information is available at 962 More information is available at
965 @url{http://jocelyn.mayer.free.fr/qemu-ppc/}. 963 @url{http://jocelyn.mayer.free.fr/qemu-ppc/}.
966 964
@@ -1065,3 +1063,76 @@ Activate log (logfile=/tmp/qemu.log) @@ -1065,3 +1063,76 @@ Activate log (logfile=/tmp/qemu.log)
1065 Act as if the host page size was 'pagesize' bytes 1063 Act as if the host page size was 'pagesize' bytes
1066 @end table 1064 @end table
1067 1065
  1066 +@node compilation
  1067 +@chapter Compilation from the sources
  1068 +
  1069 +@section Linux/BSD
  1070 +
  1071 +Read the @file{README} which gives the related information.
  1072 +
  1073 +@section Windows
  1074 +
  1075 +@itemize
  1076 +@item Install the current versions of MSYS and MinGW from
  1077 +@url{http://www.mingw.org/}. You can find detailed installation
  1078 +instructions in the download section and the FAQ.
  1079 +
  1080 +@item Download
  1081 +the MinGW development library of SDL 1.2.x
  1082 +(@file{SDL-devel-1.2.x-mingw32.tar.gz}) from
  1083 +@url{http://www.libsdl.org}. Unpack it in a temporary place, and
  1084 +unpack the archive @file{i386-mingw32msvc.tar.gz} in the MinGW tool
  1085 +directory. Edit the @file{sdl-config} script so that it gives the
  1086 +correct SDL directory when invoked.
  1087 +
  1088 +@item Extract the current version of QEMU.
  1089 +
  1090 +@item Start the MSYS shell (file @file{msys.bat}).
  1091 +
  1092 +@item Change to the QEMU directory. Launch @file{./configure} and
  1093 +@file{make}. If you have problems using SDL, verify that
  1094 +@file{sdl-config} can be launched from the MSYS command line.
  1095 +
  1096 +@item You can install QEMU in @file{Program Files/Qemu} by typing
  1097 +@file{make install}. Don't forget to copy @file{SDL.dll} in
  1098 +@file{Program Files/Qemu}.
  1099 +
  1100 +@end itemize
  1101 +
  1102 +@section Cross compilation for Windows with Linux
  1103 +
  1104 +@itemize
  1105 +@item
  1106 +Install the MinGW cross compilation tools available at
  1107 +@url{http://www.mingw.org/}.
  1108 +
  1109 +@item
  1110 +Install the Win32 version of SDL (@url{http://www.libsdl.org}) by
  1111 +unpacking @file{i386-mingw32msvc.tar.gz}. Set up the PATH environment
  1112 +variable so that @file{i386-mingw32msvc-sdl-config} can be launched by
  1113 +the QEMU configuration script.
  1114 +
  1115 +@item
  1116 +Configure QEMU for Windows cross compilation:
  1117 +@example
  1118 +./configure --enable-mingw32
  1119 +@end example
  1120 +If necessary, you can change the cross-prefix according to the prefix
  1121 +choosen for the MinGW tools with --cross-prefix. You can also use
  1122 +--prefix to set the Win32 install path.
  1123 +
  1124 +@item You can install QEMU in the installation directory by typing
  1125 +@file{make install}. Don't forget to copy @file{SDL.dll} in the
  1126 +installation directory.
  1127 +
  1128 +@end itemize
  1129 +
  1130 +Note: Currently, Wine does not seem able to launch
  1131 +QEMU for Win32.
  1132 +
  1133 +@section Mac OS X
  1134 +
  1135 +The Mac OS X patches are not fully merged in QEMU, so you should look
  1136 +at the QEMU mailing list archive to have all the necessary
  1137 +information.
  1138 +
qemu-tech.texi
@@ -258,7 +258,7 @@ segment base. @@ -258,7 +258,7 @@ segment base.
258 258
259 @section Translation cache 259 @section Translation cache
260 260
261 -A 2MByte cache holds the most recently used translations. For 261 +A 16 MByte cache holds the most recently used translations. For
262 simplicity, it is completely flushed when it is full. A translation unit 262 simplicity, it is completely flushed when it is full. A translation unit
263 contains just a single basic block (a block of x86 instructions 263 contains just a single basic block (a block of x86 instructions
264 terminated by a jump or by a virtual CPU state change which the 264 terminated by a jump or by a virtual CPU state change which the
@@ -489,19 +489,6 @@ This program tests various Linux system calls. It is used to verify @@ -489,19 +489,6 @@ This program tests various Linux system calls. It is used to verify
489 that the system call parameters are correctly converted between target 489 that the system call parameters are correctly converted between target
490 and host CPUs. 490 and host CPUs.
491 491
492 -@section @file{hello-i386}  
493 -  
494 -Very simple statically linked x86 program, just to test QEMU during a  
495 -port to a new host CPU.  
496 -  
497 -@section @file{hello-arm}  
498 -  
499 -Very simple statically linked ARM program, just to test QEMU during a  
500 -port to a new host CPU.  
501 -  
502 -@section @file{sha1}  
503 -  
504 -It is a simple benchmark. Care must be taken to interpret the results  
505 -because it mostly tests the ability of the virtual CPU to optimize the  
506 -@code{rol} x86 instruction and the condition code computations. 492 +@section @file{qruncom.c}
507 493
  494 +Example of usage of @code{libqemu} to emulate a user mode i386 CPU.