From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HSqhl-0008M0-NI for qemu-devel@nongnu.org; Sun, 18 Mar 2007 04:25:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HSqhk-0008JU-5C for qemu-devel@nongnu.org; Sun, 18 Mar 2007 04:25:29 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HSqhk-0008JG-2r for qemu-devel@nongnu.org; Sun, 18 Mar 2007 03:25:28 -0500 Received: from honiara.magic.fr ([195.154.193.36]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1HSqgO-0006Xt-Ud for qemu-devel@nongnu.org; Sun, 18 Mar 2007 04:24:05 -0400 Received: from [192.168.0.2] (ppp-36.net-723.magic.fr [80.118.184.36]) by honiara.magic.fr (8.13.1/8.13.1) with ESMTP id l2I8NeJY021948 for ; Sun, 18 Mar 2007 09:23:48 +0100 From: "J. Mayer" In-Reply-To: <7ED098B05D69FE41B380586BF1474DBA1CBA85@ala-mail08.corp.ad.wrs.com> References: <7ED098B05D69FE41B380586BF1474DBA1CBA85@ala-mail08.corp.ad.wrs.com> Content-Type: text/plain Date: Sun, 18 Mar 2007 09:23:48 +0100 Message-Id: <1174206229.7316.195.camel@rapid> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: Qemu PPC ethernet checksum bug Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Sat, 2007-03-17 at 07:53 -0700, Wessel, Jason wrote: > Hi Jocelyn, > > Previously it was mentioned that there is a regression that was > introduced by your original merge on March 8, 2007. I tested this > latest code and it is still there. The nature of the problem is that > the networking does not work when booting QEMU and using the built in > slirp networking. A dhcp packet will work but the udp and tcp packets > do not appear to send. > It appears that the packet check sum computed by the Linux network stack > is incorrect. When the code in slirp/ip_input.c checks the checksum of > the udp or tcp packet it throws the packet away because the checksum was > invalid. I took the code from March 7, 2007 in cvs for target-ppc/* and > used it with the latest of everything else and the packet checksums are > computed correct and the target boots with networking. > > This points to the problem being what ever instructions the kernel is > using to compute the checksum are not being translated correctly by your > latest changes. The next step will be to take a closer look at which > instructions are used to compute the checksum. I thought I might send > out some further analysis of the original stated problem in case you had > an idea of where to look to fix the problem off the top of your head. > If you have any ideas, please drop me some e-mail. > > Also with regard to the 2.6.21 kernel and the ppc-prep machine, I > patched the kernel to make it send PCI interrupts the same way the prior > kernels did. It seems there is a regression there inside the kernel in > the way that the IRQ acknowledgements are handled. It could be that the > emulation is not right in QEMU, but I figure that mystery is one for > another day. If you need a kernel that boots on the ppc-prep please let > me know. I also patched the prep loader in the linux kernel so I could > boot an image that was larger than 4 megs. Hi, My concern is I cannot reproduce your problem for the following reasons: - the PREP machine (and the heathrow too...) is broken and cannot even boot. PCI and/or IRQ are broken, so the Linux kernel hangs. - when using the "known to work" Linux distributions on the mac99 machine (please take a look at the STATUS file), I am able to download a kernel from www.kernel.org, which makes me think TCP packets are sent and received correctly, with valid checksums. Then, it would be a great thing if you could isolate the failing routine and, for example, make a test case usable with linux-user emulation. This would be a great help to solve this issue. Thanks by advance. -- J. Mayer Never organized