For a few weeks Laurent Vivier, Blue Swirl
and myself have been working on getting QEMU
PowerPC working correctly with recent distributions.
QEMU used to rely on
OpenHackWare for the
OpenFirmware implementation on PowerPC. It is a very limited
implementation (for example it as no Forth support), which is unable to
boot most 2.6.x kernels with the OldWorld emulation. It is able to boot
recent kernels with the PReP emulation, but things like the PCI bus
emulation are not working correctly. Moreover the PReP kernels are gone
with the removal of the arch/ppc
tree.
OpenBIOS was already used for the
OpenFirmware implementation of Sparc 32 and Sparc 64 targets. It now
supports PowerPC for the OldWorld emulation. As a result it is now
possible to use Debian PowerPC under QEMU emulating an OldWorld machine.
What works?
- Display (partly), keyboard, hard disk, network;
- Booting from CD-ROM or from disk using Quik;
- Installation of Debian
Etch or
Lenny (but due to a
bug in debian-installer quik.conf has to be fixed manually);
- Standard Debian
kernels;
- G3 CPU emulation: the testsuite results of the GNU libc
2.7 and of GCC
4.3 (Debian packages) are the
same than on a real machine.
- virtio devices
What doesn't work / has to be done?
- A few devices part of the MacIO chipset are not emulated and/or are
replaced by other devices: IDE, SCSI, Ethernet and sound;
- The red and green colors are reversed, in some modes only (in
debian-installer for example);
- X only outputs some strange images;
- PCI devices using I/O ports don't work (like the RTL8029 card, or
the RTL8139 card with the 8139too driver).
For those who want to test, an Etch
image is available. You
will need to compile QEMU by manually given that the version in Debian
is too old and that openbios-ppc is still in the NEW
queue.