From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JRWqv-0004MG-Kz for qemu-devel@nongnu.org; Tue, 19 Feb 2008 13:06:01 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JRWqu-0004LM-AO for qemu-devel@nongnu.org; Tue, 19 Feb 2008 13:06:01 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JRWqu-0004LG-40 for qemu-devel@nongnu.org; Tue, 19 Feb 2008 13:06:00 -0500 Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5] helo=grelber.thyrsus.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JRWqt-0002aW-Rd for qemu-devel@nongnu.org; Tue, 19 Feb 2008 13:05:59 -0500 From: Rob Landley Date: Tue, 19 Feb 2008 12:05:53 -0600 References: <1203368277.3428.62.camel@basalt> In-Reply-To: <1203368277.3428.62.camel@basalt> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200802191205.53778.rob@landley.net> Subject: [Qemu-devel] Re: endianness and network emulation for PowerPC Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hollis Blanchard Cc: firmware@them.com, qemu-devel 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.