[PATCH v6 0/8] Add virtio-mmio support to m68k virt machine

Daniel Palmer daniel at thingy.jp
Tue May 5 09:49:33 CEST 2026


Lets start making the m68k virt machine support useful.

First we need to fix some m68k endian issues.

Then allow virtio mmio driver instances to be created with
platform data and fix a minor endian issue.

Finally, add the code for the board to create the instances.

v6:
  - Remove an extra signed-of-by that go added by b4 or me somehow.
  - Fix the warning about a phys_addr_t being cast to a pointer of different
    size if phys_addr_t is 32bits but the target cpu is 64bits.

  CC      drivers/virtio/virtio_mmio.o
drivers/virtio/virtio_mmio.c: In function ‘virtio_mmio_probe’:
drivers/virtio/virtio_mmio.c:359:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  359 |         priv->base = (void __iomem *)plat->base;
      |

v5:
  - Add Kuan-Wei's fixes for the two other goldfish endian issues
    I hadn't spotted. Should be good to go!

v4:
  - Small changes to "board: qemu: m68k: Create virtio mmio instances"
    requested by Simon.
  - Add another patch to make the virtio cmd depend on CONFIG_VIRTIO_BLK
    as the build breaks if it isn't selected.

v3:
  - Fix the bug with the vendor string in virtio-blk properly,
    this removes the last endian hack in virtio-mmio
  - Leave the current behaviour for readl() for coldfire as it
    breaks thing.

v2:
  - Added patch to fix readl() etc on m68k, hopefully this
    doesn't break everything. This should match Linux now.
  - Added patch to fix sys reset which is broken by the above
  - Hacks to virtio-mmio are gone because they aren't needed
    anymore, just one minor endian fix now.
  - Removed RFC because it looks good to me*.


* I wouldn't trust me. :)

Daniel Palmer (6):
  sysreset: qemu virt: Use __raw_writel()
  m68k: Fix writew(), writel(), readw(), readl() endianness for classic
    m68k
  virtio: mmio: Allow instantiation via platform data
  virtio: cmd: Depend on VIRTIO_BLK
  virtio: blk: Fix converting the vendor id to a string
  board: qemu: m68k: Create virtio mmio instances

Kuan-Wei Chiu (2):
  rtc: goldfish: Use __raw_readl() and __raw_writel()
  timer: goldfish: Use __raw_readl()

 arch/m68k/Kconfig                          | 14 ++++---
 arch/m68k/include/asm/io.h                 | 31 +++++++++------
 board/emulation/qemu-m68k/qemu-m68k.c      | 45 ++++++++++++++++++++++
 cmd/Kconfig                                |  4 +-
 drivers/rtc/goldfish_rtc.c                 |  8 ++--
 drivers/sysreset/sysreset_qemu_virt_ctrl.c |  2 +-
 drivers/timer/goldfish_timer.c             |  4 +-
 drivers/virtio/virtio_blk.c                | 11 ++----
 drivers/virtio/virtio_mmio.c               | 27 ++++++++-----
 include/virtio.h                           |  3 ++
 include/virtio_mmio.h                      | 12 ++++++
 11 files changed, 119 insertions(+), 42 deletions(-)
 create mode 100644 include/virtio_mmio.h

-- 
2.53.0



More information about the U-Boot mailing list