mirror of
https://github.com/qemu/qemu.git
synced 2025-08-09 10:25:06 +00:00
update
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@287 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
87858c89ca
commit
d5a0b50c6f
@ -1,3 +1,10 @@
|
|||||||
|
version 0.4.1:
|
||||||
|
|
||||||
|
- more accurate timer support in vl.
|
||||||
|
- more reliable NE2000 probe in vl.
|
||||||
|
- added 2.5.66 kernel in vl-test.
|
||||||
|
- added VLTMPDIR environment variable in vl.
|
||||||
|
|
||||||
version 0.4:
|
version 0.4:
|
||||||
|
|
||||||
- initial support for ring 0 x86 processor emulation
|
- initial support for ring 0 x86 processor emulation
|
||||||
|
1
Makefile
1
Makefile
@ -189,6 +189,7 @@ distclean: clean
|
|||||||
rm -f config.mak config.h
|
rm -f config.mak config.h
|
||||||
|
|
||||||
install: $(PROGS)
|
install: $(PROGS)
|
||||||
|
mkdir -p $(prefix)/bin
|
||||||
install -m 755 -s $(PROGS) $(prefix)/bin
|
install -m 755 -s $(PROGS) $(prefix)/bin
|
||||||
|
|
||||||
# various test targets
|
# various test targets
|
||||||
|
@ -47,7 +47,7 @@ QEMU generic features:
|
|||||||
|
|
||||||
@item Self-modifying code support.
|
@item Self-modifying code support.
|
||||||
|
|
||||||
@item Precise exception support.
|
@item Precise exceptions support.
|
||||||
|
|
||||||
@item The virtual CPU is a library (@code{libqemu}) which can be used
|
@item The virtual CPU is a library (@code{libqemu}) which can be used
|
||||||
in other projects.
|
in other projects.
|
||||||
@ -128,7 +128,7 @@ generic dynamic code generation architecture of QEMU.
|
|||||||
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@chapter QEMU User space emulation invocation
|
@chapter QEMU User space emulator invocation
|
||||||
|
|
||||||
@section Quick Start
|
@section Quick Start
|
||||||
|
|
||||||
@ -315,7 +315,8 @@ sh: can't access tty; job control turned off
|
|||||||
Then you can play with the kernel inside the virtual serial console. You
|
Then you can play with the kernel inside the virtual serial console. You
|
||||||
can launch @code{ls} for example. Type @key{Ctrl-a h} to have an help
|
can launch @code{ls} for example. Type @key{Ctrl-a h} to have an help
|
||||||
about the keys you can type inside the virtual serial console. In
|
about the keys you can type inside the virtual serial console. In
|
||||||
particular @key{Ctrl-a b} is the Magic SysRq key.
|
particular, use @key{Ctrl-a x} to exit QEMU and use @key{Ctrl-a b} as
|
||||||
|
the Magic SysRq key.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
If the network is enabled, launch the script @file{/etc/linuxrc} in the
|
If the network is enabled, launch the script @file{/etc/linuxrc} in the
|
||||||
@ -334,9 +335,24 @@ a real Virtual Linux system !
|
|||||||
|
|
||||||
@end enumerate
|
@end enumerate
|
||||||
|
|
||||||
NOTE: the example initrd is a modified version of the one made by Kevin
|
NOTES:
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
A 2.5.66 kernel is also included in the vl-test archive. Just
|
||||||
|
replace the bzImage in vl.sh to try it.
|
||||||
|
|
||||||
|
@item
|
||||||
|
vl creates a temporary file in @var{$VLTMPDIR} (@file{/tmp} is the
|
||||||
|
default) containing all the simulated PC memory. If possible, try to use
|
||||||
|
a temporary directory using the tmpfs filesystem to avoid too many
|
||||||
|
unnecessary disk accesses.
|
||||||
|
|
||||||
|
@item
|
||||||
|
The example initrd is a modified version of the one made by Kevin
|
||||||
Lawton for the plex86 Project (@url{www.plex86.org}).
|
Lawton for the plex86 Project (@url{www.plex86.org}).
|
||||||
|
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
@section Kernel Compilation
|
@section Kernel Compilation
|
||||||
|
|
||||||
You can use any Linux kernel within QEMU provided it is mapped at
|
You can use any Linux kernel within QEMU provided it is mapped at
|
||||||
@ -372,6 +388,20 @@ As you would do to make a real kernel. Then you can use with QEMU
|
|||||||
exactly the same kernel as you would boot on your PC (in
|
exactly the same kernel as you would boot on your PC (in
|
||||||
@file{arch/i386/boot/bzImage}).
|
@file{arch/i386/boot/bzImage}).
|
||||||
|
|
||||||
|
If you are not using a 2.5 kernel as host kernel but if you use a target
|
||||||
|
2.5 kernel, you must also ensure that the 'HZ' define is set to 100
|
||||||
|
(1000 is the default) as QEMU cannot currently emulate timers at
|
||||||
|
frequencies greater than 100 Hz on host Linux systems < 2.5. In
|
||||||
|
asm/param.h, replace:
|
||||||
|
|
||||||
|
@example
|
||||||
|
# define HZ 1000 /* Internal kernel timer frequency */
|
||||||
|
@end example
|
||||||
|
by
|
||||||
|
@example
|
||||||
|
# define HZ 100 /* Internal kernel timer frequency */
|
||||||
|
@end example
|
||||||
|
|
||||||
@section PC Emulation
|
@section PC Emulation
|
||||||
|
|
||||||
QEMU emulates the following PC peripherials:
|
QEMU emulates the following PC peripherials:
|
||||||
@ -388,7 +418,7 @@ Serial port (port=0x3f8, irq=4)
|
|||||||
@item
|
@item
|
||||||
NE2000 network adapter (port=0x300, irq=9)
|
NE2000 network adapter (port=0x300, irq=9)
|
||||||
@item
|
@item
|
||||||
Dumb VGA (to print the @code{uncompressing Linux kernel} message)
|
Dumb VGA (to print the @code{Uncompressing Linux} message)
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
@chapter QEMU Internals
|
@chapter QEMU Internals
|
||||||
@ -405,9 +435,9 @@ Like Valgrind [2], QEMU does user space emulation and dynamic
|
|||||||
translation. Valgrind is mainly a memory debugger while QEMU has no
|
translation. Valgrind is mainly a memory debugger while QEMU has no
|
||||||
support for it (QEMU could be used to detect out of bound memory
|
support for it (QEMU could be used to detect out of bound memory
|
||||||
accesses as Valgrind, but it has no support to track uninitialised data
|
accesses as Valgrind, but it has no support to track uninitialised data
|
||||||
as Valgrind does). Valgrind dynamic translator generates better code
|
as Valgrind does). The Valgrind dynamic translator generates better code
|
||||||
than QEMU (in particular it does register allocation) but it is closely
|
than QEMU (in particular it does register allocation) but it is closely
|
||||||
tied to an x86 host and target and has no support for precise exception
|
tied to an x86 host and target and has no support for precise exceptions
|
||||||
and system emulation.
|
and system emulation.
|
||||||
|
|
||||||
EM86 [4] is the closest project to user space QEMU (and QEMU still uses
|
EM86 [4] is the closest project to user space QEMU (and QEMU still uses
|
||||||
@ -433,8 +463,8 @@ system emulator. It requires a patched Linux kernel to work (you cannot
|
|||||||
launch the same kernel on your PC), but the patches are really small. As
|
launch the same kernel on your PC), but the patches are really small. As
|
||||||
it is a PC virtualizer (no emulation is done except for some priveledged
|
it is a PC virtualizer (no emulation is done except for some priveledged
|
||||||
instructions), it has the potential of being faster than QEMU. The
|
instructions), it has the potential of being faster than QEMU. The
|
||||||
downside is that a complicated (and potentially unsafe) kernel patch is
|
downside is that a complicated (and potentially unsafe) host kernel
|
||||||
needed.
|
patch is needed.
|
||||||
|
|
||||||
@section Portable dynamic translation
|
@section Portable dynamic translation
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user