summaryrefslogtreecommitdiff
path: root/cpu_threaded.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu_threaded.c')
-rw-r--r--cpu_threaded.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/cpu_threaded.c b/cpu_threaded.c
index 62e2991..c1d85a8 100644
--- a/cpu_threaded.c
+++ b/cpu_threaded.c
@@ -2837,7 +2837,7 @@ u8 function_cc *block_lookup_address_##type(u32 pc) \
char buffer[256]; \
sprintf(buffer, "bad jump %x (%x) (%x)\n", pc, reg[REG_PC], \
last_instruction); \
- printf(buffer); \
+ printf("%s", buffer); \
quit(); \
} \
block_address = (u8 *)(-1); \
@@ -3407,8 +3407,10 @@ void flush_translation_cache_ram()
invalidate_icache_region(ram_translation_cache,
(ram_translation_ptr - ram_translation_cache) + 0x100);
#endif
- ram_translation_ptr = ram_translation_cache;
+#ifdef ARM_ARCH
last_ram_translation_ptr = ram_translation_cache;
+#endif
+ ram_translation_ptr = ram_translation_cache;
ram_block_tag_top = 0x0101;
if(iwram_code_min != 0xFFFFFFFF)
{
@@ -3462,9 +3464,11 @@ void flush_translation_cache_rom()
invalidate_icache_region(rom_translation_cache,
rom_translation_ptr - rom_translation_cache + 0x100);
#endif
+#ifdef ARM_ARCH
+ last_rom_translation_ptr = rom_translation_cache;
+#endif
rom_translation_ptr = rom_translation_cache;
- last_rom_translation_ptr = rom_translation_cache;
memset(rom_branch_hash, 0, sizeof(rom_branch_hash));
}
@@ -3474,10 +3478,12 @@ void flush_translation_cache_bios()
invalidate_icache_region(bios_translation_cache,
bios_translation_ptr - bios_translation_cache + 0x100);
#endif
+#ifdef ARM_ARCH
+ last_bios_translation_ptr = bios_translation_cache;
+#endif
bios_block_tag_top = 0x0101;
bios_translation_ptr = bios_translation_cache;
- last_bios_translation_ptr = bios_translation_cache;
memset(bios_rom + 0x4000, 0, 0x4000);
}