On Monday 18 February 2008 14:57:57 Hollis Blanchard wrote: > 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?
Probably. I sometimes have to hunt around for a bit to find a network card emulation that works on a given platform. (Generally on a platform where I'm using an rtl8139, it means the default ne2k didn't work when I tried it. I remember arm didn't have PIO working back in 0.9.0...) I haven't tried to do a little endian PPC yet. (Nor have I gotten arm big endian to work yet. Or gotten super hitachi to successfully do _anything_.) I'm doing http://landley.net/code/firmware in part to get coverage of as many qemu platforms as possible, and get basic Linux systems up and running on 'em. (If I get really bored, I'll try X and see what the framebuffers do... :) However, I do tend to declare victory and move on once I've gotten it to boot to userspace with a serial console, hard drive, network card, and realtime clock. That's enough to do native builds with distcc calling out to the cross compiler for a speed boost... Rob -- "One of my most productive days was throwing away 1000 lines of code." - Ken Thompson.