Le 15/08/2022 à 21:02, Peter Maydell a écrit :
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.mayd...@linaro.org>
---
  target/m68k/op_helper.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/target/m68k/op_helper.c b/target/m68k/op_helper.c
index 4b3dfec1306..a96a0340506 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) {

Reviewed-by: Laurent Vivier <laur...@vivier.eu>

Reply via email to