I've been debugging network problems in qemu for a week or two, and there seem to be some pervasive misunderstandings about endianness. I'm trying to use a big-endian target on a big-endian guest, and this has exposed a lot of breakage, including qemu's pci-host.h, isa_mmio.c, rtl8139.c and ne2000.c.
Rob, I noticed that you're using Linux's "ne.c" in your PowerPC PReP kernel build for qemu, and to my surprise it actually works for me on a big-endian host! I'm wondering if you chose ne.c because you found the other network drivers to be broken? (Actually I believe this is also working by accident: outsw() in Linux writes big-endian data, which is incorrectly swapped in isa_mmio.c, and then incorrectly swapped again in ne2000.c.) -- Hollis Blanchard IBM Linux Technology Center