Commit 52c00a5f1560525089c17d3277a235fe38c1ca78
1 parent
ab6d960f
update
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@757 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
59 additions
and
20 deletions
Changelog
| @@ -8,6 +8,7 @@ version 0.5.4: | @@ -8,6 +8,7 @@ version 0.5.4: | ||
| 8 | - QEMU can now boot a PowerPC Linux kernel (Jocelyn Mayer) | 8 | - QEMU can now boot a PowerPC Linux kernel (Jocelyn Mayer) |
| 9 | - User mode network stack | 9 | - User mode network stack |
| 10 | - imul imm8 fix + 0x82 opcode support (Hidemi KAWAI) | 10 | - imul imm8 fix + 0x82 opcode support (Hidemi KAWAI) |
| 11 | + - precise self modifying code (aka BeOS install bug) | ||
| 11 | 12 | ||
| 12 | version 0.5.3: | 13 | version 0.5.3: |
| 13 | 14 |
TODO
| 1 | short term: | 1 | short term: |
| 2 | ---------- | 2 | ---------- |
| 3 | +- physical memory cache (reduce qemu-fast address space size to about 32 MB) | ||
| 4 | +- better code fetch (different exception handling + CS.limit support) | ||
| 5 | +- do not resize vga if invalid size. | ||
| 6 | +- avoid looping if only exceptions | ||
| 3 | - handle fast timers + add explicit clocks | 7 | - handle fast timers + add explicit clocks |
| 4 | - OS/2 install bug | 8 | - OS/2 install bug |
| 5 | -- handle Self Modifying Code even if modifying current TB (BE OS 5 install) | ||
| 6 | -- physical memory cache (reduce qemu-fast address space size to about 32 MB) | ||
| 7 | -- better code fetch | ||
| 8 | -- XP security bug | ||
| 9 | - cycle counter for all archs | 9 | - cycle counter for all archs |
| 10 | - TLB code protection support for PPC | 10 | - TLB code protection support for PPC |
| 11 | - add sysenter/sysexit and fxsr for L4 pistachio 686 | 11 | - add sysenter/sysexit and fxsr for L4 pistachio 686 |
| 12 | - basic VGA optimizations | 12 | - basic VGA optimizations |
| 13 | -- disable SMC handling for ARM/SPARC/PPC | 13 | +- disable SMC handling for ARM/SPARC/PPC (not finished) |
| 14 | - see undefined flags for BTx insn | 14 | - see undefined flags for BTx insn |
| 15 | - user/kernel PUSHL/POPL in helper.c | 15 | - user/kernel PUSHL/POPL in helper.c |
| 16 | - keyboard output buffer filling timing emulation | 16 | - keyboard output buffer filling timing emulation |
| 17 | - return UD exception if LOCK prefix incorrectly used | 17 | - return UD exception if LOCK prefix incorrectly used |
| 18 | -- cmos clock update and timers | ||
| 19 | - test ldt limit < 7 ? | 18 | - test ldt limit < 7 ? |
| 20 | - tests for each target CPU | 19 | - tests for each target CPU |
| 21 | - fix CCOP optimisation | 20 | - fix CCOP optimisation |
| @@ -26,6 +25,7 @@ short term: | @@ -26,6 +25,7 @@ short term: | ||
| 26 | 25 | ||
| 27 | lower priority: | 26 | lower priority: |
| 28 | -------------- | 27 | -------------- |
| 28 | +- HDD geometry in CMOS (not used except for very old DOS programs) | ||
| 29 | - suppress shift_mem ops | 29 | - suppress shift_mem ops |
| 30 | - fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret) | 30 | - fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret) |
| 31 | - sysenter/sysexit emulation | 31 | - sysenter/sysexit emulation |
qemu-doc.texi
| @@ -37,8 +37,11 @@ to ease cross-compilation and cross-debugging. | @@ -37,8 +37,11 @@ to ease cross-compilation and cross-debugging. | ||
| 37 | As QEMU requires no host kernel driver to run, it is very safe and | 37 | As QEMU requires no host kernel driver to run, it is very safe and |
| 38 | easy to use. | 38 | easy to use. |
| 39 | 39 | ||
| 40 | -For system emulation, only the x86 PC emulator is currently | ||
| 41 | -usable. The PowerPC system emulator is being developped. | 40 | +For system emulation, the following hardware targets are supported: |
| 41 | +@itemize | ||
| 42 | +@item PC (x86 processor) | ||
| 43 | +@item PREP (PowerPC processor) | ||
| 44 | +@end itemize | ||
| 42 | 45 | ||
| 43 | For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported. | 46 | For user emulation, x86, PowerPC, ARM, and SPARC CPUs are supported. |
| 44 | 47 | ||
| @@ -121,13 +124,13 @@ QEMU for Win32. | @@ -121,13 +124,13 @@ QEMU for Win32. | ||
| 121 | 124 | ||
| 122 | Mac OS X is currently not supported. | 125 | Mac OS X is currently not supported. |
| 123 | 126 | ||
| 124 | -@chapter QEMU System emulator invocation | 127 | +@chapter QEMU PC System emulator invocation |
| 125 | 128 | ||
| 126 | @section Introduction | 129 | @section Introduction |
| 127 | 130 | ||
| 128 | @c man begin DESCRIPTION | 131 | @c man begin DESCRIPTION |
| 129 | 132 | ||
| 130 | -The QEMU System emulator simulates a complete PC. | 133 | +The QEMU System emulator simulates a complete PC. |
| 131 | 134 | ||
| 132 | In order to meet specific user needs, two versions of QEMU are | 135 | In order to meet specific user needs, two versions of QEMU are |
| 133 | available: | 136 | available: |
| @@ -235,23 +238,28 @@ Network options: | @@ -235,23 +238,28 @@ Network options: | ||
| 235 | @table @option | 238 | @table @option |
| 236 | 239 | ||
| 237 | @item -n script | 240 | @item -n script |
| 238 | -Set network init script [default=/etc/qemu-ifup]. This script is | ||
| 239 | -launched to configure the host network interface (usually tun0) | 241 | +Set TUN/TAP network init script [default=/etc/qemu-ifup]. This script |
| 242 | +is launched to configure the host network interface (usually tun0) | ||
| 240 | corresponding to the virtual NE2000 card. | 243 | corresponding to the virtual NE2000 card. |
| 241 | 244 | ||
| 242 | -@item nics n | ||
| 243 | -Simulate @var{n} network interfaces (default=1). | ||
| 244 | - | ||
| 245 | @item -macaddr addr | 245 | @item -macaddr addr |
| 246 | 246 | ||
| 247 | Set the mac address of the first interface (the format is | 247 | Set the mac address of the first interface (the format is |
| 248 | aa:bb:cc:dd:ee:ff in hexa). The mac address is incremented for each | 248 | aa:bb:cc:dd:ee:ff in hexa). The mac address is incremented for each |
| 249 | new network interface. | 249 | new network interface. |
| 250 | 250 | ||
| 251 | -@item -tun-fd fd1,... | ||
| 252 | -Assumes @var{fd} talks to tap/tun and use it. Read | ||
| 253 | -@url{http://bellard.org/qemu/tetrinet.html} to have an example of its | ||
| 254 | -use. | 251 | +@item -tun-fd fd |
| 252 | +Assumes @var{fd} talks to a tap/tun host network interface and use | ||
| 253 | +it. Read @url{http://bellard.org/qemu/tetrinet.html} to have an | ||
| 254 | +example of its use. | ||
| 255 | + | ||
| 256 | +@item -user-net | ||
| 257 | +(Experimental) Use the user mode network stack. This is the default if | ||
| 258 | +no tun/tap network init script is found. | ||
| 259 | + | ||
| 260 | +@item -dummy-net | ||
| 261 | +Use the dummy network stack: no packet will be received on the network | ||
| 262 | +cards. | ||
| 255 | 263 | ||
| 256 | @end table | 264 | @end table |
| 257 | 265 | ||
| @@ -278,6 +286,8 @@ Debug options: | @@ -278,6 +286,8 @@ Debug options: | ||
| 278 | Wait gdb connection to port 1234 (@xref{gdb_usage}). | 286 | Wait gdb connection to port 1234 (@xref{gdb_usage}). |
| 279 | @item -p port | 287 | @item -p port |
| 280 | Change gdb connection port. | 288 | Change gdb connection port. |
| 289 | +@item -S | ||
| 290 | +Do not start CPU at startup (you must type 'c' in the monitor). | ||
| 281 | @item -d | 291 | @item -d |
| 282 | Output log in /tmp/qemu.log | 292 | Output log in /tmp/qemu.log |
| 283 | @end table | 293 | @end table |
| @@ -413,7 +423,9 @@ can be x (hexa), d (signed decimal), u (unsigned decimal), o (octal), | @@ -413,7 +423,9 @@ can be x (hexa), d (signed decimal), u (unsigned decimal), o (octal), | ||
| 413 | c (char) or i (asm instruction). | 423 | c (char) or i (asm instruction). |
| 414 | 424 | ||
| 415 | @item size | 425 | @item size |
| 416 | -can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits) | 426 | +can be b (8 bits), h (16 bits), w (32 bits) or g (64 bits). On x86, |
| 427 | +@code{h} or @code{w} can be specified with the @code{i} format to | ||
| 428 | +respectively select 16 or 32 bit code instruction size. | ||
| 417 | 429 | ||
| 418 | @end table | 430 | @end table |
| 419 | 431 | ||
| @@ -802,6 +814,32 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use | @@ -802,6 +814,32 @@ Use @code{set architecture i8086} to dump 16 bit code. Then use | ||
| 802 | @code{x/10i $cs*16+*eip} to dump the code at the PC position. | 814 | @code{x/10i $cs*16+*eip} to dump the code at the PC position. |
| 803 | @end enumerate | 815 | @end enumerate |
| 804 | 816 | ||
| 817 | +@chapter QEMU PREP PowerPC System emulator invocation | ||
| 818 | + | ||
| 819 | +Use the executable @file{qemu-system-ppc} to simulate a complete PREP | ||
| 820 | +PowerPC system. | ||
| 821 | + | ||
| 822 | +QEMU emulates the following PREP peripherials: | ||
| 823 | + | ||
| 824 | +@itemize @minus | ||
| 825 | +@item | ||
| 826 | +2 IDE interfaces with hard disk and CD-ROM support | ||
| 827 | +@item | ||
| 828 | +Floppy disk | ||
| 829 | +@item | ||
| 830 | +up to 6 NE2000 network adapters | ||
| 831 | +@item | ||
| 832 | +Serial port | ||
| 833 | +@item | ||
| 834 | +PREP Non Volatile RAM | ||
| 835 | +@end itemize | ||
| 836 | + | ||
| 837 | +You can read the qemu PC system emulation chapter to have more | ||
| 838 | +informations about QEMU usage. | ||
| 839 | + | ||
| 840 | +More information is available at | ||
| 841 | +@url{http://jocelyn.mayer.free.fr/qemu-ppc/}. | ||
| 842 | + | ||
| 805 | @chapter QEMU User space emulator invocation | 843 | @chapter QEMU User space emulator invocation |
| 806 | 844 | ||
| 807 | @section Quick Start | 845 | @section Quick Start |