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.