Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
OSInterrupt.c File Reference

Functions

static void ExternalInterruptHandler (register __OSException exception, register OSContext *context)
 
void __RAS_OSDisableInterrupts_begin (void)
 
void __RAS_OSDisableInterrupts_end (void)
 
asm BOOL OSDisableInterrupts (void)
 
asm BOOL OSEnableInterrupts (void)
 
asm BOOL OSRestoreInterrupts (register BOOL level)
 
__OSInterruptHandler __OSSetInterruptHandler (__OSInterrupt interrupt, __OSInterruptHandler handler)
 
__OSInterruptHandler __OSGetInterruptHandler (__OSInterrupt interrupt)
 
void __OSInterruptInit (void)
 
static u32 SetInterruptMask (OSInterruptMask mask, OSInterruptMask current)
 
OSInterruptMask OSGetInterruptMask (void)
 
OSInterruptMask OSSetInterruptMask (OSInterruptMask local)
 
OSInterruptMask __OSMaskInterrupts (OSInterruptMask global)
 
OSInterruptMask __OSUnmaskInterrupts (OSInterruptMask global)
 
void __OSDispatchInterrupt (__OSException exception, OSContext *context)
 

Variables

u64 __OSSpuriousInterrupts = 0
 
static __OSInterruptHandlerInterruptHandlerTable
 
volatile OSTime __OSLastInterruptTime
 
volatile __OSInterrupt __OSLastInterrupt
 
volatile u32 __OSLastInterruptSrr0
 
static OSInterruptMask InterruptPrioTable []
 
char * __OSInterruptNames [33]
 
char * __OSPIErrors [8]
 

Function Documentation

◆ __OSDispatchInterrupt()

void __OSDispatchInterrupt ( __OSException exception,
OSContext * context )

◆ __OSGetInterruptHandler()

__OSInterruptHandler __OSGetInterruptHandler ( __OSInterrupt interrupt)

◆ __OSInterruptInit()

void __OSInterruptInit ( void )

◆ __OSMaskInterrupts()

OSInterruptMask __OSMaskInterrupts ( OSInterruptMask global)

◆ __OSSetInterruptHandler()

__OSInterruptHandler __OSSetInterruptHandler ( __OSInterrupt interrupt,
__OSInterruptHandler handler )

◆ __OSUnmaskInterrupts()

OSInterruptMask __OSUnmaskInterrupts ( OSInterruptMask global)

◆ __RAS_OSDisableInterrupts_begin()

void __RAS_OSDisableInterrupts_begin ( void )
extern

◆ __RAS_OSDisableInterrupts_end()

void __RAS_OSDisableInterrupts_end ( void )
extern

◆ ExternalInterruptHandler()

static asm void ExternalInterruptHandler ( register __OSException exception,
register OSContext * context )
static

◆ OSDisableInterrupts()

asm BOOL OSDisableInterrupts ( void )

◆ OSEnableInterrupts()

asm BOOL OSEnableInterrupts ( void )

◆ OSGetInterruptMask()

OSInterruptMask OSGetInterruptMask ( void )

◆ OSRestoreInterrupts()

asm BOOL OSRestoreInterrupts ( register BOOL level)

◆ OSSetInterruptMask()

OSInterruptMask OSSetInterruptMask ( OSInterruptMask local)

◆ SetInterruptMask()

static u32 SetInterruptMask ( OSInterruptMask mask,
OSInterruptMask current )
static

Variable Documentation

◆ __OSInterruptNames

char* __OSInterruptNames[33]

◆ __OSLastInterrupt

volatile __OSInterrupt __OSLastInterrupt

◆ __OSLastInterruptSrr0

volatile u32 __OSLastInterruptSrr0

◆ __OSLastInterruptTime

volatile OSTime __OSLastInterruptTime

◆ __OSPIErrors

char* __OSPIErrors[8]
Initial value:
= {
"No Error",
"Misaligned address for CPU request",
"Incorrect transfer type (tt) from CPU",
"Unsupported transfer size",
"Address out of range",
"Write to ROM address space",
"Read from GX Fifo",
"Reserved error code",
}

◆ __OSSpuriousInterrupts

u64 __OSSpuriousInterrupts = 0

◆ InterruptHandlerTable

__OSInterruptHandler* InterruptHandlerTable
static

◆ InterruptPrioTable

OSInterruptMask InterruptPrioTable[]
static
Initial value:
= {
OS_INTERRUPTMASK_PI_ERROR,
OS_INTERRUPTMASK_PI_DEBUG,
OS_INTERRUPTMASK_MEM,
OS_INTERRUPTMASK_PI_RSW,
OS_INTERRUPTMASK_PI_VI,
OS_INTERRUPTMASK_PI_PE,
OS_INTERRUPTMASK_PI_HSP,
OS_INTERRUPTMASK_DSP_ARAM | OS_INTERRUPTMASK_DSP_DSP | OS_INTERRUPTMASK_AI |
OS_INTERRUPTMASK_EXI | OS_INTERRUPTMASK_PI_SI | OS_INTERRUPTMASK_PI_DI,
OS_INTERRUPTMASK_DSP_AI,
OS_INTERRUPTMASK_PI_CP,
0xFFFFFFFF,
}