mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
doc update
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@990 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
1bfe856eb2
commit
15a34c6364
2 changed files with 178 additions and 120 deletions
279
qemu-doc.texi
279
qemu-doc.texi
|
@ -41,18 +41,19 @@ For system emulation, the following hardware targets are supported:
|
|||
@itemize
|
||||
@item PC (x86 processor)
|
||||
@item PREP (PowerPC processor)
|
||||
@item PowerMac (PowerPC processor, in progress)
|
||||
@end itemize
|
||||
|
||||
For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported.
|
||||
|
||||
@chapter Installation
|
||||
|
||||
If you want to compile QEMU yourself, see @ref{compilation}.
|
||||
|
||||
@section Linux
|
||||
|
||||
If you want to compile QEMU, please read the @file{README} which gives
|
||||
the related information. Otherwise just download the binary
|
||||
distribution (@file{qemu-XXX-i386.tar.gz}) and untar it as root in
|
||||
@file{/}:
|
||||
Download the binary distribution (@file{qemu-XXX-i386.tar.gz}) and
|
||||
untar it as root in @file{/}:
|
||||
|
||||
@example
|
||||
su
|
||||
|
@ -62,67 +63,13 @@ tar zxvf /tmp/qemu-XXX-i386.tar.gz
|
|||
|
||||
@section Windows
|
||||
|
||||
@itemize
|
||||
@item Install the current versions of MSYS and MinGW from
|
||||
@url{http://www.mingw.org/}. You can find detailed installation
|
||||
instructions in the download section and the FAQ.
|
||||
|
||||
@item Download
|
||||
the MinGW development library of SDL 1.2.x
|
||||
(@file{SDL-devel-1.2.x-mingw32.tar.gz}) from
|
||||
@url{http://www.libsdl.org}. Unpack it in a temporary place, and
|
||||
unpack the archive @file{i386-mingw32msvc.tar.gz} in the MinGW tool
|
||||
directory. Edit the @file{sdl-config} script so that it gives the
|
||||
correct SDL directory when invoked.
|
||||
|
||||
@item Extract the current version of QEMU.
|
||||
|
||||
@item Start the MSYS shell (file @file{msys.bat}).
|
||||
|
||||
@item Change to the QEMU directory. Launch @file{./configure} and
|
||||
@file{make}. If you have problems using SDL, verify that
|
||||
@file{sdl-config} can be launched from the MSYS command line.
|
||||
|
||||
@item You can install QEMU in @file{Program Files/Qemu} by typing
|
||||
@file{make install}. Don't forget to copy @file{SDL.dll} in
|
||||
@file{Program Files/Qemu}.
|
||||
|
||||
@end itemize
|
||||
|
||||
@section Cross compilation for Windows with Linux
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Install the MinGW cross compilation tools available at
|
||||
@url{http://www.mingw.org/}.
|
||||
|
||||
@item
|
||||
Install the Win32 version of SDL (@url{http://www.libsdl.org}) by
|
||||
unpacking @file{i386-mingw32msvc.tar.gz}. Set up the PATH environment
|
||||
variable so that @file{i386-mingw32msvc-sdl-config} can be launched by
|
||||
the QEMU configuration script.
|
||||
|
||||
@item
|
||||
Configure QEMU for Windows cross compilation:
|
||||
@example
|
||||
./configure --enable-mingw32
|
||||
@end example
|
||||
If necessary, you can change the cross-prefix according to the prefix
|
||||
choosen for the MinGW tools with --cross-prefix. You can also use
|
||||
--prefix to set the Win32 install path.
|
||||
|
||||
@item You can install QEMU in the installation directory by typing
|
||||
@file{make install}. Don't forget to copy @file{SDL.dll} in the
|
||||
installation directory.
|
||||
|
||||
@end itemize
|
||||
|
||||
Note: Currently, Wine does not seem able to launch
|
||||
QEMU for Win32.
|
||||
Download the experimental binary installer at
|
||||
@url{http://www.freeoszoo.org/download.php}.
|
||||
|
||||
@section Mac OS X
|
||||
|
||||
Mac OS X is currently not supported.
|
||||
Download the experimental binary installer at
|
||||
@url{http://www.freeoszoo.org/download.php}.
|
||||
|
||||
@chapter QEMU PC System emulator invocation
|
||||
|
||||
|
@ -138,11 +85,11 @@ available:
|
|||
@enumerate
|
||||
|
||||
@item
|
||||
@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}).
|
||||
@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
|
||||
guest Linux kernel can be used (@xref{linux_compile}) as guest OS.
|
||||
|
||||
@item
|
||||
@code{qemu} uses a software MMU. It is about @emph{two times
|
||||
|
@ -153,22 +100,28 @@ slower} but gives a more accurate emulation.
|
|||
QEMU emulates the following PC peripherials:
|
||||
|
||||
@itemize @minus
|
||||
@item
|
||||
i440FX host PCI bridge and PIIX3 PCI to ISA bridge
|
||||
@item
|
||||
VGA (hardware level, including all non standard modes)
|
||||
Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA
|
||||
extensions (hardware level, including all non standard modes).
|
||||
@item
|
||||
PS/2 mouse and keyboard
|
||||
@item
|
||||
2 IDE interfaces with hard disk and CD-ROM support
|
||||
2 PCI IDE interfaces with hard disk and CD-ROM support
|
||||
@item
|
||||
Floppy disk
|
||||
@item
|
||||
up to 6 NE2000 network adapters
|
||||
NE2000 PCI network adapters
|
||||
@item
|
||||
Serial port
|
||||
@item
|
||||
Soundblaster 16 card
|
||||
@end itemize
|
||||
|
||||
QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL
|
||||
VGA BIOS.
|
||||
|
||||
@c man end
|
||||
|
||||
@section Quick Start
|
||||
|
@ -220,7 +173,7 @@ the raw disk image you use is not written back. You can however force
|
|||
the write back by pressing @key{C-a s} (@xref{disk_images}).
|
||||
|
||||
@item -m megs
|
||||
Set virtual RAM size to @var{megs} megabytes.
|
||||
Set virtual RAM size to @var{megs} megabytes. Default is 128 MB.
|
||||
|
||||
@item -initrd file
|
||||
Use @var{file} as initial ram disk.
|
||||
|
@ -238,6 +191,11 @@ with a serial console.
|
|||
The SB16 emulation is disabled by default as it may give problems with
|
||||
Windows. You can enable it manually with this option.
|
||||
|
||||
@item -localtime
|
||||
Set the real time clock to local time (the default is to UTC
|
||||
time). This option is needed to have correct date in MS-DOS or
|
||||
Windows.
|
||||
|
||||
@end table
|
||||
|
||||
Network options:
|
||||
|
@ -261,11 +219,11 @@ 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.
|
||||
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
|
||||
Use the dummy network stack: no packet will be received by the network
|
||||
cards.
|
||||
|
||||
@end table
|
||||
|
@ -287,7 +245,7 @@ Use @var{file} as initial ram disk.
|
|||
|
||||
@end table
|
||||
|
||||
Debug options:
|
||||
Debug/Expert options:
|
||||
@table @option
|
||||
@item -s
|
||||
Wait gdb connection to port 1234 (@xref{gdb_usage}).
|
||||
|
@ -297,6 +255,12 @@ Change gdb connection port.
|
|||
Do not start CPU at startup (you must type 'c' in the monitor).
|
||||
@item -d
|
||||
Output log in /tmp/qemu.log
|
||||
@item -isa
|
||||
Simulate an ISA-only system (default is PCI system).
|
||||
@item -std-vga
|
||||
Simulate a standard VGA card with Bochs VBE extensions (default is
|
||||
Cirrus Logic GD5446 PCI VGA)
|
||||
|
||||
@end table
|
||||
|
||||
During the graphical emulation, you can use the following keys:
|
||||
|
@ -495,6 +459,10 @@ sendkey ctrl-alt-f1
|
|||
This command is useful to send keys that your graphical user interface
|
||||
intercepts at low level, such as @code{ctrl-alt-f1} in X Window.
|
||||
|
||||
@item system_reset
|
||||
|
||||
Reset the system.
|
||||
|
||||
@end table
|
||||
|
||||
@subsection Integer expressions
|
||||
|
@ -904,63 +872,93 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use
|
|||
|
||||
@subsection Linux
|
||||
|
||||
To have access to SVGA graphic modes under X11, use the @code{vesa}
|
||||
X11 driver. For optimal performances, use the same depth as your
|
||||
native display.
|
||||
To have access to SVGA graphic modes under X11, use the @code{vesa} or
|
||||
the @code{cirrus} X11 driver. For optimal performances, use 16 bit
|
||||
color depth in the guest and the host OS.
|
||||
|
||||
@subsection Windows
|
||||
|
||||
If you have a slow host, using Windows 95 is better as it gives the
|
||||
best speed. Windows 2000 is also a good choice.
|
||||
|
||||
SVGA graphic modes support: QEMU currently supports the Bochs VESA VBE
|
||||
extensions. It supports color depths of 8, 15, 16 and 32 bits per
|
||||
pixel in 640x480, 800x600 and 1024x768. For optimal performances, use
|
||||
the same depth as your native display.
|
||||
SVGA graphic modes support: QEMU emulates a Cirrus Logic GD5446 Video
|
||||
card. All Windows versions starting from Windows 95 should recognize
|
||||
and use this graphic card. For optimal performances, use 16 bit color
|
||||
depth in the guest and the host OS.
|
||||
|
||||
@itemize
|
||||
CPU usage reduction: Windows 9x does not correctly use the CPU HLT
|
||||
instruction. The result is that it takes host CPU cycles even when
|
||||
idle. You can install the utility from
|
||||
@url{http://www.user.cityline.ru/~maxamn/amnhltm.zip} to solve this
|
||||
problem. Note that no such tool is needed for NT, 2000 or XP.
|
||||
|
||||
@item Windows XP: it should be automatically detected.
|
||||
|
||||
@item Windows NT4 or 2000: use the driver
|
||||
@url{http://www.volny.cz/xnavara/qemuvid_bin.zip} by Filip Navara.
|
||||
|
||||
@item Windows 95/98/Me: no clean solution yet (but it will change
|
||||
soon). You can however use the shareware driver from SciTech. Here are
|
||||
the steps recommended by Christophe Bothamy on the Bochs mailing list:
|
||||
|
||||
@itemize
|
||||
@item install win95 with the VGA driver.
|
||||
@item download sdd 7 beta from @url{http://www.majorgeeks.com/download382.html}
|
||||
@item download pmhelp.vxd from @url{http://unununium.org/viewcvs/snap/redist/release/pmhelp.vxd}
|
||||
@item copy pmhelp.vxd to the win95 system directory
|
||||
@item install sdd7
|
||||
@end itemize
|
||||
@end itemize
|
||||
|
||||
@chapter QEMU PREP PowerPC System emulator invocation
|
||||
@chapter QEMU PowerPC System emulator invocation
|
||||
|
||||
Use the executable @file{qemu-system-ppc} to simulate a complete PREP
|
||||
PowerPC system.
|
||||
or PowerMac PowerPC system.
|
||||
|
||||
QEMU emulates the following PowerMac peripherials:
|
||||
|
||||
@itemize @minus
|
||||
@item
|
||||
UniNorth PCI Bridge
|
||||
@item
|
||||
PCI VGA compatible card with VESA Bochs Extensions
|
||||
@item
|
||||
2 PMAC IDE interfaces with hard disk and CD-ROM support
|
||||
@item
|
||||
NE2000 PCI adapters
|
||||
@item
|
||||
Non Volatile RAM
|
||||
@item
|
||||
VIA-CUDA with ADB keyboard and mouse.
|
||||
@end itemize
|
||||
|
||||
QEMU emulates the following PREP peripherials:
|
||||
|
||||
@itemize @minus
|
||||
@item
|
||||
PCI Bridge
|
||||
@item
|
||||
PCI VGA compatible card with VESA Bochs Extensions
|
||||
@item
|
||||
2 IDE interfaces with hard disk and CD-ROM support
|
||||
@item
|
||||
Floppy disk
|
||||
@item
|
||||
up to 6 NE2000 network adapters
|
||||
NE2000 network adapters
|
||||
@item
|
||||
Serial port
|
||||
@item
|
||||
PREP Non Volatile RAM
|
||||
@item
|
||||
PC compatible keyboard and mouse.
|
||||
@end itemize
|
||||
|
||||
QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
|
||||
@url{http://site.voila.fr/jmayer/OpenHackWare/index.htm}.
|
||||
|
||||
You can read the qemu PC system emulation chapter to have more
|
||||
informations about QEMU usage.
|
||||
|
||||
@c man begin OPTIONS
|
||||
|
||||
The following options are specific to the PowerPC emulation:
|
||||
|
||||
@table @option
|
||||
|
||||
@item -prep
|
||||
Simulate a PREP system (default is PowerMAC)
|
||||
|
||||
@item -g WxH[xDEPTH]
|
||||
|
||||
Set the initial VGA graphic mode. The default is 800x600x15.
|
||||
|
||||
@end table
|
||||
|
||||
@c man end
|
||||
|
||||
|
||||
More information is available at
|
||||
@url{http://jocelyn.mayer.free.fr/qemu-ppc/}.
|
||||
|
||||
|
@ -1065,3 +1063,76 @@ Activate log (logfile=/tmp/qemu.log)
|
|||
Act as if the host page size was 'pagesize' bytes
|
||||
@end table
|
||||
|
||||
@node compilation
|
||||
@chapter Compilation from the sources
|
||||
|
||||
@section Linux/BSD
|
||||
|
||||
Read the @file{README} which gives the related information.
|
||||
|
||||
@section Windows
|
||||
|
||||
@itemize
|
||||
@item Install the current versions of MSYS and MinGW from
|
||||
@url{http://www.mingw.org/}. You can find detailed installation
|
||||
instructions in the download section and the FAQ.
|
||||
|
||||
@item Download
|
||||
the MinGW development library of SDL 1.2.x
|
||||
(@file{SDL-devel-1.2.x-mingw32.tar.gz}) from
|
||||
@url{http://www.libsdl.org}. Unpack it in a temporary place, and
|
||||
unpack the archive @file{i386-mingw32msvc.tar.gz} in the MinGW tool
|
||||
directory. Edit the @file{sdl-config} script so that it gives the
|
||||
correct SDL directory when invoked.
|
||||
|
||||
@item Extract the current version of QEMU.
|
||||
|
||||
@item Start the MSYS shell (file @file{msys.bat}).
|
||||
|
||||
@item Change to the QEMU directory. Launch @file{./configure} and
|
||||
@file{make}. If you have problems using SDL, verify that
|
||||
@file{sdl-config} can be launched from the MSYS command line.
|
||||
|
||||
@item You can install QEMU in @file{Program Files/Qemu} by typing
|
||||
@file{make install}. Don't forget to copy @file{SDL.dll} in
|
||||
@file{Program Files/Qemu}.
|
||||
|
||||
@end itemize
|
||||
|
||||
@section Cross compilation for Windows with Linux
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Install the MinGW cross compilation tools available at
|
||||
@url{http://www.mingw.org/}.
|
||||
|
||||
@item
|
||||
Install the Win32 version of SDL (@url{http://www.libsdl.org}) by
|
||||
unpacking @file{i386-mingw32msvc.tar.gz}. Set up the PATH environment
|
||||
variable so that @file{i386-mingw32msvc-sdl-config} can be launched by
|
||||
the QEMU configuration script.
|
||||
|
||||
@item
|
||||
Configure QEMU for Windows cross compilation:
|
||||
@example
|
||||
./configure --enable-mingw32
|
||||
@end example
|
||||
If necessary, you can change the cross-prefix according to the prefix
|
||||
choosen for the MinGW tools with --cross-prefix. You can also use
|
||||
--prefix to set the Win32 install path.
|
||||
|
||||
@item You can install QEMU in the installation directory by typing
|
||||
@file{make install}. Don't forget to copy @file{SDL.dll} in the
|
||||
installation directory.
|
||||
|
||||
@end itemize
|
||||
|
||||
Note: Currently, Wine does not seem able to launch
|
||||
QEMU for Win32.
|
||||
|
||||
@section Mac OS X
|
||||
|
||||
The Mac OS X patches are not fully merged in QEMU, so you should look
|
||||
at the QEMU mailing list archive to have all the necessary
|
||||
information.
|
||||
|
||||
|
|
|
@ -258,7 +258,7 @@ segment base.
|
|||
|
||||
@section Translation cache
|
||||
|
||||
A 2MByte cache holds the most recently used translations. For
|
||||
A 16 MByte cache holds the most recently used translations. For
|
||||
simplicity, it is completely flushed when it is full. A translation unit
|
||||
contains just a single basic block (a block of x86 instructions
|
||||
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
|
|||
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
|
||||
because it mostly tests the ability of the virtual CPU to optimize the
|
||||
@code{rol} x86 instruction and the condition code computations.
|
||||
@section @file{qruncom.c}
|
||||
|
||||
Example of usage of @code{libqemu} to emulate a user mode i386 CPU.
|
||||
|
|
Loading…
Reference in a new issue