void myInternalHook(void) { Exception_Status status; Ptr a31, a30; Ptr b31, b30; Exception_getLastStatus(&status); logout("myInternalHook:\n"); logout(" efr=0x%x\n", status.efr); logout(" nrp=0x%x\n", status.nrp); logout(" ntsr=0x%x\n", status.ntsr); logout(" ierr=0x%x\n", status.ierr); logout(" excContext=0x%x\n", status.excContext); a31 = status.excContext->A31; a30 = status.excContext->A30; b31 = status.excContext->B31; b30 = status.excContext->B30; logout(" A31_A30=0x%08x%08x\n", (UInt)(a31), (UInt)(a30)); logout(" B31_B30=0x%08x%08x\n", (UInt)(b31), (UInt)(b30)); }
/* * ======== Deh_excHandlerDsp ======== * Read data from exception handler and print it to crash dump buffer */ Void Deh_excHandlerDsp() { Exception_Status excStatus; Exception_getLastStatus(&excStatus); memcpy(module->outbuf, excStatus.excContext, sizeof(*excStatus.excContext)); System_abort("Terminating execution...\n"); }