Go to the source code of this file.
|
| CESTER_BODY (static int s_got40;static int s_got80;static uint32_t s_cause;static uint32_t s_epc;static uint32_t s_from;static uint32_t *s_resume;static uint32_t *s_regs;static uint32_t(*s_customhandler)()=NULL;static uint32_t s_oldIMASK;static uint32_t s_oldDPCR;static uint32_t s_oldDICR;uint32_t handler(uint32_t *regs, uint32_t from) { if(from==0x40) s_got40=1;if(from==0x80) s_got80=1;uint32_t cause;uint32_t epc;s_from=from;asm("mfc0 %0, $13\nnop\nmfc0 %1, $14\nnop" :"=r"(cause), "=r"(epc));s_cause=cause;s_epc=epc;if(s_customhandler) { return s_customhandler();} else { return s_resume ?((uint32_t) s_resume) :(epc+4);} } void installExceptionHandlers(uint32_t(*handler)(uint32_t *regs, uint32_t from));void uninstallExceptionHandlers();uint32_t branchbranch1();uint32_t branchbranch2();uint32_t jumpjump1();uint32_t jumpjump2();uint32_t cpu_LWR_LWL_half(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_nodelay(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_delayed(uint32_t buff[], uint32_t initial);uint32_t cpu_LWR_LWL_load_different(uint32_t buff[], uint32_t initial);uint32_t cpu_LW_LWR(uint32_t buff[], uint32_t initial);uint32_t cpu_delayed_load(uint32_t buff[], uint32_t override);uint32_t cpu_delayed_load_cancelled(uint32_t buff[], uint32_t override);uint64_t cpu_delayed_load_load(uint32_t buff[], uint32_t override);uint32_t linkandload();uint32_t lwandlink();uint32_t nolink();static int s_interruptsWereEnabled;) CESTER_BEFORE_EACH(cpu_tests |
|
| for (unsigned i=0;i< 7;i++) |
|
◆ CESTER_BODY()
CESTER_BODY |
( |
static int s_got40;static int s_got80;static uint32_t s_cause;static uint32_t s_epc;static uint32_t s_from;static uint32_t *s_resume;static uint32_t *s_regs;static uint32_t(*)() |
s_customhandler = NULL; static uint32_t s_oldIMASK; static uint32_t s_oldDPCR; static uint32_t s_oldDICR; uint32_t handler(uint32_t * regs, uint32_t from) { if (from == 0x40) s_got40 = 1; if (from == 0x80) s_got80 = 1; uint32_t cause; uint32_t epc; s_from = from; asm("mfc0 %0, $13\nnop\nmfc0 %1, $14\nnop" : "=r"(cause), "=r"(epc)); s_cause = cause; s_epc = epc; if (s_customhandler) { return s_customhandler(); } else { return s_resume ? ((uint32_t)s_resume) : (epc + 4); } } void installExceptionHandlers(uint32_t (*handler)(uint32_t * regs, uint32_t from)); void uninstallExceptionHandlers(); uint32_t branchbranch1(); uint32_t branchbranch2(); uint32_t jumpjump1(); uint32_t jumpjump2(); uint32_t cpu_LWR_LWL_half(uint32_t buff[], uint32_t initial); uint32_t cpu_LWR_LWL_nodelay(uint32_t buff[], uint32_t initial); uint32_t cpu_LWR_LWL_delayed(uint32_t buff[], uint32_t initial); uint32_t cpu_LWR_LWL_load_different(uint32_t buff[], uint32_t initial); uint32_t cpu_LW_LWR(uint32_t buff[], uint32_t initial); uint32_t cpu_delayed_load(uint32_t buff[], uint32_t override); uint32_t cpu_delayed_load_cancelled(uint32_t buff[], uint32_t override); uint64_t cpu_delayed_load_load(uint32_t buff[], uint32_t override); uint32_t linkandload(); uint32_t lwandlink(); uint32_t nolink(); static int s_interruptsWereEnabled; | ) |
|
◆ for()
◆ dicr
◆ DICR
◆ DPCR
◆ IMASK
◆ IREG
◆ s_cause
◆ s_customhandler
◆ s_epc
◆ s_from
◆ s_got40
◆ s_got80
◆ s_oldDICR
◆ s_oldDPCR
◆ s_oldIMASK
◆ s_regs
◆ s_resume
◆ testindex
◆ testname