mirror of https://github.com/xqemu/xqemu.git
mips cleanup (Thiemo Seufer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1934 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
ea4e754f5a
commit
9d05095e5f
|
@ -561,6 +561,8 @@ int cpu_exec(CPUState *env1)
|
||||||
#elif defined(TARGET_SH4)
|
#elif defined(TARGET_SH4)
|
||||||
/* XXXXX */
|
/* XXXXX */
|
||||||
#endif
|
#endif
|
||||||
|
/* Don't use the cached interupt_request value,
|
||||||
|
do_interrupt may have updated the EXITTB flag. */
|
||||||
if (env->interrupt_request & CPU_INTERRUPT_EXITTB) {
|
if (env->interrupt_request & CPU_INTERRUPT_EXITTB) {
|
||||||
env->interrupt_request &= ~CPU_INTERRUPT_EXITTB;
|
env->interrupt_request &= ~CPU_INTERRUPT_EXITTB;
|
||||||
/* ensure that no TB jump will be modified as
|
/* ensure that no TB jump will be modified as
|
||||||
|
|
|
@ -219,7 +219,6 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
|
||||||
exception = EXCP_TLBS;
|
exception = EXCP_TLBS;
|
||||||
else
|
else
|
||||||
exception = EXCP_TLBL;
|
exception = EXCP_TLBL;
|
||||||
error_code = 0;
|
|
||||||
break;
|
break;
|
||||||
case -4:
|
case -4:
|
||||||
/* TLB match but 'D' bit is cleared */
|
/* TLB match but 'D' bit is cleared */
|
||||||
|
@ -350,7 +349,6 @@ void do_interrupt (CPUState *env)
|
||||||
cause = 4;
|
cause = 4;
|
||||||
goto set_EPC;
|
goto set_EPC;
|
||||||
case EXCP_TLBL:
|
case EXCP_TLBL:
|
||||||
case EXCP_TLBF:
|
|
||||||
cause = 2;
|
cause = 2;
|
||||||
if (env->error_code == 1 && !(env->hflags & MIPS_HFLAG_EXL))
|
if (env->error_code == 1 && !(env->hflags & MIPS_HFLAG_EXL))
|
||||||
offset = 0x000;
|
offset = 0x000;
|
||||||
|
|
Loading…
Reference in New Issue