// - stm reglist writeback when base is in the list needs adjustment
// - block memory needs psr swapping and user mode reg swapping
-#include <stdio.h>
#include "common.h"
u8 rom_translation_cache[ROM_TRANSLATION_CACHE_SIZE];
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); \
s32 translate_block_##type(u32 pc, translation_region_type \
translation_region, u32 smc_enable) \
{ \
- u32 opcode; \
+ u32 opcode = 0; \
u32 last_opcode; \
u32 condition; \
u32 last_condition; \
u32 branch_target; \
u32 cycle_count = 0; \
u8 *translation_target; \
- u8 *backpatch_address; \
- u8 *translation_ptr; \
- u8 *translation_cache_limit; \
+ u8 *backpatch_address = NULL; \
+ u8 *translation_ptr = NULL; \
+ u8 *translation_cache_limit = NULL; \
s32 i; \
u32 flag_status; \
block_exit_type external_block_exits[MAX_EXITS]; \
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)
{
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));
}
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);
}
-#ifdef GP2X_BUILD
- #define cache_dump_prefix "/mnt/nand/"
-#else
- #define cache_dump_prefix ""
-#endif
+#define cache_dump_prefix ""
void dump_translation_cache()
{