2 |
#define ARM_QUICK_PC_TO_POINTERS_H |
#define ARM_QUICK_PC_TO_POINTERS_H |
3 |
void arm_pc_to_pointers_generic(struct cpu *); |
void arm_pc_to_pointers_generic(struct cpu *); |
4 |
#define quick_pc_to_pointers(cpu) { \ |
#define quick_pc_to_pointers(cpu) { \ |
5 |
uint32_t pc = cpu->cd.arm.r[ARM_PC]; \ |
uint32_t pc = cpu->pc; \ |
6 |
struct arm_tc_physpage *ppp; \ |
struct arm_tc_physpage *ppp; \ |
7 |
ppp = cpu->cd.arm.phys_page[pc >> 12]; \ |
ppp = cpu->cd.arm.phys_page[pc >> 12]; \ |
8 |
if (ppp != NULL) { \ |
if (ppp != NULL) { \ |
9 |
cpu->cd.arm.cur_ic_page = &ppp->ics[0]; \ |
cpu->cd.arm.cur_ic_page = &ppp->ics[0]; \ |
10 |
cpu->cd.arm.next_ic = cpu->cd.arm.cur_ic_page + \ |
cpu->cd.arm.next_ic = cpu->cd.arm.cur_ic_page + \ |
11 |
ARM_PC_TO_IC_ENTRY(pc); \ |
ARM_PC_TO_IC_ENTRY(pc); \ |
12 |
} else \ |
} else \ |
13 |
arm_pc_to_pointers_generic(cpu); \ |
arm_pc_to_pointers_generic(cpu); \ |
14 |
} |
} |
15 |
#endif |
#endif |