diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog index 5243cdad828..19ddf8f5600 100644 --- a/sim/m32r/ChangeLog +++ b/sim/m32r/ChangeLog @@ -1,3 +1,8 @@ +2021-07-01 Mike Frysinger + + * traps-linux.c (m32r_trap): Change OPERATING_ENVIRONMENT check to + !USER_ENVIRONMENT. Jump to default switch case. + 2021-07-01 Mike Frysinger * syscall.h: Change __NR_ prefix on all symbols to TARGET_LINUX_SYS_. diff --git a/sim/m32r/traps-linux.c b/sim/m32r/traps-linux.c index d60be7ca54b..7aec04b5116 100644 --- a/sim/m32r/traps-linux.c +++ b/sim/m32r/traps-linux.c @@ -231,14 +231,8 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num) unsigned int func, arg1, arg2, arg3, arg4, arg5, arg6, arg7; int result, result2, errcode; - if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) - { - /* The new pc is the trap vector entry. - We assume there's a branch there to some handler. - Use cr5 as EVB (EIT Vector Base) register. */ - USI new_pc = m32rbf_h_cr_get (current_cpu, 5) + 0x40 + num * 4; - return new_pc; - } + if (STATE_ENVIRONMENT (sd) != USER_ENVIRONMENT) + goto case_default; func = m32rbf_h_gr_get (current_cpu, 7); arg1 = m32rbf_h_gr_get (current_cpu, 0); @@ -1344,6 +1338,7 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num) /* Do nothing. */ break; + case_default: default : { /* Use cr5 as EVB (EIT Vector Base) register. */ diff --git a/sim/testsuite/m32r/ChangeLog b/sim/testsuite/m32r/ChangeLog index 6e6facbf9bd..535435ac3f8 100644 --- a/sim/testsuite/m32r/ChangeLog +++ b/sim/testsuite/m32r/ChangeLog @@ -1,3 +1,8 @@ +2021-07-01 Mike Frysinger + + * hw-trap.ms: Run sim with --environment virtual. + * trap.cgs: Likewise. + 2021-04-08 Mike Frysinger * allinsn.exp (arch): Delete. diff --git a/sim/testsuite/m32r/hw-trap.ms b/sim/testsuite/m32r/hw-trap.ms index 2aa200b5d70..09790248d10 100644 --- a/sim/testsuite/m32r/hw-trap.ms +++ b/sim/testsuite/m32r/hw-trap.ms @@ -1,4 +1,5 @@ # mach(): m32r m32rx +# sim: --environment virtual # output(): pass\n .include "testutils.inc" diff --git a/sim/testsuite/m32r/trap.cgs b/sim/testsuite/m32r/trap.cgs index 59e136a0173..f132d165367 100644 --- a/sim/testsuite/m32r/trap.cgs +++ b/sim/testsuite/m32r/trap.cgs @@ -1,5 +1,6 @@ # m32r testcase for trap #$uimm4 # mach(): m32r m32rx +# sim: --environment virtual .include "testutils.inc"