aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotaz2010-12-08 00:21:35 +0200
committernotaz2010-12-14 15:25:04 +0200
commitbb5285ef904a834e9ecb18cebac80c3378c77558 (patch)
tree7de24ac3cfe3562f405a521ba45494f41f8d0066
parent252c20fc731d772878a62473c09f1688b3cac3dc (diff)
downloadpcsx_rearmed-bb5285ef904a834e9ecb18cebac80c3378c77558.tar.gz
pcsx_rearmed-bb5285ef904a834e9ecb18cebac80c3378c77558.tar.bz2
pcsx_rearmed-bb5285ef904a834e9ecb18cebac80c3378c77558.zip
drc: add forgotten __clear_cache
-rw-r--r--libpcsxcore/new_dynarec/new_dynarec.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c
index 013af9b..85cfc0f 100644
--- a/libpcsxcore/new_dynarec/new_dynarec.c
+++ b/libpcsxcore/new_dynarec/new_dynarec.c
@@ -7711,12 +7711,16 @@ int new_recompile_block(int addr)
#ifdef PCSX
if (Config.HLE && start == 0x80001000) {
// XXX: is this enough? Maybe check hleSoftCall?
+ u_int beginning=(u_int)out;
u_int page=get_page(start);
ll_add(jump_in+page,start,out);
invalid_code[start>>12]=0;
emit_movimm(start,0);
emit_writeword(0,(int)&pcaddr);
- emit_jmp((int)new_dyna_leave); // enough??
+ emit_jmp((int)new_dyna_leave);
+#ifdef __arm__
+ __clear_cache((void *)beginning,out);
+#endif
return 0;
}
else if ((u_int)addr < 0x00200000) {