[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation
From: |
Finn Thain |
Subject: |
Re: [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation |
Date: |
Tue, 28 Jan 2020 11:25:54 +1100 (AEDT) |
On Mon, 20 Jan 2020, Finn Thain wrote:
> Hi All,
>
> There are bugs in the emulated dp8393x device that can stop packet
> reception in a Linux/m68k guest (q800 machine).
>
> With a Linux/mips guest (magnum machine), the driver fails to probe
> the dp8393x device.
>
> With a NetBSD/arc 5.1 guest (magnum machine), the bugs in the device
> can be fatal to the guest kernel.
>
> Whilst debugging the device, I found that the receiver algorithm
> differs from the one described in the National Semiconductor
> datasheet.
>
> This patch series resolves these bugs.
>
Ironically, given the recent driver fixes in the Linux kernel, the bugs in
stock QEMU make it possible to remotely trigger a kernel Oops (much like
the NetBSD crash). This patch series is needed to resolve those issues.
> Note that the mainline Linux sonic driver also has bugs.
> I have fixed the bugs that I know of in a series of patches at,
> https://github.com/fthain/linux/commits/mac68k
> ---
> Changed since v1:
> - Minor revisions as described in commit logs.
> - Dropped patches 4/10 and 7/10.
> - Added 5 new patches.
>
> Changed since v2:
> - Minor revisions as described in commit logs.
> - Dropped patch 13/13.
> - Added 2 new patches.
>
>
> Finn Thain (14):
> dp8393x: Mask EOL bit from descriptor addresses
> dp8393x: Always use 32-bit accesses
> dp8393x: Clean up endianness hacks
> dp8393x: Have dp8393x_receive() return the packet size
> dp8393x: Update LLFA and CRDA registers from rx descriptor
> dp8393x: Clear RRRA command register bit only when appropriate
> dp8393x: Implement packet size limit and RBAE interrupt
> dp8393x: Don't clobber packet checksum
> dp8393x: Use long-word-aligned RRA pointers in 32-bit mode
> dp8393x: Pad frames to word or long word boundary
> dp8393x: Clear descriptor in_use field to release packet
> dp8393x: Always update RRA pointers and sequence numbers
> dp8393x: Don't reset Silicon Revision register
> dp8393x: Don't stop reception upon RBE interrupt assertion
>
> hw/net/dp8393x.c | 205 +++++++++++++++++++++++++++++++----------------
> 1 file changed, 137 insertions(+), 68 deletions(-)
>
>
- [PATCH v3 06/14] dp8393x: Clear RRRA command register bit only when appropriate, (continued)
[PATCH v3 12/14] dp8393x: Always update RRA pointers and sequence numbers, Finn Thain, 2020/01/19
[PATCH v3 14/14] dp8393x: Don't stop reception upon RBE interrupt assertion, Finn Thain, 2020/01/19
Re: [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation, Laurent Vivier, 2020/01/27
Re: [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation,
Finn Thain <=