]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
target-tricore: fix rfe not restoring the PC
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Tue, 5 May 2015 17:41:10 +0000 (19:41 +0200)
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Mon, 11 May 2015 12:25:49 +0000 (14:25 +0200)
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
target-tricore/op_helper.c

index 1dc25c23494665d4079ac42e59bf177103587979..9919b5b17bed2b031ca42e7b87a1ebe8d5ad1bce 100644 (file)
@@ -2458,6 +2458,7 @@ void helper_rfe(CPUTriCoreState *env)
     if (!cdc_zero(&(env->PSW)) && (env->PSW & MASK_PSW_CDE)) {
         /* raise MNG trap */
     }
+    env->PC = env->gpr_a[11] & ~0x1;
     /* ICR.IE = PCXI.PIE; */
     env->ICR = (env->ICR & ~MASK_ICR_IE) + ((env->PCXI & MASK_PCXI_PIE) >> 15);
     /* ICR.CCPN = PCXI.PCPN; */