[OpenBIOS] Emaculation bug reports

Programmingkid programmingkidx at gmail.com
Mon Jan 4 04:18:31 CET 2016

On Jan 3, 2016, at 3:59 PM, Programmingkid wrote:

> On Jan 3, 2016, at 2:27 PM, Mark Cave-Ayland wrote:
>> On 03/01/16 19:01, Programmingkid wrote:
>>>>> The rtl8139 did not work on the mac99 target. I didn't see the timeout message.
>>>>> I did use your rtl8139 patchset fix.
>>>> I think this might be because we're missing an interrupt mapping as they
>>>> are currently hard-coded in OpenBIOS.
>>>> Quick hack alert: take a look at OpenBIOS's drivers/pci.c and in
>>>> particular ob_pci_host_set_interrupt_map(). See how at the moment we
>>>> patch in hard-coded interrupt-parent nodes to link each device node to
>>>> the interrupt controller? Maybe try adding something like the following
>>>> for the rtl8139 card:
>>>>      target_node = find_dev("/pci/pci10ec,8139");
>>>>      set_int_property(target_node, "interrupt-parent", dnode);
>>>> Does that then get the rtl8139 card to work under -M mac99 correctly?
>>> Sorry it doesn't. I paste your code right below the "if (dnode) {".
>> Ah well. Thought it was worth a quick shot.
> I did find out that the driver's init() and start() methods are never called. Using the ioreg command I can see the rtl8139 in the PCI slot. The NIC does work in Linux using the mac99 target. Note: I implemented your second set of patches for the rtl8139 and the booting from cd patchset.

Also found out that the USB support in QEMU does not work when using the mac99 target with Mac OS 10.4.11. It does work on the g3beige target. I think there might be a problem with PCI. Both USB and the RTL8139 NIC are emulated PCI cards. So the question to answer is why do PCI cards fail to work.

More information about the OpenBIOS mailing list