Commit d5a0b50c6f51cd783c5216806fe01deb0bc0b03a

Authored by bellard
1 parent 87858c89

update


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@287 c046a42c-6fe2-441c-8c8c-71466251a162
Changelog
  1 +version 0.4.1:
  2 +
  3 + - more accurate timer support in vl.
  4 + - more reliable NE2000 probe in vl.
  5 + - added 2.5.66 kernel in vl-test.
  6 + - added VLTMPDIR environment variable in vl.
  7 +
1 8 version 0.4:
2 9  
3 10 - initial support for ring 0 x86 processor emulation
... ...
Makefile
... ... @@ -189,6 +189,7 @@ distclean: clean
189 189 rm -f config.mak config.h
190 190  
191 191 install: $(PROGS)
  192 + mkdir -p $(prefix)/bin
192 193 install -m 755 -s $(PROGS) $(prefix)/bin
193 194  
194 195 # various test targets
... ...
1   -0.4
2 1 \ No newline at end of file
  2 +0.4.1
3 3 \ No newline at end of file
... ...
qemu-doc.texi
... ... @@ -47,7 +47,7 @@ QEMU generic features:
47 47  
48 48 @item Self-modifying code support.
49 49  
50   -@item Precise exception support.
  50 +@item Precise exceptions support.
51 51  
52 52 @item The virtual CPU is a library (@code{libqemu}) which can be used
53 53 in other projects.
... ... @@ -128,7 +128,7 @@ generic dynamic code generation architecture of QEMU.
128 128  
129 129 @end itemize
130 130  
131   -@chapter QEMU User space emulation invocation
  131 +@chapter QEMU User space emulator invocation
132 132  
133 133 @section Quick Start
134 134  
... ... @@ -315,7 +315,8 @@ sh: can't access tty; job control turned off
315 315 Then you can play with the kernel inside the virtual serial console. You
316 316 can launch @code{ls} for example. Type @key{Ctrl-a h} to have an help
317 317 about the keys you can type inside the virtual serial console. In
318   -particular @key{Ctrl-a b} is the Magic SysRq key.
  318 +particular, use @key{Ctrl-a x} to exit QEMU and use @key{Ctrl-a b} as
  319 +the Magic SysRq key.
319 320  
320 321 @item
321 322 If the network is enabled, launch the script @file{/etc/linuxrc} in the
... ... @@ -334,9 +335,24 @@ a real Virtual Linux system !
334 335  
335 336 @end enumerate
336 337  
337   -NOTE: the example initrd is a modified version of the one made by Kevin
  338 +NOTES:
  339 +@enumerate
  340 +@item
  341 +A 2.5.66 kernel is also included in the vl-test archive. Just
  342 +replace the bzImage in vl.sh to try it.
  343 +
  344 +@item
  345 +vl creates a temporary file in @var{$VLTMPDIR} (@file{/tmp} is the
  346 +default) containing all the simulated PC memory. If possible, try to use
  347 +a temporary directory using the tmpfs filesystem to avoid too many
  348 +unnecessary disk accesses.
  349 +
  350 +@item
  351 +The example initrd is a modified version of the one made by Kevin
338 352 Lawton for the plex86 Project (@url{www.plex86.org}).
339 353  
  354 +@end enumerate
  355 +
340 356 @section Kernel Compilation
341 357  
342 358 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
372 388 exactly the same kernel as you would boot on your PC (in
373 389 @file{arch/i386/boot/bzImage}).
374 390  
  391 +If you are not using a 2.5 kernel as host kernel but if you use a target
  392 +2.5 kernel, you must also ensure that the 'HZ' define is set to 100
  393 +(1000 is the default) as QEMU cannot currently emulate timers at
  394 +frequencies greater than 100 Hz on host Linux systems < 2.5. In
  395 +asm/param.h, replace:
  396 +
  397 +@example
  398 +# define HZ 1000 /* Internal kernel timer frequency */
  399 +@end example
  400 +by
  401 +@example
  402 +# define HZ 100 /* Internal kernel timer frequency */
  403 +@end example
  404 +
375 405 @section PC Emulation
376 406  
377 407 QEMU emulates the following PC peripherials:
... ... @@ -388,7 +418,7 @@ Serial port (port=0x3f8, irq=4)
388 418 @item
389 419 NE2000 network adapter (port=0x300, irq=9)
390 420 @item
391   -Dumb VGA (to print the @code{uncompressing Linux kernel} message)
  421 +Dumb VGA (to print the @code{Uncompressing Linux} message)
392 422 @end itemize
393 423  
394 424 @chapter QEMU Internals
... ... @@ -405,9 +435,9 @@ Like Valgrind [2], QEMU does user space emulation and dynamic
405 435 translation. Valgrind is mainly a memory debugger while QEMU has no
406 436 support for it (QEMU could be used to detect out of bound memory
407 437 accesses as Valgrind, but it has no support to track uninitialised data
408   -as Valgrind does). Valgrind dynamic translator generates better code
  438 +as Valgrind does). The Valgrind dynamic translator generates better code
409 439 than QEMU (in particular it does register allocation) but it is closely
410   -tied to an x86 host and target and has no support for precise exception
  440 +tied to an x86 host and target and has no support for precise exceptions
411 441 and system emulation.
412 442  
413 443 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
433 463 launch the same kernel on your PC), but the patches are really small. As
434 464 it is a PC virtualizer (no emulation is done except for some priveledged
435 465 instructions), it has the potential of being faster than QEMU. The
436   -downside is that a complicated (and potentially unsafe) kernel patch is
437   -needed.
  466 +downside is that a complicated (and potentially unsafe) host kernel
  467 +patch is needed.
438 468  
439 469 @section Portable dynamic translation
440 470  
... ...