qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] dp8393x: fixes for MacOS toolbox ROM
@ 2021-06-25  6:53 Mark Cave-Ayland
  2021-06-25  6:53 ` [PATCH v2 01/10] dp8393x: checkpatch fixes Mark Cave-Ayland
                   ` (11 more replies)
  0 siblings, 12 replies; 34+ messages in thread
From: Mark Cave-Ayland @ 2021-06-25  6:53 UTC (permalink / raw)
  To: qemu-devel, hpoussin, aleksandar.rikalo, f4bug, aurelien,
	jiaxun.yang, jasowang, fthain, laurent

Here is the next set of patches from my attempts to boot MacOS under QEMU's
Q800 machine related to the Sonic network adapter.

Patches 1 and 2 sort out checkpatch and convert from DPRINTF macros to
trace-events.

The discussion for the v1 patchset concluded that the dp8393x device does
NOT have its own NVRAM (there is no mention of it on the datasheet) and so
patches 3 to 5 move the generation of the PROM to the q800 and jazz boards
separately to allow the formats to diverge.

Patch 6 adds an implementation of bitrev8 to bitops.h in preparation for
changing the q800 PROM storage format, whilst patch 7 updates the MAC address
storage and checksum for the q800 machine to match the format expected by the
MacOS toolbox ROM.

Patch 8 ensures that the CPU loads/stores are correctly converted to 16-bit
accesses for the network card and patch 9 fixes a bug when selecting the
index specified for CAM entries.

Finally since the MIPS magnum machine exists for both big-endian (mips64) and
little-endian (mips64el) configurations, patch 10 sets the dp8393x big_endian
property accordingly using a similar technique already used for the MIPS malta
machines.

Migration notes: the changes to the dp8393x PROM are a migration break, but we
don't care about this for now since a) the q800 machine will have more
breaking migration changes as further MacOS toolbox ROM support is upstreamed
and b) the magnum machine migration is currently broken (and has been for
quite some time).

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


v2:
- Move PROM generation from dp8393x to q800 and magnum machines and remove
  the existing code from the device itself
- Add bitrev8 implementation to bitops.h so it can be used elsewhere in
  future. Use a shift/merge technique rather than a massive table lookup
  as we don't care about speed
- Add patch to set the big_endian property correctly depending upon whether
  a big-endian or little-endian configuration is being used


Mark Cave-Ayland (10):
  dp8393x: checkpatch fixes
  dp8393x: convert to trace-events
  hw/mips/jazz: move PROM and checksum calculation from dp8393x device
    to board
  hw/m68k/q800: move PROM and checksum calculation from dp8393x device
    to board
  dp8393x: remove onboard PROM containing MAC address and checksum
  qemu/bitops.h: add bitrev8 implementation
  hw/m68k/q800: fix PROM checksum and MAC address storage
  dp8393x: don't force 32-bit register access
  dp8393x: fix CAM descriptor entry index
  hw/mips/jazz: specify correct endian for dp8393x device

 hw/m68k/q800.c        |  21 ++-
 hw/mips/jazz.c        |  32 ++++-
 hw/net/dp8393x.c      | 313 +++++++++++++++++++-----------------------
 hw/net/trace-events   |  17 +++
 include/qemu/bitops.h |  22 +++
 5 files changed, 231 insertions(+), 174 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2021-07-05 19:15 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-25  6:53 [PATCH v2 00/10] dp8393x: fixes for MacOS toolbox ROM Mark Cave-Ayland
2021-06-25  6:53 ` [PATCH v2 01/10] dp8393x: checkpatch fixes Mark Cave-Ayland
2021-06-25  8:45   ` Philippe Mathieu-Daudé
2021-06-25  6:53 ` [PATCH v2 02/10] dp8393x: convert to trace-events Mark Cave-Ayland
2021-06-25  8:47   ` Philippe Mathieu-Daudé
2021-06-25  6:53 ` [PATCH v2 03/10] hw/mips/jazz: move PROM and checksum calculation from dp8393x device to board Mark Cave-Ayland
2021-07-01 21:43   ` Philippe Mathieu-Daudé
2021-06-25  6:53 ` [PATCH v2 04/10] hw/m68k/q800: " Mark Cave-Ayland
2021-07-01 21:43   ` Philippe Mathieu-Daudé
2021-06-25  6:53 ` [PATCH v2 05/10] dp8393x: remove onboard PROM containing MAC address and checksum Mark Cave-Ayland
2021-07-01 21:43   ` Philippe Mathieu-Daudé
2021-06-25  6:53 ` [PATCH v2 06/10] qemu/bitops.h: add bitrev8 implementation Mark Cave-Ayland
2021-07-01 21:46   ` Philippe Mathieu-Daudé
2021-06-25  6:53 ` [PATCH v2 07/10] hw/m68k/q800: fix PROM checksum and MAC address storage Mark Cave-Ayland
2021-06-25  6:53 ` [PATCH v2 08/10] dp8393x: don't force 32-bit register access Mark Cave-Ayland
2021-07-01 21:34   ` Philippe Mathieu-Daudé
2021-07-02  4:36     ` Finn Thain
2021-07-03  6:21       ` Mark Cave-Ayland
2021-07-03  8:52         ` Philippe Mathieu-Daudé
2021-07-03 12:04           ` Mark Cave-Ayland
2021-07-03 13:10             ` Philippe Mathieu-Daudé
2021-07-03 14:16               ` Mark Cave-Ayland
2021-07-03 14:22                 ` Philippe Mathieu-Daudé
2021-06-25  6:54 ` [PATCH v2 09/10] dp8393x: fix CAM descriptor entry index Mark Cave-Ayland
2021-07-03 12:59   ` Philippe Mathieu-Daudé
2021-07-05 19:13   ` Philippe Mathieu-Daudé
2021-06-25  6:54 ` [PATCH v2 10/10] hw/mips/jazz: specify correct endian for dp8393x device Mark Cave-Ayland
2021-06-25  8:51   ` Philippe Mathieu-Daudé
2021-06-25 12:01     ` Mark Cave-Ayland
2021-07-01 21:45   ` Philippe Mathieu-Daudé
2021-06-26  8:55 ` [PATCH v2 00/10] dp8393x: fixes for MacOS toolbox ROM Finn Thain
2021-07-02 13:03 ` Philippe Mathieu-Daudé
2021-07-03  6:32   ` Mark Cave-Ayland
2021-07-03  8:48     ` Philippe Mathieu-Daudé

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