Commit 15a34c63642d8b70ad90bfbb2c2f823753e2dbf4
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 | 41 | @itemize |
42 | 42 | @item PC (x86 processor) |
43 | 43 | @item PREP (PowerPC processor) |
44 | +@item PowerMac (PowerPC processor, in progress) | |
44 | 45 | @end itemize |
45 | 46 | |
46 | 47 | For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported. |
47 | 48 | |
48 | 49 | @chapter Installation |
49 | 50 | |
51 | +If you want to compile QEMU yourself, see @ref{compilation}. | |
52 | + | |
50 | 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 | 58 | @example |
58 | 59 | su |
... | ... | @@ -62,67 +63,13 @@ tar zxvf /tmp/qemu-XXX-i386.tar.gz |
62 | 63 | |
63 | 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 | 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 | 74 | @chapter QEMU PC System emulator invocation |
128 | 75 | |
... | ... | @@ -138,11 +85,11 @@ available: |
138 | 85 | @enumerate |
139 | 86 | |
140 | 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 | 94 | @item |
148 | 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 | 100 | QEMU emulates the following PC peripherials: |
154 | 101 | |
155 | 102 | @itemize @minus |
103 | +@item | |
104 | +i440FX host PCI bridge and PIIX3 PCI to ISA bridge | |
156 | 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 | 108 | @item |
159 | 109 | PS/2 mouse and keyboard |
160 | 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 | 112 | @item |
163 | 113 | Floppy disk |
164 | 114 | @item |
165 | -up to 6 NE2000 network adapters | |
115 | +NE2000 PCI network adapters | |
166 | 116 | @item |
167 | 117 | Serial port |
168 | 118 | @item |
169 | 119 | Soundblaster 16 card |
170 | 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 | 125 | @c man end |
173 | 126 | |
174 | 127 | @section Quick Start |
... | ... | @@ -220,7 +173,7 @@ the raw disk image you use is not written back. You can however force |
220 | 173 | the write back by pressing @key{C-a s} (@xref{disk_images}). |
221 | 174 | |
222 | 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 | 178 | @item -initrd file |
226 | 179 | Use @var{file} as initial ram disk. |
... | ... | @@ -238,6 +191,11 @@ with a serial console. |
238 | 191 | The SB16 emulation is disabled by default as it may give problems with |
239 | 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 | 199 | @end table |
242 | 200 | |
243 | 201 | Network options: |
... | ... | @@ -261,11 +219,11 @@ it. Read @url{http://bellard.org/qemu/tetrinet.html} to have an |
261 | 219 | example of its use. |
262 | 220 | |
263 | 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 | 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 | 227 | cards. |
270 | 228 | |
271 | 229 | @end table |
... | ... | @@ -287,7 +245,7 @@ Use @var{file} as initial ram disk. |
287 | 245 | |
288 | 246 | @end table |
289 | 247 | |
290 | -Debug options: | |
248 | +Debug/Expert options: | |
291 | 249 | @table @option |
292 | 250 | @item -s |
293 | 251 | Wait gdb connection to port 1234 (@xref{gdb_usage}). |
... | ... | @@ -297,6 +255,12 @@ Change gdb connection port. |
297 | 255 | Do not start CPU at startup (you must type 'c' in the monitor). |
298 | 256 | @item -d |
299 | 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 | 264 | @end table |
301 | 265 | |
302 | 266 | During the graphical emulation, you can use the following keys: |
... | ... | @@ -495,6 +459,10 @@ sendkey ctrl-alt-f1 |
495 | 459 | This command is useful to send keys that your graphical user interface |
496 | 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 | 466 | @end table |
499 | 467 | |
500 | 468 | @subsection Integer expressions |
... | ... | @@ -904,63 +872,93 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use |
904 | 872 | |
905 | 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 | 879 | @subsection Windows |
912 | 880 | |
913 | 881 | If you have a slow host, using Windows 95 is better as it gives the |
914 | 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 | 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 | 917 | QEMU emulates the following PREP peripherials: |
947 | 918 | |
948 | 919 | @itemize @minus |
949 | 920 | @item |
921 | +PCI Bridge | |
922 | +@item | |
923 | +PCI VGA compatible card with VESA Bochs Extensions | |
924 | +@item | |
950 | 925 | 2 IDE interfaces with hard disk and CD-ROM support |
951 | 926 | @item |
952 | 927 | Floppy disk |
953 | 928 | @item |
954 | -up to 6 NE2000 network adapters | |
929 | +NE2000 network adapters | |
955 | 930 | @item |
956 | 931 | Serial port |
957 | 932 | @item |
958 | 933 | PREP Non Volatile RAM |
934 | +@item | |
935 | +PC compatible keyboard and mouse. | |
959 | 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 | 941 | You can read the qemu PC system emulation chapter to have more |
962 | 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 | 962 | More information is available at |
965 | 963 | @url{http://jocelyn.mayer.free.fr/qemu-ppc/}. |
966 | 964 | |
... | ... | @@ -1065,3 +1063,76 @@ Activate log (logfile=/tmp/qemu.log) |
1065 | 1063 | Act as if the host page size was 'pagesize' bytes |
1066 | 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 | 258 | |
259 | 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 | 262 | simplicity, it is completely flushed when it is full. A translation unit |
263 | 263 | contains just a single basic block (a block of x86 instructions |
264 | 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 | 489 | that the system call parameters are correctly converted between target |
490 | 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. | ... | ... |