From: Kuan-Wei Chiu <visitorckw@gmail.com>
To: Daniel Palmer <daniel@thingy.jp>
Cc: angelo@kernel-space.org, bmeng.cn@gmail.com, u-boot@lists.denx.de
Subject: Re: [PATCH v2 2/5] m68k: Fix writew(), writel(), readw(), readl() endianness
Date: Tue, 7 Apr 2026 01:15:04 +0800 [thread overview]
Message-ID: <adPqGChmW8FV--tN@google.com> (raw)
In-Reply-To: <20260406142411.2992618-3-daniel@thingy.jp>
Hi Daniel,
On Mon, Apr 06, 2026 at 11:24:08PM +0900, Daniel Palmer wrote:
> In Linux these are meant to read a little-endian value and swap
> to the CPU endian.
>
> In u-boot for m68k this is currently borken and prevents
> virtio-mmio from functioning.
>
> Signed-off-by: Daniel Palmer <daniel@thingy.jp>
> ---
> arch/m68k/include/asm/io.h | 17 +++++------------
> 1 file changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h
> index 35ad4a1c0444..f4877b0446cf 100644
> --- a/arch/m68k/include/asm/io.h
> +++ b/arch/m68k/include/asm/io.h
> @@ -24,18 +24,11 @@
> #define __raw_writel(l,addr) ((*(volatile u32 *) (addr)) = (l))
>
> #define readb(addr) in_8((volatile u8 *)(addr))
> -#define writeb(b,addr) out_8((volatile u8 *)(addr), (b))
> -#if !defined(__BIG_ENDIAN)
> -#define readw(addr) (*(volatile u16 *) (addr))
> -#define readl(addr) (*(volatile u32 *) (addr))
> -#define writew(b,addr) ((*(volatile u16 *) (addr)) = (b))
> -#define writel(b,addr) ((*(volatile u32 *) (addr)) = (b))
> -#else
> -#define readw(addr) in_be16((volatile u16 *)(addr))
> -#define readl(addr) in_be32((volatile u32 *)(addr))
> -#define writew(b,addr) out_be16((volatile u16 *)(addr),(b))
> -#define writel(b,addr) out_be32((volatile u32 *)(addr),(b))
> -#endif
> +#define writeb(b, addr) out_8((volatile u8 *)(addr), (b))
> +#define readw(addr) in_le16((volatile u16 *)(addr))
> +#define readl(addr) in_le32((volatile u32 *)(addr))
> +#define writew(b, addr) out_le16((volatile u16 *)(addr), (b))
> +#define writel(b, addr) out_le32((volatile u32 *)(addr), (b))
Just wondering could this global change break some drivers on coldfire?
I originally thought you were planning to split these IO macros between
coldfire and classic m68k.
Of course, if you've found that this doesn't actually break coldfire,
then this global approach is definitely ideal.
Regards,
Kuan-Wei
>
> /*
> * The insw/outsw/insl/outsl macros don't do byte-swapping.
> --
> 2.51.0
>
next prev parent reply other threads:[~2026-04-06 17:15 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-06 14:24 [PATCH v2 0/5] Add virtio-mmio support to m68k virt machine Daniel Palmer
2026-04-06 14:24 ` [PATCH v2 1/5] sysreset: qemu virt: Use __raw_writel() Daniel Palmer
2026-04-06 16:57 ` Kuan-Wei Chiu
2026-04-08 12:15 ` Angelo Dureghello
2026-04-06 14:24 ` [PATCH v2 2/5] m68k: Fix writew(), writel(), readw(), readl() endianness Daniel Palmer
2026-04-06 17:15 ` Kuan-Wei Chiu [this message]
2026-04-07 0:58 ` Daniel Palmer
2026-04-08 12:12 ` Angelo Dureghello
2026-04-08 12:49 ` Daniel Palmer
2026-04-08 13:26 ` Angelo Dureghello
2026-04-08 13:40 ` Daniel Palmer
2026-04-08 14:18 ` Angelo Dureghello
2026-04-06 14:24 ` [PATCH v2 3/5] virtio: mmio: Keep vendor id little endian Daniel Palmer
2026-04-06 16:54 ` Kuan-Wei Chiu
2026-04-07 1:00 ` Daniel Palmer
2026-04-07 8:20 ` Daniel Palmer
2026-04-06 14:24 ` [PATCH v2 4/5] virtio: mmio: Allow instantiation via platform data Daniel Palmer
2026-04-08 1:47 ` Kuan-Wei Chiu
2026-04-08 9:39 ` Daniel Palmer
2026-04-06 14:24 ` [PATCH v2 5/5] board: qemu: m68k: Create virtio mmio instances Daniel Palmer
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=adPqGChmW8FV--tN@google.com \
--to=visitorckw@gmail.com \
--cc=angelo@kernel-space.org \
--cc=bmeng.cn@gmail.com \
--cc=daniel@thingy.jp \
--cc=u-boot@lists.denx.de \
/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