[OpenBIOS] usb driver to support usb keyboard

BALATON Zoltan balaton at eik.bme.hu
Fri May 2 12:59:56 CEST 2014


Hello,

I'm trying to improve the emulation of new world Macs (mac99) in QEMU and 
noticed that OpenBIOS does not support usb keyboards thus it currently 
cannot be used with qemu-system-ppc64 -machine mac99 and still uses an ADB 
keyboard for new world G4 mac that usually have USB keyboards. Because of 
this I have looked at adding a usb driver to OpenBIOS.

I was looking for other open source drivers to adapt but most I could find 
were GPLv3 (Grub), LGPLv3 (SeaBios) which are incompatible with the 
current OpenBIOS license or too difficult to adapt (Linux). This mostly 
left the driver in Coreboot's libpayload library 
(http://review.coreboot.org/gitweb?p=coreboot.git;a=tree;f=payloads/libpayload/drivers/usb) 
which is BSD licensed that I gave a try. It wasn't too difficult to port 
to OpenBIOS but when I tried to use it it turned out that it does not 
handle the device being little endian on a big endian host and thus does 
not work correctly with ppc (but it might work on little endian hosts, I 
didn't test that; Coreboot libpayload seems to only support x86 and 
armv7.)

Fixing this is a bit tedious that I don't feel like doing now, I'd rather 
work on other problems towards my goal of running MorphOS on QEMU instead 
but I'd like to share the results so far in case someone wants to look at 
it, has any idea how to easily fix the endianness problem or maybe help 
with finishing it. Or if someone knows about another simple boot time 
driver that could be adapted instead and works correctly on big endian 
hosts please let me know.

The current work in progress version can be found here: 
http://goliat.eik.bme.hu/~balaton/openbios-usbhid-driver-wip.tar.xz

Any comments/help are welcome.

Regards,
BALATON Zoltan



More information about the OpenBIOS mailing list