public inbox for linux-m68k@lists.linux-m68k.org
 help / color / mirror / Atom feed
From: Daniel Palmer <daniel@0x0f.com>
To: gerg@linux-m68k.org
Cc: geert@linux-m68k.org, christoph.plattner@gmx.at,
	linux-m68k@lists.linux-m68k.org, linux-kernel@vger.kernel.org,
	arnd@kernel.org, Daniel Palmer <daniel@0x0f.com>
Subject: [RFC PATCH] m68k: nommu: Fix behaviour of io macros on non-CF
Date: Sat,  4 Apr 2026 11:46:58 +0900	[thread overview]
Message-ID: <20260404024658.2496519-1-daniel@0x0f.com> (raw)

Currently for 68000 readl() and friends are broken in that they
return the value from the bus as-is but should be reading a little
endian value and swapping it to big endian.

This was found using virtio-mmio on a 68000 virt machine. virtio-mmio
is little endian even if the emulated machine is big endian. This works
for MMU m68k because the io macros do what is expected there, but if
the kernel was built for nommu it breaks.

Potentially this will break some stuff for nommu non-CF m68k users
but since there are probably 2 or 3 of us in the world I think we
can work it out.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Link: https://lore.kernel.org/lkml/ada73dc9-edf5-458c-8849-9f9db23ff304@app.fastmail.com/
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/m68k/include/asm/io_no.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/arch/m68k/include/asm/io_no.h b/arch/m68k/include/asm/io_no.h
index 516371d5587a..c39db8798ef2 100644
--- a/arch/m68k/include/asm/io_no.h
+++ b/arch/m68k/include/asm/io_no.h
@@ -96,15 +96,6 @@ static inline void writel(u32 value, volatile void __iomem *addr)
 		__raw_writel(swab32(value), addr);
 }
 
-#else
-
-#define readb __raw_readb
-#define readw __raw_readw
-#define readl __raw_readl
-#define writeb __raw_writeb
-#define writew __raw_writew
-#define writel __raw_writel
-
 #endif /* IOMEMBASE */
 
 #if defined(CONFIG_PCI)
-- 
2.51.0


                 reply	other threads:[~2026-04-04  2:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20260404024658.2496519-1-daniel@0x0f.com \
    --to=daniel@0x0f.com \
    --cc=arnd@kernel.org \
    --cc=christoph.plattner@gmx.at \
    --cc=geert@linux-m68k.org \
    --cc=gerg@linux-m68k.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.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