[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.



More information about the OpenBIOS mailing list