All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/9] Add virtio-mmio support to m68k virt machine
@ 2026-05-16  7:39 Daniel Palmer
  2026-05-16  7:39 ` [PATCH v7 1/9] sysreset: qemu virt: Use map_sysmem() Daniel Palmer
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Daniel Palmer @ 2026-05-16  7:39 UTC (permalink / raw)
  Cc: Daniel Palmer, trini, visitorckw, angelo, bmeng.cn, sjg, u-boot

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.

v7:
 - An extra patch is added before changing the qemu sysreset driver
   to use __raw_writel() to fix issues with versions of writel()/__raw_writel()
   that don't cast the address to a pointer.
 - Hopefully this fixes all of the CI issues. I have tested locally by building
   a few different targets with allyesconfig. A github pipeline passed with this
   patch and its running again now since I rebase and force pushed.

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 (7):
  sysreset: qemu virt: Use map_sysmem()
  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 |  4 +-
 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, 121 insertions(+), 42 deletions(-)
 create mode 100644 include/virtio_mmio.h

-- 
2.53.0


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

end of thread, other threads:[~2026-05-23  0:02 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-16  7:39 [PATCH v7 0/9] Add virtio-mmio support to m68k virt machine Daniel Palmer
2026-05-16  7:39 ` [PATCH v7 1/9] sysreset: qemu virt: Use map_sysmem() Daniel Palmer
2026-05-18 17:46   ` Kuan-Wei Chiu
2026-05-16  7:39 ` [PATCH v7 2/9] sysreset: qemu virt: Use __raw_writel() Daniel Palmer
2026-05-16  7:39 ` [PATCH v7 3/9] rtc: goldfish: Use __raw_readl() and __raw_writel() Daniel Palmer
2026-05-16  7:39 ` [PATCH v7 4/9] timer: goldfish: Use __raw_readl() Daniel Palmer
2026-05-16  7:39 ` [PATCH v7 5/9] m68k: Fix writew(), writel(), readw(), readl() endianness for classic m68k Daniel Palmer
2026-05-16  7:39 ` [PATCH v7 6/9] virtio: mmio: Allow instantiation via platform data Daniel Palmer
2026-05-16  7:39 ` [PATCH v7 7/9] virtio: cmd: Depend on VIRTIO_BLK Daniel Palmer
2026-05-16  7:40 ` [PATCH v7 8/9] virtio: blk: Fix converting the vendor id to a string Daniel Palmer
2026-05-16  7:40 ` [PATCH v7 9/9] board: qemu: m68k: Create virtio mmio instances Daniel Palmer
2026-05-23  0:01 ` [PATCH v7 0/9] Add virtio-mmio support to m68k virt machine Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.