Revisión | d5a0b50c6f51cd783c5216806fe01deb0bc0b03a (tree) |
---|---|
Tiempo | 2003-06-27 21:02:03 |
Autor | bellard <bellard@c046...> |
Commiter | bellard |
update
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@287 c046a42c-6fe2-441c-8c8c-71466251a162
@@ -1,3 +1,10 @@ | ||
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 |
@@ -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 +1 @@ | ||
1 | -0.4 | |
\ No newline at end of file | ||
1 | +0.4.1 | |
\ No newline at end of file |
@@ -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 |