diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2010-02-01 19:58:46 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2010-02-09 21:08:05 +0100 |
commit | 1f486815aea9d5482772fc0cf60c4ef186f08cba (patch) | |
tree | 1ade5c06cc2f5a256d5e6a2dd6b17decea366cb2 | |
parent | e0bcb9ca36e4f3081c7e6841283646985ed9676b (diff) |
target-sh4: MMU: fix mem_idx computation
The mem_idx is wrongly computed. As written in target-sh4/cpu.h, mode 0
corresponds to kernel mode (SR_MD = 1), while mode 1 corresponds to user
mode (SR_MD = 0).
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r-- | target-sh4/translate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-sh4/translate.c b/target-sh4/translate.c index 8f0a986c48..bff3188575 100644 --- a/target-sh4/translate.c +++ b/target-sh4/translate.c @@ -1905,7 +1905,7 @@ gen_intermediate_code_internal(CPUState * env, TranslationBlock * tb, ctx.bstate = BS_NONE; ctx.sr = env->sr; ctx.fpscr = env->fpscr; - ctx.memidx = (env->sr & SR_MD) ? 1 : 0; + ctx.memidx = (env->sr & SR_MD) == 0 ? 1 : 0; /* We don't know if the delayed pc came from a dynamic or static branch, so assume it is a dynamic branch. */ ctx.delayed_pc = -1; /* use delayed pc from env pointer */ |