See it at:
http://fabrice.bellard.free.fr/qemu/
Daily Windows Builds are located at :
ftp://ftp.freeoszoo.org/qemu/win32/daily/
main features
- two operating modes: full system emulation (which interrest us) and linux user process emulation ( which interrest other people ;) and is a NxM platform emulator (multiple host, multiple targets).
- it is faster than Bochs because it uses 'just in time' code compilation technique (allowing reuse of previous interpretation)
- lacks technical documentation so far (imho), which probably makes it less suitable for "baby steps".
- provides native GDB support and you can attach it to GDB/DDD by adding the "-s -S" switches to the command line and from the GDB window start the debugging session with "target remote :1234" if QEMU is waiting on local port 1234.
- support VBE 2.0. This can be checked if you use the GRUB floppy image ready for use and tyiping the command vbeprobe. The test return:
Supported VBE modes
| 0x101 | Packed pixel |
|
|---|---|---|
| 0x110 | Direct Color |
|
| 0x111 | Direct Color |
|
| 0x112 | Direct Color |
|
| 0x103 | Packed pixel |
|
| 0x113 | Direct Color |
|
| 0x114 | Direct Color |
|
| 0x115 | Direct Color |
|
| 0x105 | Packed pixel |
|
| 0x116 | Direct Color |
|
| 0x117 | Direct Color |
|
That was for version 0.6.1.
In version 0.7.0, 4 modes are added:
| 0x118 | Direct Color |
|
|---|---|---|
| 0x107 | Packed pixel |
|
| 0x119 | Direct Color |
|
| 0x11A | Direct Color |
|
supported devices
- built in NE2000 support
- PCI VGA card (Cirrus Logic)
- PCI support (With BIOS32).
how to use QEMU
QEMU is easy to use, it does not have a configuration script like Bochs. To use QEMU with your OS,
qemu -L .\ -fda my_disk_image.img -m 32
The -L tells QEMU where to find its BIOS images. The -m tells how many megabytes of memory to use. the default is 128
You can use -fda/-fdb for disk image files And for hard disks -hda/-hdb, -hdc/-hdd To change boot devices -boot {a/b/c/d}. a/b tell it to boot floppy a or b. C for hard disk and D for CDROM.
Alternativly you can point hdc or use -cdrom to an ISO image file (2048 bytes per sector ISO format).
Whilst inside the emulator you can use CTRL-SHIFT-{1,2,3} to swap in/out of the emulation screen, the QEMU console and a serial console. The system console lets you change disk images and other things and do memory dumps etc.
Caveats
Like many SDL applications, QEMU might crash while it grabbed your mouse cursor, which means you'll be unable to move your cursor again and have to kill your X server ... unless you use a small tool provided by Ryan C. Gordon posted on
this thread.
Feedbacks
In testing my OSDev stuff, I found it far better than Bochs. (I was testing QEmu 0.6.0 nightly build of 20040730). Just the fact it supports BIOS32/PCI gives me btter results than Bochs. (I have already installed/tested with BeOS 4.5 cdrom, a notorious OS for emulation. VMWare cant handle it properly, nor can Bochs.) --StuGeorge
For those who are testing PCI stuff, QEMU is imho better than Bochs. It also has support for the PCI version of NE2000 network card, while BOCHS only has the ISA version. --PypeClicker
Anyone having experience of using QEMU as an emulator tool for OSdev'ing is welcome to post his feedback
Categorizing: PcEmulators
