cdrom: change pause timing again
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / assem_arm.h
1 #define HOST_IMM8 1
2 #define HAVE_CMOV_IMM 1
3 #define HAVE_CONDITIONAL_CALL 1
4
5 /* ARM calling convention:
6    r0-r3, r12: caller-save
7    r4-r11: callee-save */
8
9 /* GCC register naming convention:
10    r10 = sl (base)
11    r11 = fp (frame pointer)
12    r12 = ip (scratch)
13    r13 = sp (stack pointer)
14    r14 = lr (link register)
15    r15 = pc (program counter) */
16
17 #define HOST_REGS 13
18 #define HOST_CCREG 10
19 #define EXCLUDE_REG 11
20
21 // Note: FP is set to &dynarec_local when executing generated code.
22 // Thus the local variables are actually global and not on the stack.
23 #define FP 11
24 #define LR 14
25 #define HOST_TEMPREG 14
26
27 #ifndef __MACH__
28 #define CALLER_SAVE_REGS 0x100f
29 #else
30 #define CALLER_SAVE_REGS 0x120f
31 #endif
32 #define PREFERRED_REG_FIRST 4
33 #define PREFERRED_REG_LAST  9
34
35 #define DRC_DBG_REGMASK CALLER_SAVE_REGS
36
37 extern char *invc_ptr;
38
39 #define TARGET_SIZE_2 24 // 2^24 = 16 megabytes
40
41 struct tramp_insns
42 {
43   u_int ldrpc;
44 };
45