Revision 0764b8a8e37a490cb01550d2b2c3cb45e073fc39 authored by Zack Buhman on 07 April 2024, 15:07:05 UTC, committed by Michael Tokarev on 10 April 2024, 17:32:12 UTC
CHECK_NOT_DELAY_SLOT is correctly applied to the branch-related
instructions, but not to the PC-relative mov* instructions.

I verified the existence of an illegal slot exception on a SH7091 when
any of these instructions are attempted inside a delay slot.

This also matches the behavior described in the SH-4 ISA manual.

Signed-off-by: Zack Buhman <zack@buhman.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240407150705.5965-1-zack@buhman.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewd-by: Yoshinori Sato <ysato@users.sourceforge.jp>
(cherry picked from commit b754cb2dcde26a7bc8a9d17bb6900a0ac0dd38e2)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
1 parent 7335117
History
File Mode Size
aarch64
alpha
arm
cris
generic
hexagon
hppa
i386
include
loongarch64
m68k
microblaze
mips
mips64
nios2
openrisc
ppc
riscv
s390x
sh4
sparc
x86_64
xtensa
cpu_loop-common.h -rw-r--r-- 1.0 KB
elfload.c -rw-r--r-- 147.5 KB
errnos.c.inc -rw-r--r-- 2.3 KB
exit.c -rw-r--r-- 1.1 KB
fd-trans.c -rw-r--r-- 51.8 KB
fd-trans.h -rw-r--r-- 3.9 KB
flat.h -rw-r--r-- 2.5 KB
flatload.c -rw-r--r-- 25.6 KB
gen-vdso-elfn.c.inc -rw-r--r-- 9.6 KB
gen-vdso.c -rw-r--r-- 5.6 KB
ioctls.h -rw-r--r-- 33.2 KB
linux_loop.h -rw-r--r-- 2.7 KB
linuxload.c -rw-r--r-- 6.3 KB
loader.h -rw-r--r-- 3.5 KB
main.c -rw-r--r-- 29.3 KB
meson.build -rw-r--r-- 1.3 KB
mmap.c -rw-r--r-- 35.4 KB
qemu.h -rw-r--r-- 12.6 KB
semihost.c -rw-r--r-- 1.4 KB
signal-common.h -rw-r--r-- 6.0 KB
signal.c -rw-r--r-- 41.2 KB
socket.h -rw-r--r-- 1.3 KB
strace.c -rw-r--r-- 117.8 KB
strace.h -rw-r--r-- 1.6 KB
strace.list -rw-r--r-- 53.8 KB
syscall.c -rw-r--r-- 430.8 KB
syscall_defs.h -rw-r--r-- 96.6 KB
syscall_types.h -rw-r--r-- 19.6 KB
thunk.c -rw-r--r-- 13.3 KB
trace-events -rw-r--r-- 1.5 KB
trace.h -rw-r--r-- 36 bytes
uaccess.c -rw-r--r-- 2.7 KB
uname.c -rw-r--r-- 4.6 KB
uname.h -rw-r--r-- 205 bytes
user-internals.h -rw-r--r-- 5.7 KB
user-mmap.h -rw-r--r-- 2.7 KB
vm86.c -rw-r--r-- 15.9 KB

back to top