On 7/29/21 3:52 AM, Peter Maydell wrote:
sh4 kernel default for unaligned accesses seems to be "warn and fixup",
not SIGBUS, unless the user changes that by writing to /proc/cpu/alignment
or the process changes it via prctl().
We will still need this for load-locked/store-conditional (MOVLI/MOVCO).
It appears that the sh4 kernel fails to decode these properly, and will do something ugly,
like interpreting MOVLI as a multiple-store instead of a load.
There are also other instructions that the kernel does not attempt to handle, such as MAC.
I suppose we could begin with turning off TARGET_ALIGNED_ONLY for sh4-linux-user, then
re-enabling MO_ALIGN for the atomics (at least).
r~