Search
lxdream.org :: lxdream :: r954:59e17ce91c55
lxdream 0.9.1
released Jun 29
Download Now
changeset954:59e17ce91c55
parent953:f4a156508ad1
child955:e289b49c28f1
authornkeynes
dateTue Jan 13 23:55:30 2009 +0000 (15 years ago)
Fix icache entry not matching following an xlat block mode mismatch (can happen legitimately)
src/sh4/sh4trans.c
1.1 --- a/src/sh4/sh4trans.c Tue Jan 13 11:56:28 2009 +0000
1.2 +++ b/src/sh4/sh4trans.c Tue Jan 13 23:55:30 2009 +0000
1.3 @@ -56,6 +56,13 @@
1.4 code = sh4_translate_basic_block( sh4r.pc );
1.5 }
1.6 } else if( sh4r.xlat_sh4_mode != XLAT_BLOCK_MODE(code) ) {
1.7 + if( !IS_IN_ICACHE(sh4r.pc) ) {
1.8 + /* If TLB is off, we may have gotten here without updating
1.9 + * the icache, so do it now. This should never fail, so...
1.10 + */
1.11 + mmu_update_icache(sh4r.pc);
1.12 + assert( IS_IN_ICACHE(sh4r.pc) );
1.13 + }
1.14 code = sh4_translate_basic_block( sh4r.pc );
1.15 }
1.16 code = code();
.