Revision 4ecc3190 target-ppc/helper.c
b/target-ppc/helper.c | ||
---|---|---|
809 | 809 |
msr |= 0x00010000; |
810 | 810 |
goto store_current; |
811 | 811 |
case EXCP_NO_FP: |
812 |
msr &= ~0xFFFF0000; |
|
812 | 813 |
goto store_current; |
813 | 814 |
case EXCP_DECR: |
814 | 815 |
if (msr_ee == 0) { |
... | ... | |
854 | 855 |
return; |
855 | 856 |
case EXCP_RFI: |
856 | 857 |
/* Restore user-mode state */ |
857 |
tb_flush(env); |
|
858 | 858 |
#if defined (DEBUG_EXCEPTIONS) |
859 | 859 |
if (msr_pr == 1) |
860 | 860 |
printf("Return from exception => 0x%08x\n", (uint32_t)env->nip); |
... | ... | |
887 | 887 |
env->nip = excp << 8; |
888 | 888 |
env->exception_index = EXCP_NONE; |
889 | 889 |
/* Invalidate all TLB as we may have changed translation mode */ |
890 |
tlb_flush(env, 1); |
|
891 | 890 |
/* ensure that no TB jump will be modified as |
892 | 891 |
the program flow was changed */ |
893 | 892 |
#ifdef __sparc__ |
Also available in: Unified diff