1 |
dpavlin |
22 |
/* $Id: quick_pc_to_pointers.h,v 1.1 2005/11/30 16:23:10 debug Exp $ */ |
2 |
|
|
|
3 |
|
|
#ifdef quick_pc_to_pointers |
4 |
|
|
#undef quick_pc_to_pointers |
5 |
|
|
#endif |
6 |
|
|
|
7 |
|
|
#ifdef MODE32 |
8 |
|
|
#define quick_pc_to_pointers(cpu) { \ |
9 |
|
|
uint32_t pc = cpu->pc; \ |
10 |
|
|
struct DYNTRANS_TC_PHYSPAGE *ppp; \ |
11 |
|
|
ppp = cpu->cd.DYNTRANS_ARCH.phys_page[pc >> 12]; \ |
12 |
|
|
if (ppp != NULL) { \ |
13 |
|
|
cpu->cd.DYNTRANS_ARCH.cur_ic_page = &ppp->ics[0]; \ |
14 |
|
|
cpu->cd.DYNTRANS_ARCH.next_ic = \ |
15 |
|
|
cpu->cd.DYNTRANS_ARCH.cur_ic_page + \ |
16 |
|
|
DYNTRANS_PC_TO_IC_ENTRY(pc); \ |
17 |
|
|
} else \ |
18 |
|
|
DYNTRANS_PC_TO_POINTERS(cpu); \ |
19 |
|
|
} |
20 |
|
|
#else |
21 |
|
|
#define quick_pc_to_pointers(cpu) DYNTRANS_PC_TO_POINTERS(cpu) |
22 |
|
|
#endif |
23 |
|
|
|