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@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@ilande.co.uk <mailto:mark.cave-ayland@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@eik.bme.hu <mailto:balaton@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@ilande.co.uk
>>> <mailto:mark.cave-ayland@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.