[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFr9PX=hfUoqyiVwA5CRoC6mmr4KmYbxvodMmFFk_k8-NGp9cg@mail.gmail.com>
Date: Fri, 19 Dec 2025 22:30:04 +0900
From: Daniel Palmer <daniel@...ngy.jp>
To: Greg Ungerer <gerg@...ux-m68k.org>
Cc: geert@...ux-m68k.org, linux-m68k@...ts.linux-m68k.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] m68k: nommu: fix memmove() with differently aligned src
and dest for 68000
Hi Greg,
On Fri, 19 Dec 2025 at 20:59, Greg Ungerer <gerg@...ux-m68k.org> wrote:
>
> Hi Daniel,
>
> On 13/12/25 22:04, Daniel Palmer wrote:
> > 68000 has different alignment needs to 68020+.
> > memcpy() checks if the destination is aligned and does a smaller copy
> > to fix the alignment and then critically for 68000 it checks if the
> > source is still unaligned and if it is reverts to smaller copies.
> >
> > memmove() does not currently do the second part and malfunctions if
> > one of the pointers is aligned and the other isn't.
>
> What is the nature of the failure, is it a trap?
Address error because of the unaligned address. This was actually a
real pain to work out because on QEMU it worked fine (mainline QEMU
allows the unaligned access[0]) and on the real CPU it just locked up.
Thanks!
Daniel
0 - https://gitlab.com/qemu-project/qemu/-/issues/2165
Powered by blists - more mailing lists