On May 2, 2014, at 6:59 AM, BALATON Zoltan wrote:
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/libpayloa...) 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
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/mailman/listinfo Free your System - May the Forth be with you
Thank you for trying to improve the Power Macintosh emulator. I wanted to open the file you provided in the link, but I can't open a xz file. Could you provide a zip file?
I think I found a way to use the GPLv3 code. According to the licensing section at the openfirmware.info site, the license applied to OpenBIOS is GPLv2 or later. Here is my source: http://www.openfirmware.info/About:License
Here is the the quote from that page:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This means we can use the GPLv3 licensed code since it applies to the "any later version" clause. If the Grub or SeaBIOS code is good, feel free to use it.