qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Finn Thain <fthain@telegraphics.com.au>
To: Jason Wang <jasowang@redhat.com>, qemu-devel@nongnu.org
Cc: "Aleksandar Rikalo" <aleksandar.rikalo@rt-rk.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Laurent Vivier" <laurent@vivier.eu>,
	qemu-stable@nongnu.org
Subject: [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation
Date: Mon, 20 Jan 2020 09:59:21 +1100	[thread overview]
Message-ID: <cover.1579474761.git.fthain@telegraphics.com.au> (raw)

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.

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(-)

-- 
2.24.1



             reply	other threads:[~2020-01-19 23:12 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-19 22:59 Finn Thain [this message]
2020-01-19 22:59 ` [PATCH v3 07/14] dp8393x: Implement packet size limit and RBAE interrupt Finn Thain
2020-01-19 22:59 ` [PATCH v3 14/14] dp8393x: Don't stop reception upon RBE interrupt assertion Finn Thain
2020-01-19 22:59 ` [PATCH v3 11/14] dp8393x: Clear descriptor in_use field to release packet Finn Thain
2020-01-19 22:59 ` [PATCH v3 05/14] dp8393x: Update LLFA and CRDA registers from rx descriptor Finn Thain
2020-01-19 22:59 ` [PATCH v3 02/14] dp8393x: Always use 32-bit accesses Finn Thain
2020-01-19 22:59 ` [PATCH v3 01/14] dp8393x: Mask EOL bit from descriptor addresses Finn Thain
2020-01-28 11:21   ` Philippe Mathieu-Daudé
2020-01-28 22:57     ` Finn Thain
2020-01-19 22:59 ` [PATCH v3 10/14] dp8393x: Pad frames to word or long word boundary Finn Thain
2020-01-28 11:02   ` Philippe Mathieu-Daudé
2020-01-19 22:59 ` [PATCH v3 13/14] dp8393x: Don't reset Silicon Revision register Finn Thain
2020-01-28 11:08   ` Philippe Mathieu-Daudé
2020-01-28 22:28     ` Finn Thain
2020-01-29  6:53       ` Philippe Mathieu-Daudé
2020-01-29  7:52         ` Finn Thain
2020-01-19 22:59 ` [PATCH v3 08/14] dp8393x: Don't clobber packet checksum Finn Thain
2020-01-19 22:59 ` [PATCH v3 06/14] dp8393x: Clear RRRA command register bit only when appropriate Finn Thain
2020-01-19 22:59 ` [PATCH v3 04/14] dp8393x: Have dp8393x_receive() return the packet size Finn Thain
2020-01-28 11:03   ` Philippe Mathieu-Daudé
2020-01-28 11:04     ` Philippe Mathieu-Daudé
2020-01-19 22:59 ` [PATCH v3 03/14] dp8393x: Clean up endianness hacks Finn Thain
2020-01-28 11:02   ` Philippe Mathieu-Daudé
2020-01-19 22:59 ` [PATCH v3 09/14] dp8393x: Use long-word-aligned RRA pointers in 32-bit mode Finn Thain
2020-01-28 11:13   ` Philippe Mathieu-Daudé
2020-01-19 22:59 ` [PATCH v3 12/14] dp8393x: Always update RRA pointers and sequence numbers Finn Thain
2020-01-28  0:12 ` [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation Laurent Vivier
2020-01-28  0:25 ` Finn Thain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1579474761.git.fthain@telegraphics.com.au \
    --to=fthain@telegraphics.com.au \
    --cc=aleksandar.rikalo@rt-rk.com \
    --cc=hpoussin@reactos.org \
    --cc=jasowang@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).