[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: Qemu PPC ethernet checksum bug
From: |
J. Mayer |
Subject: |
[Qemu-devel] Re: Qemu PPC ethernet checksum bug |
Date: |
Sun, 18 Mar 2007 09:23:48 +0100 |
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 <address@hidden>
Never organized