SSBM Decomp
Loading...
Searching...
No Matches
OSInterrupt.c File Reference
#include <placeholder.h>
#include <__mem.h>
#include <dolphin/ai/ai.h>
#include <dolphin/dsp/dsp.h>
#include <dolphin/os.h>
#include <dolphin/os/OSExi.h>
#include <dolphin/os/OSInit.h>
#include <dolphin/os/OSInterrupt.h>
#include <dolphin/os/OSMemory.h>
#include <dolphin/os/OSThread.h>
#include <dolphin/os/OSTime.h>
#include <MetroTRK/intrinsics.h>

Functions

bool OSDisableInterrupts (void)
 
bool OSEnableInterrupts (void)
 
bool OSRestoreInterrupts (bool level)
 
__OSInterruptHandler __OSSetInterruptHandler (__OSInterrupt id, __OSInterruptHandler handler)
 
__OSInterruptHandler __OSGetInterruptHandler (__OSInterrupt id)
 
static void ExternalInterruptHandler (__OSException exception, OSContext *context)
 
struct { 
 
   u32   x0 
 
   u32   intr 
 
AT_ADDRESS (0xCC003000) 
 
volatile u32 OS_INTR_OLD AT_ADDRESS (0x800000C4)
 
volatile u32 OS_INTR_CUR AT_ADDRESS (0x800000C8)
 
void __OSInterruptInit (void)
 
u32 SetInterruptMask (OSInterruptMask mask, OSInterruptMask current)
 
OSInterruptMask __OSMaskInterrupts (OSInterruptMask global)
 
OSInterruptMask __OSUnmaskInterrupts (OSInterruptMask global)
 
void __OSDispatchInterrupt (__OSException exception, OSContext *context)
 
static void ExternalInterruptHandler (register __OSException exception, register OSContext *context)
 

Variables

static __OSInterruptHandlerInterruptHandlerTable
 
static OSInterruptMask InterruptPrioTable []
 
volatile OSTime __OSLastInterruptTime
 
volatile s16 __OSLastInterrupt
 
volatile u32 __OSLastInterruptSrr0
 

Function Documentation

◆ OSDisableInterrupts()

bool OSDisableInterrupts ( void  )

◆ OSEnableInterrupts()

bool OSEnableInterrupts ( void  )

◆ OSRestoreInterrupts()

bool OSRestoreInterrupts ( bool  level)

◆ __OSSetInterruptHandler()

__OSInterruptHandler __OSSetInterruptHandler ( __OSInterrupt  id,
__OSInterruptHandler  handler 
)

◆ __OSGetInterruptHandler()

__OSInterruptHandler __OSGetInterruptHandler ( __OSInterrupt  id)

◆ ExternalInterruptHandler() [1/2]

static void ExternalInterruptHandler ( __OSException  exception,
OSContext context 
)
static

◆ AT_ADDRESS() [1/3]

volatile struct @8 AT_ADDRESS ( 0xCC003000  )
extern

◆ AT_ADDRESS() [2/3]

volatile u32 OS_INTR_OLD AT_ADDRESS ( 0x800000C4  )
extern

◆ AT_ADDRESS() [3/3]

volatile u32 OS_INTR_CUR AT_ADDRESS ( 0x800000C8  )
extern

◆ __OSInterruptInit()

void __OSInterruptInit ( void  )

◆ SetInterruptMask()

u32 SetInterruptMask ( OSInterruptMask  mask,
OSInterruptMask  current 
)

◆ __OSMaskInterrupts()

OSInterruptMask __OSMaskInterrupts ( OSInterruptMask  global)

◆ __OSUnmaskInterrupts()

OSInterruptMask __OSUnmaskInterrupts ( OSInterruptMask  global)

◆ __OSDispatchInterrupt()

void __OSDispatchInterrupt ( __OSException  exception,
OSContext context 
)

◆ ExternalInterruptHandler() [2/2]

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

Variable Documentation

◆ InterruptHandlerTable

__OSInterruptHandler * InterruptHandlerTable
static

◆ InterruptPrioTable

OSInterruptMask InterruptPrioTable[]
static
Initial value:
= {
0xFFFFFFFF,
}
#define OS_INTRMASK_EXI
Definition OSInterrupt.h:58
#define OS_INTRMASK_DSP_DSP
Definition OSInterrupt.h:23
#define OS_INTRMASK_PI_PE
Definition OSInterrupt.h:69
#define OS_INTRMASK_PI_VI
Definition OSInterrupt.h:40
#define OS_INTRMASK_PI_SI
Definition OSInterrupt.h:36
#define OS_INTRMASK_PI_HSP
Definition OSInterrupt.h:42
#define OS_INTRMASK_MEM
Definition OSInterrupt.h:44
#define OS_INTRMASK_PI_DEBUG
Definition OSInterrupt.h:41
#define OS_INTRMASK_PI_RSW
Definition OSInterrupt.h:38
#define OS_INTRMASK_DSP_AI
Definition OSInterrupt.h:21
#define OS_INTRMASK_DSP_ARAM
Definition OSInterrupt.h:22
#define OS_INTRMASK_AI
Definition OSInterrupt.h:48
#define OS_INTRMASK_PI_DI
Definition OSInterrupt.h:37
#define OS_INTRMASK_PI_ERROR
Definition OSInterrupt.h:39
#define OS_INTRMASK_PI_CP
Definition OSInterrupt.h:33

◆ __OSLastInterruptTime

volatile OSTime __OSLastInterruptTime

◆ __OSLastInterrupt

volatile s16 __OSLastInterrupt

◆ __OSLastInterruptSrr0

volatile u32 __OSLastInterruptSrr0

◆ x0

u32 x0

◆ intr

u32 intr