X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fassem_arm64.h;h=c5fcadf3907560ab523955d7678c85dbf7b4afa7;hp=fe12ad75c6630cdbe401893e96dd010e8df3d5f1;hb=b7ec323c2e42a9ff8df844e5a95665733abb4bc1;hpb=d1e4ebd9988a9a5d9fb38b89f19e24b9ab6029d7 diff --git a/libpcsxcore/new_dynarec/assem_arm64.h b/libpcsxcore/new_dynarec/assem_arm64.h index fe12ad75..c5fcadf3 100644 --- a/libpcsxcore/new_dynarec/assem_arm64.h +++ b/libpcsxcore/new_dynarec/assem_arm64.h @@ -1,14 +1,13 @@ -#define HOST_REGS 29 -#define HOST_BTREG 27 -#define EXCLUDE_REG -1 - #define HOST_IMM8 1 -#define RAM_SIZE 0x200000 /* calling convention: r0 -r17: caller-save r19-r29: callee-save */ +#define HOST_REGS 29 +#define HOST_BTREG 27 +#define EXCLUDE_REG -1 + #define SP 31 #define WZR SP #define XZR SP @@ -24,24 +23,27 @@ #define HOST_CCREG 28 #define rCC w28 +#define CALLER_SAVE_REGS 0x0007ffff +#define PREFERRED_REG_FIRST 19 +#define PREFERRED_REG_LAST 27 + // stack space #define SSP_CALLEE_REGS (8*12) #define SSP_CALLER_REGS (8*20) #define SSP_ALL (SSP_CALLEE_REGS+SSP_CALLER_REGS) +#define TARGET_SIZE_2 24 // 2^24 = 16 megabytes + #ifndef __ASSEMBLER__ extern char *invc_ptr; -#define TARGET_SIZE_2 24 // 2^24 = 16 megabytes +struct tramp_insns +{ + u_int ldr; + u_int br; +}; -// Code generator target address -#if defined(BASE_ADDR_DYNAMIC) - // for platforms that can't just use .bss buffer (are there any on arm64?) - extern u_char *translation_cache; -#else - // using a static buffer in .bss - extern u_char translation_cache[1 << TARGET_SIZE_2]; -#endif +static void clear_cache_arm64(char *start, char *end); #endif // !__ASSEMBLY__