summaryrefslogtreecommitdiff
path: root/cpu.h
diff options
context:
space:
mode:
authorneonloop2021-05-05 16:20:45 +0000
committerneonloop2021-05-05 16:20:45 +0000
commit3aa34f7503bbb03e9bcd191f8af4fd5faac66d2e (patch)
tree1be71c0b48ec866b604ab67aa7099be5f4c0283d /cpu.h
parentda0db18b9debadc6ff0241f39bbd9d78ab5328d2 (diff)
downloadpicogpsp-3aa34f7503bbb03e9bcd191f8af4fd5faac66d2e.tar.gz
picogpsp-3aa34f7503bbb03e9bcd191f8af4fd5faac66d2e.tar.bz2
picogpsp-3aa34f7503bbb03e9bcd191f8af4fd5faac66d2e.zip
Revert "Remove BIOS reserved translation area"
This reverts commit fb7ca09b019248b9a0aba481ea55386f71053d73. It seems that commit broke rolling in Minish Cap when using the ARM dynarec.
Diffstat (limited to 'cpu.h')
-rw-r--r--cpu.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpu.h b/cpu.h
index 2b250ca..9868866 100644
--- a/cpu.h
+++ b/cpu.h
@@ -93,6 +93,7 @@ typedef enum
{
TRANSLATION_REGION_RAM,
TRANSLATION_REGION_ROM,
+ TRANSLATION_REGION_BIOS
} translation_region_type;
extern u32 instruction_count;
@@ -126,22 +127,28 @@ s32 translate_block_thumb(u32 pc, translation_region_type translation_region,
#if defined(HAVE_MMAP)
extern u8* rom_translation_cache;
extern u8* ram_translation_cache;
+extern u8* bios_translation_cache;
#elif defined(_3DS)
#define rom_translation_cache ((u8*)0x02000000 - ROM_TRANSLATION_CACHE_SIZE)
#define ram_translation_cache (rom_translation_cache - RAM_TRANSLATION_CACHE_SIZE)
+#define bios_translation_cache (ram_translation_cache - BIOS_TRANSLATION_CACHE_SIZE)
extern u8* rom_translation_cache_ptr;
extern u8* ram_translation_cache_ptr;
+extern u8* bios_translation_cache_ptr;
#elif defined(VITA)
extern u8* rom_translation_cache;
extern u8* ram_translation_cache;
+extern u8* bios_translation_cache;
extern int sceBlock;
#else
extern u8 rom_translation_cache[ROM_TRANSLATION_CACHE_SIZE];
extern u8 ram_translation_cache[RAM_TRANSLATION_CACHE_SIZE];
+extern u8 bios_translation_cache[BIOS_TRANSLATION_CACHE_SIZE];
#endif
extern u32 stub_arena[STUB_ARENA_SIZE / 4];
extern u8 *rom_translation_ptr;
extern u8 *ram_translation_ptr;
+extern u8 *bios_translation_ptr;
#define MAX_TRANSLATION_GATES 8
@@ -156,6 +163,7 @@ extern u32 *rom_branch_hash[ROM_BRANCH_HASH_SIZE];
void flush_translation_cache_rom(void);
void flush_translation_cache_ram(void);
+void flush_translation_cache_bios(void);
void dump_translation_cache(void);
void wipe_caches(void);