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

Daniel Palmer
2026-04-16T09:40:18Z

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.

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