X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fassem_arm.h;h=75273aa88eff06a760448ff0cd3ef1365515f280;hp=bbaf5b9e952eb387da6cebdbc92c7f8447faed75;hb=b7ec323c2e42a9ff8df844e5a95665733abb4bc1;hpb=7c3a5182da4384e21a6ace037583fae399de5a02 diff --git a/libpcsxcore/new_dynarec/assem_arm.h b/libpcsxcore/new_dynarec/assem_arm.h index bbaf5b9e..75273aa8 100644 --- a/libpcsxcore/new_dynarec/assem_arm.h +++ b/libpcsxcore/new_dynarec/assem_arm.h @@ -1,12 +1,6 @@ -#define HOST_REGS 13 -#define HOST_CCREG 10 -#define HOST_BTREG 8 -#define EXCLUDE_REG 11 - #define HOST_IMM8 1 #define HAVE_CMOV_IMM 1 #define HAVE_CONDITIONAL_CALL 1 -#define RAM_SIZE 0x200000 /* ARM calling convention: r0-r3, r12: caller-save @@ -20,29 +14,31 @@ r14 = lr (link register) r15 = pc (program counter) */ +#define HOST_REGS 13 +#define HOST_CCREG 10 +#define HOST_BTREG 8 +#define EXCLUDE_REG 11 + +// Note: FP is set to &dynarec_local when executing generated code. +// Thus the local variables are actually global and not on the stack. #define FP 11 #define LR 14 #define HOST_TEMPREG 14 -// Note: FP is set to &dynarec_local when executing generated code. -// Thus the local variables are actually global and not on the stack. +#ifndef __MACH__ +#define CALLER_SAVE_REGS 0x100f +#else +#define CALLER_SAVE_REGS 0x120f +#endif +#define PREFERRED_REG_FIRST 4 +#define PREFERRED_REG_LAST 9 extern char *invc_ptr; #define TARGET_SIZE_2 24 // 2^24 = 16 megabytes -// Code generator target address -#if defined(BASE_ADDR_FIXED) - // "round" address helpful for debug - // this produces best code, but not many platforms allow it, - // only use if you are sure this range is always free - #define BASE_ADDR_ 0x1000000 - #define translation_cache (u_char *)BASE_ADDR_ -#elif defined(BASE_ADDR_DYNAMIC) - // for platforms that can't just use .bss buffer, like vita - // otherwise better to use the next option for closer branches - extern u_char *translation_cache; -#else - // using a static buffer in .bss - extern u_char translation_cache[1 << TARGET_SIZE_2]; -#endif +struct tramp_insns +{ + u_int ldrpc; +}; +