SSBM Decomp
Loading...
Searching...
No Matches
OSInterrupt.h File Reference
#include <platform.h>
#include <placeholder.h>
#include <dolphin/os/OSContext.h>
#include <dolphin/os/OSException.h>

Go to the source code of this file.

Macros

#define OS_INTRMASK_MEM_0   (0x80000000U >> OS_INTR_MEM_0)
 
#define OS_INTRMASK_MEM_1   (0x80000000U >> OS_INTR_MEM_1)
 
#define OS_INTRMASK_MEM_2   (0x80000000U >> OS_INTR_MEM_2)
 
#define OS_INTRMASK_MEM_3   (0x80000000U >> OS_INTR_MEM_3)
 
#define OS_INTRMASK_MEM_ADDRESS   (0x80000000U >> OS_INTR_MEM_ADDRESS)
 
#define OS_INTRMASK_DSP_AI   (0x80000000U >> OS_INTR_DSP_AI)
 
#define OS_INTRMASK_DSP_ARAM   (0x80000000U >> OS_INTR_DSP_ARAM)
 
#define OS_INTRMASK_DSP_DSP   (0x80000000U >> OS_INTR_DSP_DSP)
 
#define OS_INTRMASK_AI_AI   (0x80000000U >> OS_INTR_AI_AI)
 
#define OS_INTRMASK_EXI_0_EXI   (0x80000000U >> OS_INTR_EXI_0_EXI)
 
#define OS_INTRMASK_EXI_0_TC   (0x80000000U >> OS_INTR_EXI_0_TC)
 
#define OS_INTRMASK_EXI_0_EXT   (0x80000000U >> OS_INTR_EXI_0_EXT)
 
#define OS_INTRMASK_EXI_1_EXI   (0x80000000U >> OS_INTR_EXI_1_EXI)
 
#define OS_INTRMASK_EXI_1_TC   (0x80000000U >> OS_INTR_EXI_1_TC)
 
#define OS_INTRMASK_EXI_1_EXT   (0x80000000U >> OS_INTR_EXI_1_EXT)
 
#define OS_INTRMASK_EXI_2_EXI   (0x80000000U >> OS_INTR_EXI_2_EXI)
 
#define OS_INTRMASK_EXI_2_TC   (0x80000000U >> OS_INTR_EXI_2_TC)
 
#define OS_INTRMASK_PI_CP   (0x80000000U >> OS_INTR_PI_CP)
 
#define OS_INTRMASK_PI_PE_TOKEN   (0x80000000U >> OS_INTR_PI_PE_TOKEN)
 
#define OS_INTRMASK_PI_PE_FINISH   (0x80000000U >> OS_INTR_PI_PE_FINISH)
 
#define OS_INTRMASK_PI_SI   (0x80000000U >> OS_INTR_PI_SI)
 
#define OS_INTRMASK_PI_DI   (0x80000000U >> OS_INTR_PI_DI)
 
#define OS_INTRMASK_PI_RSW   (0x80000000U >> OS_INTR_PI_RSW)
 
#define OS_INTRMASK_PI_ERROR   (0x80000000U >> OS_INTR_PI_ERROR)
 
#define OS_INTRMASK_PI_VI   (0x80000000U >> OS_INTR_PI_VI)
 
#define OS_INTRMASK_PI_DEBUG   (0x80000000U >> OS_INTR_PI_DEBUG)
 
#define OS_INTRMASK_PI_HSP   (0x80000000U >> OS_INTR_PI_HSP)
 
#define OS_INTRMASK_MEM
 
#define OS_INTRMASK_AI   (OS_INTRMASK_AI_AI)
 
#define OS_INTRMASK_DSP    (OS_INTRMASK_DSP_AI | OS_INTRMASK_DSP_ARAM | OS_INTRMASK_DSP_DSP)
 
#define OS_INTRMASK_EXI_0    (OS_INTRMASK_EXI_0_EXI | OS_INTRMASK_EXI_0_TC | OS_INTRMASK_EXI_0_EXT)
 
#define OS_INTRMASK_EXI_1    (OS_INTRMASK_EXI_1_EXI | OS_INTRMASK_EXI_1_TC | OS_INTRMASK_EXI_1_EXT)
 
#define OS_INTRMASK_EXI_2   (OS_INTRMASK_EXI_2_EXI | OS_INTRMASK_EXI_2_TC)
 
#define OS_INTRMASK_EXI
 
#define OS_INTRMASK_PI
 
#define OS_INTRMASK_PI_PE   (OS_INTRMASK_PI_PE_TOKEN | OS_INTRMASK_PI_PE_FINISH)
 

Typedefs

typedef s16 __OSInterrupt
 
typedef void(* __OSInterruptHandler) (__OSInterrupt interrupt, OSContext *context)
 
typedef u32 OSInterruptMask
 

Enumerations

enum  OSInterruptType {
  OS_INTR_MEM_0 ,
  OS_INTR_MEM_1 ,
  OS_INTR_MEM_2 ,
  OS_INTR_MEM_3 ,
  OS_INTR_MEM_ADDRESS ,
  OS_INTR_DSP_AI ,
  OS_INTR_DSP_ARAM ,
  OS_INTR_DSP_DSP ,
  OS_INTR_AI_AI ,
  OS_INTR_EXI_0_EXI ,
  OS_INTR_EXI_0_TC ,
  OS_INTR_EXI_0_EXT ,
  OS_INTR_EXI_1_EXI ,
  OS_INTR_EXI_1_TC ,
  OS_INTR_EXI_1_EXT ,
  OS_INTR_EXI_2_EXI ,
  OS_INTR_EXI_2_TC ,
  OS_INTR_PI_CP ,
  OS_INTR_PI_PE_TOKEN ,
  OS_INTR_PI_PE_FINISH ,
  OS_INTR_PI_SI ,
  OS_INTR_PI_DI ,
  OS_INTR_PI_RSW ,
  OS_INTR_PI_ERROR ,
  OS_INTR_PI_VI ,
  OS_INTR_PI_DEBUG ,
  OS_INTR_PI_HSP ,
  OS_INTR_PI_ACR ,
  OS_INTR_28 ,
  OS_INTR_29 ,
  OS_INTR_30 ,
  OS_INTR_31 ,
  OS_INTR_MAX
}
 

Functions

void __RAS_OSDisableInterrupts_begin (void)
 
void __RAS_OSDisableInterrupts_end (void)
 
bool OSDisableInterrupts (void)
 
bool OSEnableInterrupts (void)
 
bool OSRestoreInterrupts (bool)
 
__OSInterruptHandler __OSSetInterruptHandler (__OSInterrupt, __OSInterruptHandler)
 
__OSInterruptHandler __OSGetInterruptHandler (__OSInterrupt)
 
void __OSInterruptInit (void)
 
u32 __OSMaskInterrupts (u32)
 
u32 __OSUnmaskInterrupts (u32)
 
u32 SetInterruptMask (OSInterruptMask mask, OSInterruptMask current)
 
void __OSDispatchInterrupt (__OSException exception, OSContext *context)
 

Variables

volatile u32 __OSLastInterruptSrr0
 
volatile s16 __OSLastInterrupt
 
volatile s64 __OSLastInterruptTime
 
UNK_T lbl_804D738C
 

Macro Definition Documentation

◆ OS_INTRMASK_MEM_0

#define OS_INTRMASK_MEM_0   (0x80000000U >> OS_INTR_MEM_0)

◆ OS_INTRMASK_MEM_1

#define OS_INTRMASK_MEM_1   (0x80000000U >> OS_INTR_MEM_1)

◆ OS_INTRMASK_MEM_2

#define OS_INTRMASK_MEM_2   (0x80000000U >> OS_INTR_MEM_2)

◆ OS_INTRMASK_MEM_3

#define OS_INTRMASK_MEM_3   (0x80000000U >> OS_INTR_MEM_3)

◆ OS_INTRMASK_MEM_ADDRESS

#define OS_INTRMASK_MEM_ADDRESS   (0x80000000U >> OS_INTR_MEM_ADDRESS)

◆ OS_INTRMASK_DSP_AI

#define OS_INTRMASK_DSP_AI   (0x80000000U >> OS_INTR_DSP_AI)

◆ OS_INTRMASK_DSP_ARAM

#define OS_INTRMASK_DSP_ARAM   (0x80000000U >> OS_INTR_DSP_ARAM)

◆ OS_INTRMASK_DSP_DSP

#define OS_INTRMASK_DSP_DSP   (0x80000000U >> OS_INTR_DSP_DSP)

◆ OS_INTRMASK_AI_AI

#define OS_INTRMASK_AI_AI   (0x80000000U >> OS_INTR_AI_AI)

◆ OS_INTRMASK_EXI_0_EXI

#define OS_INTRMASK_EXI_0_EXI   (0x80000000U >> OS_INTR_EXI_0_EXI)

◆ OS_INTRMASK_EXI_0_TC

#define OS_INTRMASK_EXI_0_TC   (0x80000000U >> OS_INTR_EXI_0_TC)

◆ OS_INTRMASK_EXI_0_EXT

#define OS_INTRMASK_EXI_0_EXT   (0x80000000U >> OS_INTR_EXI_0_EXT)

◆ OS_INTRMASK_EXI_1_EXI

#define OS_INTRMASK_EXI_1_EXI   (0x80000000U >> OS_INTR_EXI_1_EXI)

◆ OS_INTRMASK_EXI_1_TC

#define OS_INTRMASK_EXI_1_TC   (0x80000000U >> OS_INTR_EXI_1_TC)

◆ OS_INTRMASK_EXI_1_EXT

#define OS_INTRMASK_EXI_1_EXT   (0x80000000U >> OS_INTR_EXI_1_EXT)

◆ OS_INTRMASK_EXI_2_EXI

#define OS_INTRMASK_EXI_2_EXI   (0x80000000U >> OS_INTR_EXI_2_EXI)

◆ OS_INTRMASK_EXI_2_TC

#define OS_INTRMASK_EXI_2_TC   (0x80000000U >> OS_INTR_EXI_2_TC)

◆ OS_INTRMASK_PI_CP

#define OS_INTRMASK_PI_CP   (0x80000000U >> OS_INTR_PI_CP)

◆ OS_INTRMASK_PI_PE_TOKEN

#define OS_INTRMASK_PI_PE_TOKEN   (0x80000000U >> OS_INTR_PI_PE_TOKEN)

◆ OS_INTRMASK_PI_PE_FINISH

#define OS_INTRMASK_PI_PE_FINISH   (0x80000000U >> OS_INTR_PI_PE_FINISH)

◆ OS_INTRMASK_PI_SI

#define OS_INTRMASK_PI_SI   (0x80000000U >> OS_INTR_PI_SI)

◆ OS_INTRMASK_PI_DI

#define OS_INTRMASK_PI_DI   (0x80000000U >> OS_INTR_PI_DI)

◆ OS_INTRMASK_PI_RSW

#define OS_INTRMASK_PI_RSW   (0x80000000U >> OS_INTR_PI_RSW)

◆ OS_INTRMASK_PI_ERROR

#define OS_INTRMASK_PI_ERROR   (0x80000000U >> OS_INTR_PI_ERROR)

◆ OS_INTRMASK_PI_VI

#define OS_INTRMASK_PI_VI   (0x80000000U >> OS_INTR_PI_VI)

◆ OS_INTRMASK_PI_DEBUG

#define OS_INTRMASK_PI_DEBUG   (0x80000000U >> OS_INTR_PI_DEBUG)

◆ OS_INTRMASK_PI_HSP

#define OS_INTRMASK_PI_HSP   (0x80000000U >> OS_INTR_PI_HSP)

◆ OS_INTRMASK_MEM

#define OS_INTRMASK_MEM
Value:
#define OS_INTRMASK_MEM_0
Definition OSInterrupt.h:16
#define OS_INTRMASK_MEM_2
Definition OSInterrupt.h:18
#define OS_INTRMASK_MEM_ADDRESS
Definition OSInterrupt.h:20
#define OS_INTRMASK_MEM_3
Definition OSInterrupt.h:19
#define OS_INTRMASK_MEM_1
Definition OSInterrupt.h:17

◆ OS_INTRMASK_AI

#define OS_INTRMASK_AI   (OS_INTRMASK_AI_AI)

◆ OS_INTRMASK_DSP

#define OS_INTRMASK_DSP    (OS_INTRMASK_DSP_AI | OS_INTRMASK_DSP_ARAM | OS_INTRMASK_DSP_DSP)

◆ OS_INTRMASK_EXI_0

#define OS_INTRMASK_EXI_0    (OS_INTRMASK_EXI_0_EXI | OS_INTRMASK_EXI_0_TC | OS_INTRMASK_EXI_0_EXT)

◆ OS_INTRMASK_EXI_1

#define OS_INTRMASK_EXI_1    (OS_INTRMASK_EXI_1_EXI | OS_INTRMASK_EXI_1_TC | OS_INTRMASK_EXI_1_EXT)

◆ OS_INTRMASK_EXI_2

#define OS_INTRMASK_EXI_2   (OS_INTRMASK_EXI_2_EXI | OS_INTRMASK_EXI_2_TC)

◆ OS_INTRMASK_EXI

#define OS_INTRMASK_EXI
Value:
#define OS_INTRMASK_EXI_1_EXT
Definition OSInterrupt.h:30
#define OS_INTRMASK_EXI_0_TC
Definition OSInterrupt.h:26
#define OS_INTRMASK_EXI_2_EXI
Definition OSInterrupt.h:31
#define OS_INTRMASK_EXI_0_EXT
Definition OSInterrupt.h:27
#define OS_INTRMASK_EXI_2_TC
Definition OSInterrupt.h:32
#define OS_INTRMASK_EXI_0_EXI
Definition OSInterrupt.h:25
#define OS_INTRMASK_EXI_1_TC
Definition OSInterrupt.h:29
#define OS_INTRMASK_EXI_1_EXI
Definition OSInterrupt.h:28

◆ OS_INTRMASK_PI

#define OS_INTRMASK_PI
Value:
#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_PI_PE_FINISH
Definition OSInterrupt.h:35
#define OS_INTRMASK_PI_PE_TOKEN
Definition OSInterrupt.h:34
#define OS_INTRMASK_PI_DEBUG
Definition OSInterrupt.h:41
#define OS_INTRMASK_PI_RSW
Definition OSInterrupt.h:38
#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

◆ OS_INTRMASK_PI_PE

#define OS_INTRMASK_PI_PE   (OS_INTRMASK_PI_PE_TOKEN | OS_INTRMASK_PI_PE_FINISH)

Typedef Documentation

◆ __OSInterrupt

typedef s16 __OSInterrupt

◆ __OSInterruptHandler

typedef void(* __OSInterruptHandler) (__OSInterrupt interrupt, OSContext *context)

◆ OSInterruptMask

Enumeration Type Documentation

◆ OSInterruptType

Enumerator
OS_INTR_MEM_0 
OS_INTR_MEM_1 
OS_INTR_MEM_2 
OS_INTR_MEM_3 
OS_INTR_MEM_ADDRESS 
OS_INTR_DSP_AI 
OS_INTR_DSP_ARAM 
OS_INTR_DSP_DSP 
OS_INTR_AI_AI 
OS_INTR_EXI_0_EXI 
OS_INTR_EXI_0_TC 
OS_INTR_EXI_0_EXT 
OS_INTR_EXI_1_EXI 
OS_INTR_EXI_1_TC 
OS_INTR_EXI_1_EXT 
OS_INTR_EXI_2_EXI 
OS_INTR_EXI_2_TC 
OS_INTR_PI_CP 
OS_INTR_PI_PE_TOKEN 
OS_INTR_PI_PE_FINISH 
OS_INTR_PI_SI 
OS_INTR_PI_DI 
OS_INTR_PI_RSW 
OS_INTR_PI_ERROR 
OS_INTR_PI_VI 
OS_INTR_PI_DEBUG 
OS_INTR_PI_HSP 
OS_INTR_PI_ACR 
OS_INTR_28 
OS_INTR_29 
OS_INTR_30 
OS_INTR_31 
OS_INTR_MAX 

Function Documentation

◆ __RAS_OSDisableInterrupts_begin()

void __RAS_OSDisableInterrupts_begin ( void  )

◆ __RAS_OSDisableInterrupts_end()

void __RAS_OSDisableInterrupts_end ( void  )

◆ 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)

◆ __OSInterruptInit()

void __OSInterruptInit ( void  )

◆ __OSMaskInterrupts()

u32 __OSMaskInterrupts ( u32  global)

◆ __OSUnmaskInterrupts()

u32 __OSUnmaskInterrupts ( u32  global)

◆ SetInterruptMask()

u32 SetInterruptMask ( OSInterruptMask  mask,
OSInterruptMask  current 
)

◆ __OSDispatchInterrupt()

void __OSDispatchInterrupt ( __OSException  exception,
OSContext context 
)

Variable Documentation

◆ __OSLastInterruptSrr0

volatile u32 __OSLastInterruptSrr0
extern

◆ __OSLastInterrupt

volatile s16 __OSLastInterrupt
extern

◆ __OSLastInterruptTime

volatile s64 __OSLastInterruptTime
extern

◆ lbl_804D738C

UNK_T lbl_804D738C
extern
Size:
0x4 bytes.