[OpenBIOS] [PATCH 0/5] Enable bus master support for rtl8139 network cards on Apple PPC machines
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Sat Jan 2 10:53:25 CET 2016
On 30/12/15 16:44, Mark Cave-Ayland wrote:
> This patchset is loosely based on earlier work by BALATON Zoltan <balaton at eik.bme.hu>
> and provides basic infrastructure to allow OpenBIOS to enable PCI device
> bus mastering.
>
> Following on from discussions on the QEMU mailing list, it seems that Apple's OF
> enables bus mastering for some PCI devices by default, and as a result some buggy
> drivers forget to explicitly enable it and hence these devices fail under QEMU's
> emulation.
>
> The first 3 patches add the basic support routines while the last 2 patches enable
> bus mastering for the rtl8139 card on Apple PPC machines which is required for
> OS X and MorphOS.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
>
> Mark Cave-Ayland (5):
> pci: introduce ob_pci_enable_bus_master() function
> pci: introduce ob_pci_is_bus_master_capable() function
> pci: add PCI database entry for rtl8139 network card
> pci: add rtl8139_config_cb() to configure rtl8139 network cards
> ppc: mark PCI slots 0-2 for Apple PPC machies as bus master capable
>
> openbios-devel/arch/ppc/qemu/init.c | 9 ++++---
> openbios-devel/drivers/pci.c | 44 +++++++++++++++++++++++++++++++++
> openbios-devel/drivers/pci_database.c | 6 +++++
> openbios-devel/drivers/pci_database.h | 4 +++
> openbios-devel/include/drivers/pci.h | 2 ++
> 5 files changed, 62 insertions(+), 3 deletions(-)
Actually it seems that this patch is completely bogus for Darwin/OS X -
it's really a bug in the way that Darwin parses the /pci "ranges"
property causing it to map the PCI address spaces incorrectly.
Hence this patchset should be ignored and I will post a follow-up
patchset containing the fix and some other PCI address fixups for Apple
machines shortly.
ATB,
Mark.
More information about the OpenBIOS
mailing list