Hello,
I tried to port Ron's fix to v3, and now it seems ifconfig eth0 up works, the IP address can be manually set, but DHCP fails and ping to qemu's default gateway fails causing kernel's watchdog timer to expire.
This is the proposed patch:
--- mainboard/emulation/qemu-x86/vga.c (revision 1164) +++ mainboard/emulation/qemu-x86/vga.c (working copy) @@ -35,6 +35,9 @@
dev->rom_address = 0xc0000;
+ /* not sure how these are routed in qemu */ + static const unsigned char enetIrqs[4] = { 11, 0, 0, 0 }; + /* * FIXME: This should be in the Super I/O code some day, * but since QEMU has no Super I/O... @@ -42,6 +45,14 @@ * bits there. */ init_pc_keyboard(0x60, 0x64, &conf); + + /* FIXME: This may be the wrong place, but still... + * The PIRQ table is not working well for interrupt routing purposes. + * so we'll just set the IRQ directly. + */ + printk(BIOS_INFO, "Fixing ethernet device IRQ\n"); + pci_assign_irqs(0, 3, enetIrqs); + /* now run the rom */ pci_dev_init(dev); }