[OpenBIOS] [PATCH 0/5] Enable bus master support for rtl8139 network cards on Apple PPC machines

Howard Spoelstra hsp.cat7 at gmail.com
Fri Aug 5 22:39:07 CEST 2016


I built OpenBIOS on top of the patches from Ben and qemu-for-28 with Ben's
patch. I'll check using the more conservative line...

Best,
Howard

On Fri, Aug 5, 2016 at 10:32 PM, Mark Cave-Ayland <
mark.cave-ayland at ilande.co.uk> wrote:

> On 05/08/16 21:11, Howard Spoelstra wrote:
>
> >> On 05 Aug 2016, at 17:59, Mark Cave-Ayland
> >> <mark.cave-ayland at ilande.co.uk <mailto:mark.cave-ayland at ilande.co.uk>>
> >> wrote:
> >>
> >> 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 <mailto: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
> >>> <mailto: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(-)
> >>
> >> Following up from this, I found out today that the reason OS 9 rtl8139
> >> drivers don't work in QEMU is due to the same issue, i.e. by default
> >> Apple OF appears to enable bus mastering upon boot (OpenBIOS currently
> >> doesn't) and so many driver authors forget to explicitly enable this.
> >>
> >> So taking this patch and making a few minor tweaks I was able to get the
> >> rtl8139 working in OS 9.2 and surf the web in Classilla :)  I'm not sure
> >> whether it solves similar issues people were having in 10.4.11 but I'd
> >> invite people to test and report back.
> >>
> >> I'm also of the mind that for OpenBIOS I think this patch is a bit of
> >> overkill - if BM is to be enabled, then it would be configured by the
> >> on-board FCode ROM regardless of bus/slot id so I'm going to remove this
> >> part of the patch for the respin.
> >>
> >>
> >> ATB,
> >>
> >> Mark.
> >>
> > Hi, testing with the resulting OpenBIOS from these patches revealed that
> > 9.0, 9.1, 9.2, 10.0 and 10.1 now all support networking with the realtek
> > driver.  10.0 and 10.1 boot rather slow. 10.2, 10.4 and 10.5 do not boot
> > anymore, neither from cd/dvd nor hard disk image. Strangely enough a
> > 10.3 hd still works. 10.5 now reports “EXIT” at the openbios prompt. The
> > others just display Trying hd:,\\;tbxi <smb://;tbxi>
>
> Hi Howard,
>
> Thanks for testing! The patches are based on top of my next branch, and
> I don't see any problems booting 10.2 from CD to the installer?
>
> I've pushed my branch to
> https://github.com/mcayland/openbios/commits/ppc-busmaster for
> comparision - does that match what you see? I'm also using QEMU git
> master rather than the ppc-for-2.8 branch if you could also check that?
>
>
> Many thanks,
>
> Mark.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/openbios/attachments/20160805/79d9f080/attachment-0001.html>


More information about the OpenBIOS mailing list