53cef59b7a16d625f3f5ce9797ae126c9c1c8cab
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / linkage_offsets.h
1
2 #define PTRSZ __SIZEOF_POINTER__
3
4 #define LO_cycle_count          64
5 #define LO_last_count           (LO_cycle_count + 4)
6 #define LO_address              (LO_last_count + 4)
7 #define LO_hack_addr            (LO_address + 4)
8 #define LO_psxRegs              (LO_hack_addr + 4)
9 #define LO_lo                   (LO_psxRegs + 128)
10 #define LO_hi                   (LO_lo + 4)
11 #define LO_reg_cop0             (LO_hi + 4)
12 #define LO_reg_cop2d            (LO_reg_cop0 + 128)
13 #define LO_reg_cop2c            (LO_reg_cop2d + 128)
14 #define LO_PC                   (LO_reg_cop2c + 128)
15 #define LO_pcaddr               (LO_PC)
16 #define LO_code                 (LO_PC + 4)
17 #define LO_cycle                (LO_code + 4)
18 #define LO_interrupt            (LO_cycle + 4)
19 #define LO_intCycle             (LO_interrupt + 4)
20 #define LO_next_interupt        (LO_intCycle + 4*2*31)
21 #define LO_unused               (LO_next_interupt + 4)
22 #define LO_gteBusyCycle         (LO_unused + 4)
23 #define LO_muldivBusyCycle      (LO_gteBusyCycle + 4)
24 #define LO_psxRegs_subCycle     (LO_muldivBusyCycle + 4)
25 #define LO_psxRegs_biuReg       (LO_psxRegs_subCycle + 4*2)
26 #define LO_stop                 (LO_psxRegs_biuReg + 4)
27 #define LO_psxRegs_end          (LO_stop + 4*9)
28 #define LO_rcnts                (LO_psxRegs_end)
29 #define LO_rcnts_end            (LO_rcnts + 7*4*4)
30 #define LO_inv_code_start       (LO_rcnts_end)
31 #define LO_inv_code_end         (LO_inv_code_start + 4)
32 #define LO_mem_rtab             (LO_inv_code_end + 4)
33 #define LO_mem_wtab             (LO_mem_rtab + PTRSZ)
34 #define LO_psxH_ptr             (LO_mem_wtab + PTRSZ)
35 #define LO_zeromem_ptr          (LO_psxH_ptr + PTRSZ)
36 #define LO_invc_ptr             (LO_zeromem_ptr + PTRSZ)
37 #define LO_scratch_buf_ptr      (LO_invc_ptr + PTRSZ)        // for gte_neon.S
38 #define LO_saved_lr             (LO_scratch_buf_ptr + PTRSZ)
39 #define LO_ram_offset           (LO_saved_lr + PTRSZ)
40 #define LO_hash_table_ptr       (LO_ram_offset + PTRSZ)
41 #define LO_unused2              (LO_hash_table_ptr + PTRSZ)
42 #define LO_mini_ht              (LO_unused2 + PTRSZ)
43 #define LO_dynarec_local_size   (LO_mini_ht + PTRSZ*32*2)
44
45 #define LO_cop2_to_scratch_buf  (LO_scratch_buf_ptr - LO_reg_cop2d)