On 01.06.14 23:55, BALATON Zoltan wrote:
This driver is ported from CoreBoot's libpayload and fixed to work on big endian CPUs (tested on PPC with QEMU). It is enough to support a USB keyboard on an Apple Keylargo OHCI compliant USB host and makes OpenBIOS usable on qemu-system-ppc64 with mac99 machine type as well as allows to emulate PowerMac3,1 better.
Signed-off-by: BALATON Zoltan balaton@eik.bme.hu Acked-by: Alexander Graf agraf@suse.de
v2: improve init and teardown by moving pci configuration to the driver and giving up using the controller on quiesce interface call also resetting it to avoid runaway DMA until the OS driver takes over v3: Only enable bus master bit in PCI config for QEMU
[...]
+hci_t * +ohci_pci_init (pci_addr addr) +{
- u32 reg_base;
+#if defined(CONFIG_QEMU)
- uint16_t cmd;
- cmd = pci_config_read16(addr, PCI_COMMAND);
- cmd |= PCI_COMMAND_BUS_MASTER;
- pci_config_write16(addr, PCI_COMMAND, cmd);
+#endif
I don't think the driver will work without bus mastering. Just don't match on it on non-QEMU machines and add a comment why you don't.
Alex