summaryrefslogtreecommitdiffstats
path: root/target/m68k
diff options
context:
space:
mode:
authorPeter Maydell2022-08-22 16:12:26 +0200
committerRichard Henderson2022-09-13 18:18:21 +0200
commita52417e1eeb4501993e29145d16faac59e8465ca (patch)
tree83814c59e01628d8c684eaa8d6cf0ff40da14dfc /target/m68k
parenttarget/arm: Honour -semihosting-config userspace=on (diff)
downloadqemu-a52417e1eeb4501993e29145d16faac59e8465ca.tar.gz
qemu-a52417e1eeb4501993e29145d16faac59e8465ca.tar.xz
qemu-a52417e1eeb4501993e29145d16faac59e8465ca.zip
target/m68k: Honour -semihosting-config userspace=on
Honour the commandline -semihosting-config userspace=on option, instead of never permitting userspace semihosting calls in system emulation mode, by passing the correct value to the is_userspace argument of semihosting_enabled(), instead of manually checking and always forbidding semihosting if the guest is in userspace. (Note that target/m68k doesn't support semihosting at all in the linux-user build.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220822141230.3658237-4-peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/m68k')
-rw-r--r--target/m68k/op_helper.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/target/m68k/op_helper.c b/target/m68k/op_helper.c
index 4b3dfec130..a96a034050 100644
--- a/target/m68k/op_helper.c
+++ b/target/m68k/op_helper.c
@@ -203,8 +203,7 @@ static void cf_interrupt_all(CPUM68KState *env, int is_hw)
cf_rte(env);
return;
case EXCP_HALT_INSN:
- if (semihosting_enabled(false)
- && (env->sr & SR_S) != 0
+ if (semihosting_enabled((env->sr & SR_S) == 0)
&& (env->pc & 3) == 0
&& cpu_lduw_code(env, env->pc - 4) == 0x4e71
&& cpu_ldl_code(env, env->pc) == 0x4e7bf000) {