SSBM Decomp
Loading...
Searching...
No Matches
OSContext.h File Reference
#include <platform.h>

Go to the source code of this file.

Data Structures

struct  OSContext
 

Macros

#define __OS_CONTEXT_FRAME   768
 
#define OS_CONTEXT_R0   0
 
#define OS_CONTEXT_R1   4
 
#define OS_CONTEXT_R2   8
 
#define OS_CONTEXT_R3   12
 
#define OS_CONTEXT_R4   16
 
#define OS_CONTEXT_R5   20
 
#define OS_CONTEXT_R6   24
 
#define OS_CONTEXT_R7   28
 
#define OS_CONTEXT_R8   32
 
#define OS_CONTEXT_R9   36
 
#define OS_CONTEXT_R10   40
 
#define OS_CONTEXT_R11   44
 
#define OS_CONTEXT_R12   48
 
#define OS_CONTEXT_R13   52
 
#define OS_CONTEXT_R14   56
 
#define OS_CONTEXT_R15   60
 
#define OS_CONTEXT_R16   64
 
#define OS_CONTEXT_R17   68
 
#define OS_CONTEXT_R18   72
 
#define OS_CONTEXT_R19   76
 
#define OS_CONTEXT_R20   80
 
#define OS_CONTEXT_R21   84
 
#define OS_CONTEXT_R22   88
 
#define OS_CONTEXT_R23   92
 
#define OS_CONTEXT_R24   96
 
#define OS_CONTEXT_R25   100
 
#define OS_CONTEXT_R26   104
 
#define OS_CONTEXT_R27   108
 
#define OS_CONTEXT_R28   112
 
#define OS_CONTEXT_R29   116
 
#define OS_CONTEXT_R30   120
 
#define OS_CONTEXT_R31   124
 
#define OS_CONTEXT_CR   128
 
#define OS_CONTEXT_LR   132
 
#define OS_CONTEXT_CTR   136
 
#define OS_CONTEXT_XER   140
 
#define OS_CONTEXT_FPR0   144
 
#define OS_CONTEXT_FPR1   152
 
#define OS_CONTEXT_FPR2   160
 
#define OS_CONTEXT_FPR3   168
 
#define OS_CONTEXT_FPR4   176
 
#define OS_CONTEXT_FPR5   184
 
#define OS_CONTEXT_FPR6   192
 
#define OS_CONTEXT_FPR7   200
 
#define OS_CONTEXT_FPR8   208
 
#define OS_CONTEXT_FPR9   216
 
#define OS_CONTEXT_FPR10   224
 
#define OS_CONTEXT_FPR11   232
 
#define OS_CONTEXT_FPR12   240
 
#define OS_CONTEXT_FPR13   248
 
#define OS_CONTEXT_FPR14   256
 
#define OS_CONTEXT_FPR15   264
 
#define OS_CONTEXT_FPR16   272
 
#define OS_CONTEXT_FPR17   280
 
#define OS_CONTEXT_FPR18   288
 
#define OS_CONTEXT_FPR19   296
 
#define OS_CONTEXT_FPR20   304
 
#define OS_CONTEXT_FPR21   312
 
#define OS_CONTEXT_FPR22   320
 
#define OS_CONTEXT_FPR23   328
 
#define OS_CONTEXT_FPR24   336
 
#define OS_CONTEXT_FPR25   344
 
#define OS_CONTEXT_FPR26   352
 
#define OS_CONTEXT_FPR27   360
 
#define OS_CONTEXT_FPR28   368
 
#define OS_CONTEXT_FPR29   376
 
#define OS_CONTEXT_FPR30   384
 
#define OS_CONTEXT_FPR31   392
 
#define OS_CONTEXT_FPSCR   400
 
#define OS_CONTEXT_SRR0   408
 
#define OS_CONTEXT_SRR1   412
 
#define OS_CONTEXT_MODE   416
 
#define OS_CONTEXT_STATE   418
 
#define OS_CONTEXT_GQR0   420
 
#define OS_CONTEXT_GQR1   424
 
#define OS_CONTEXT_GQR2   428
 
#define OS_CONTEXT_GQR3   432
 
#define OS_CONTEXT_GQR4   436
 
#define OS_CONTEXT_GQR5   440
 
#define OS_CONTEXT_GQR6   444
 
#define OS_CONTEXT_GQR7   448
 
#define __OSCONTEXT_PADDING   452
 
#define OS_CONTEXT_PSF0   456
 
#define OS_CONTEXT_PSF1   464
 
#define OS_CONTEXT_PSF2   472
 
#define OS_CONTEXT_PSF3   480
 
#define OS_CONTEXT_PSF4   488
 
#define OS_CONTEXT_PSF5   496
 
#define OS_CONTEXT_PSF6   504
 
#define OS_CONTEXT_PSF7   512
 
#define OS_CONTEXT_PSF8   520
 
#define OS_CONTEXT_PSF9   528
 
#define OS_CONTEXT_PSF10   536
 
#define OS_CONTEXT_PSF11   544
 
#define OS_CONTEXT_PSF12   552
 
#define OS_CONTEXT_PSF13   560
 
#define OS_CONTEXT_PSF14   568
 
#define OS_CONTEXT_PSF15   576
 
#define OS_CONTEXT_PSF16   584
 
#define OS_CONTEXT_PSF17   592
 
#define OS_CONTEXT_PSF18   600
 
#define OS_CONTEXT_PSF19   608
 
#define OS_CONTEXT_PSF20   616
 
#define OS_CONTEXT_PSF21   624
 
#define OS_CONTEXT_PSF22   632
 
#define OS_CONTEXT_PSF23   640
 
#define OS_CONTEXT_PSF24   648
 
#define OS_CONTEXT_PSF25   656
 
#define OS_CONTEXT_PSF26   664
 
#define OS_CONTEXT_PSF27   672
 
#define OS_CONTEXT_PSF28   680
 
#define OS_CONTEXT_PSF29   688
 
#define OS_CONTEXT_PSF30   696
 
#define OS_CONTEXT_PSF31   704
 
#define OS_CONTEXT_STATE_EXC   0x02u
 
#define OS_CONTEXT_STATE_FPSAVED   0x01u
 

Functions

OSContext *OS_CURRENT_CONTEXT AT_ADDRESS (0x800000D4)
 
OSContext *OS_CURRENT_FPU_CONTEXT AT_ADDRESS (0x800000D8)
 
void OSSaveFPUContext (OSContext *)
 
void OSSetCurrentContext (OSContext *)
 
OSContextOSGetCurrentContext (void)
 
bool OSSaveContext (OSContext *)
 
void OSLoadContext (OSContext *)
 
void * OSGetStackPointer (void)
 
void OSSwitchFiber (void *, void *)
 
void OSSwitchFiberEx (u32, u32, u32, u32, void *, void *)
 
void OSClearContext (OSContext *)
 
void OSInitContext (OSContext *ctx, u32 pc, u32 newsp)
 
void OSDumpContext (const OSContext *)
 
void __OSContextInit (void)
 
void __OSLoadFPUContext (u32 _, OSContext *fpuctx)
 
void OSLoadFPUContext (OSContext *fpuctx)
 
void __OSSaveFPUContext (u32 unused1, u32 unused2, OSContext *fpuctx)
 

Macro Definition Documentation

◆ __OS_CONTEXT_FRAME

#define __OS_CONTEXT_FRAME   768

◆ OS_CONTEXT_R0

#define OS_CONTEXT_R0   0

◆ OS_CONTEXT_R1

#define OS_CONTEXT_R1   4

◆ OS_CONTEXT_R2

#define OS_CONTEXT_R2   8

◆ OS_CONTEXT_R3

#define OS_CONTEXT_R3   12

◆ OS_CONTEXT_R4

#define OS_CONTEXT_R4   16

◆ OS_CONTEXT_R5

#define OS_CONTEXT_R5   20

◆ OS_CONTEXT_R6

#define OS_CONTEXT_R6   24

◆ OS_CONTEXT_R7

#define OS_CONTEXT_R7   28

◆ OS_CONTEXT_R8

#define OS_CONTEXT_R8   32

◆ OS_CONTEXT_R9

#define OS_CONTEXT_R9   36

◆ OS_CONTEXT_R10

#define OS_CONTEXT_R10   40

◆ OS_CONTEXT_R11

#define OS_CONTEXT_R11   44

◆ OS_CONTEXT_R12

#define OS_CONTEXT_R12   48

◆ OS_CONTEXT_R13

#define OS_CONTEXT_R13   52

◆ OS_CONTEXT_R14

#define OS_CONTEXT_R14   56

◆ OS_CONTEXT_R15

#define OS_CONTEXT_R15   60

◆ OS_CONTEXT_R16

#define OS_CONTEXT_R16   64

◆ OS_CONTEXT_R17

#define OS_CONTEXT_R17   68

◆ OS_CONTEXT_R18

#define OS_CONTEXT_R18   72

◆ OS_CONTEXT_R19

#define OS_CONTEXT_R19   76

◆ OS_CONTEXT_R20

#define OS_CONTEXT_R20   80

◆ OS_CONTEXT_R21

#define OS_CONTEXT_R21   84

◆ OS_CONTEXT_R22

#define OS_CONTEXT_R22   88

◆ OS_CONTEXT_R23

#define OS_CONTEXT_R23   92

◆ OS_CONTEXT_R24

#define OS_CONTEXT_R24   96

◆ OS_CONTEXT_R25

#define OS_CONTEXT_R25   100

◆ OS_CONTEXT_R26

#define OS_CONTEXT_R26   104

◆ OS_CONTEXT_R27

#define OS_CONTEXT_R27   108

◆ OS_CONTEXT_R28

#define OS_CONTEXT_R28   112

◆ OS_CONTEXT_R29

#define OS_CONTEXT_R29   116

◆ OS_CONTEXT_R30

#define OS_CONTEXT_R30   120

◆ OS_CONTEXT_R31

#define OS_CONTEXT_R31   124

◆ OS_CONTEXT_CR

#define OS_CONTEXT_CR   128

◆ OS_CONTEXT_LR

#define OS_CONTEXT_LR   132

◆ OS_CONTEXT_CTR

#define OS_CONTEXT_CTR   136

◆ OS_CONTEXT_XER

#define OS_CONTEXT_XER   140

◆ OS_CONTEXT_FPR0

#define OS_CONTEXT_FPR0   144

◆ OS_CONTEXT_FPR1

#define OS_CONTEXT_FPR1   152

◆ OS_CONTEXT_FPR2

#define OS_CONTEXT_FPR2   160

◆ OS_CONTEXT_FPR3

#define OS_CONTEXT_FPR3   168

◆ OS_CONTEXT_FPR4

#define OS_CONTEXT_FPR4   176

◆ OS_CONTEXT_FPR5

#define OS_CONTEXT_FPR5   184

◆ OS_CONTEXT_FPR6

#define OS_CONTEXT_FPR6   192

◆ OS_CONTEXT_FPR7

#define OS_CONTEXT_FPR7   200

◆ OS_CONTEXT_FPR8

#define OS_CONTEXT_FPR8   208

◆ OS_CONTEXT_FPR9

#define OS_CONTEXT_FPR9   216

◆ OS_CONTEXT_FPR10

#define OS_CONTEXT_FPR10   224

◆ OS_CONTEXT_FPR11

#define OS_CONTEXT_FPR11   232

◆ OS_CONTEXT_FPR12

#define OS_CONTEXT_FPR12   240

◆ OS_CONTEXT_FPR13

#define OS_CONTEXT_FPR13   248

◆ OS_CONTEXT_FPR14

#define OS_CONTEXT_FPR14   256

◆ OS_CONTEXT_FPR15

#define OS_CONTEXT_FPR15   264

◆ OS_CONTEXT_FPR16

#define OS_CONTEXT_FPR16   272

◆ OS_CONTEXT_FPR17

#define OS_CONTEXT_FPR17   280

◆ OS_CONTEXT_FPR18

#define OS_CONTEXT_FPR18   288

◆ OS_CONTEXT_FPR19

#define OS_CONTEXT_FPR19   296

◆ OS_CONTEXT_FPR20

#define OS_CONTEXT_FPR20   304

◆ OS_CONTEXT_FPR21

#define OS_CONTEXT_FPR21   312

◆ OS_CONTEXT_FPR22

#define OS_CONTEXT_FPR22   320

◆ OS_CONTEXT_FPR23

#define OS_CONTEXT_FPR23   328

◆ OS_CONTEXT_FPR24

#define OS_CONTEXT_FPR24   336

◆ OS_CONTEXT_FPR25

#define OS_CONTEXT_FPR25   344

◆ OS_CONTEXT_FPR26

#define OS_CONTEXT_FPR26   352

◆ OS_CONTEXT_FPR27

#define OS_CONTEXT_FPR27   360

◆ OS_CONTEXT_FPR28

#define OS_CONTEXT_FPR28   368

◆ OS_CONTEXT_FPR29

#define OS_CONTEXT_FPR29   376

◆ OS_CONTEXT_FPR30

#define OS_CONTEXT_FPR30   384

◆ OS_CONTEXT_FPR31

#define OS_CONTEXT_FPR31   392

◆ OS_CONTEXT_FPSCR

#define OS_CONTEXT_FPSCR   400

◆ OS_CONTEXT_SRR0

#define OS_CONTEXT_SRR0   408

◆ OS_CONTEXT_SRR1

#define OS_CONTEXT_SRR1   412

◆ OS_CONTEXT_MODE

#define OS_CONTEXT_MODE   416

◆ OS_CONTEXT_STATE

#define OS_CONTEXT_STATE   418

◆ OS_CONTEXT_GQR0

#define OS_CONTEXT_GQR0   420

◆ OS_CONTEXT_GQR1

#define OS_CONTEXT_GQR1   424

◆ OS_CONTEXT_GQR2

#define OS_CONTEXT_GQR2   428

◆ OS_CONTEXT_GQR3

#define OS_CONTEXT_GQR3   432

◆ OS_CONTEXT_GQR4

#define OS_CONTEXT_GQR4   436

◆ OS_CONTEXT_GQR5

#define OS_CONTEXT_GQR5   440

◆ OS_CONTEXT_GQR6

#define OS_CONTEXT_GQR6   444

◆ OS_CONTEXT_GQR7

#define OS_CONTEXT_GQR7   448

◆ __OSCONTEXT_PADDING

#define __OSCONTEXT_PADDING   452

◆ OS_CONTEXT_PSF0

#define OS_CONTEXT_PSF0   456

◆ OS_CONTEXT_PSF1

#define OS_CONTEXT_PSF1   464

◆ OS_CONTEXT_PSF2

#define OS_CONTEXT_PSF2   472

◆ OS_CONTEXT_PSF3

#define OS_CONTEXT_PSF3   480

◆ OS_CONTEXT_PSF4

#define OS_CONTEXT_PSF4   488

◆ OS_CONTEXT_PSF5

#define OS_CONTEXT_PSF5   496

◆ OS_CONTEXT_PSF6

#define OS_CONTEXT_PSF6   504

◆ OS_CONTEXT_PSF7

#define OS_CONTEXT_PSF7   512

◆ OS_CONTEXT_PSF8

#define OS_CONTEXT_PSF8   520

◆ OS_CONTEXT_PSF9

#define OS_CONTEXT_PSF9   528

◆ OS_CONTEXT_PSF10

#define OS_CONTEXT_PSF10   536

◆ OS_CONTEXT_PSF11

#define OS_CONTEXT_PSF11   544

◆ OS_CONTEXT_PSF12

#define OS_CONTEXT_PSF12   552

◆ OS_CONTEXT_PSF13

#define OS_CONTEXT_PSF13   560

◆ OS_CONTEXT_PSF14

#define OS_CONTEXT_PSF14   568

◆ OS_CONTEXT_PSF15

#define OS_CONTEXT_PSF15   576

◆ OS_CONTEXT_PSF16

#define OS_CONTEXT_PSF16   584

◆ OS_CONTEXT_PSF17

#define OS_CONTEXT_PSF17   592

◆ OS_CONTEXT_PSF18

#define OS_CONTEXT_PSF18   600

◆ OS_CONTEXT_PSF19

#define OS_CONTEXT_PSF19   608

◆ OS_CONTEXT_PSF20

#define OS_CONTEXT_PSF20   616

◆ OS_CONTEXT_PSF21

#define OS_CONTEXT_PSF21   624

◆ OS_CONTEXT_PSF22

#define OS_CONTEXT_PSF22   632

◆ OS_CONTEXT_PSF23

#define OS_CONTEXT_PSF23   640

◆ OS_CONTEXT_PSF24

#define OS_CONTEXT_PSF24   648

◆ OS_CONTEXT_PSF25

#define OS_CONTEXT_PSF25   656

◆ OS_CONTEXT_PSF26

#define OS_CONTEXT_PSF26   664

◆ OS_CONTEXT_PSF27

#define OS_CONTEXT_PSF27   672

◆ OS_CONTEXT_PSF28

#define OS_CONTEXT_PSF28   680

◆ OS_CONTEXT_PSF29

#define OS_CONTEXT_PSF29   688

◆ OS_CONTEXT_PSF30

#define OS_CONTEXT_PSF30   696

◆ OS_CONTEXT_PSF31

#define OS_CONTEXT_PSF31   704

◆ OS_CONTEXT_STATE_EXC

#define OS_CONTEXT_STATE_EXC   0x02u

◆ OS_CONTEXT_STATE_FPSAVED

#define OS_CONTEXT_STATE_FPSAVED   0x01u

Function Documentation

◆ AT_ADDRESS() [1/2]

OSContext *OS_CURRENT_CONTEXT AT_ADDRESS ( 0x800000D4  )
extern

◆ AT_ADDRESS() [2/2]

OSContext *OS_CURRENT_FPU_CONTEXT AT_ADDRESS ( 0x800000D8  )
extern

◆ OSSaveFPUContext()

void OSSaveFPUContext ( OSContext fpuctx)

◆ OSSetCurrentContext()

void OSSetCurrentContext ( OSContext ctx)

◆ OSGetCurrentContext()

OSContext * OSGetCurrentContext ( void  )

◆ OSSaveContext()

bool OSSaveContext ( OSContext ctx)

◆ OSLoadContext()

void OSLoadContext ( OSContext ctx)

◆ OSGetStackPointer()

void * OSGetStackPointer ( void  )

◆ OSSwitchFiber()

void OSSwitchFiber ( void *  ,
void *   
)

◆ OSSwitchFiberEx()

void OSSwitchFiberEx ( u32  ,
u32  ,
u32  ,
u32  ,
void *  ,
void *   
)

◆ OSClearContext()

void OSClearContext ( OSContext )

◆ OSInitContext()

void OSInitContext ( OSContext ctx,
u32  pc,
u32  newsp 
)

◆ OSDumpContext()

void OSDumpContext ( const OSContext context)

◆ __OSContextInit()

void __OSContextInit ( void  )

◆ __OSLoadFPUContext()

void __OSLoadFPUContext ( u32  _,
OSContext fpuctx 
)

◆ OSLoadFPUContext()

void OSLoadFPUContext ( OSContext fpuctx)

◆ __OSSaveFPUContext()

void __OSSaveFPUContext ( u32  unused1,
u32  unused2,
OSContext fpuctx 
)