SSBM Decomp
Loading...
Searching...
No Matches
OSContext.h File Reference
#include <dolphin/types.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

u32 OSGetStackPointer (void)
void OSDumpContext (OSContext *context)
void OSLoadContext (OSContext *context)
u32 OSSaveContext (OSContext *context)
void OSClearContext (OSContext *context)
OSContextOSGetCurrentContext (void)
void OSSetCurrentContext (OSContext *context)
void OSLoadFPUContext (OSContext *fpuContext)
void OSSaveFPUContext (OSContext *fpuContext)
u32 OSSwitchStack (u32 newsp)
int OSSwitchFiber (u32 pc, u32 newsp)
void OSInitContext (OSContext *context, u32 pc, u32 newsp)
void OSFillFPUContext (OSContext *context)

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

◆ OSGetStackPointer()

u32 OSGetStackPointer ( void )

◆ OSDumpContext()

void OSDumpContext ( OSContext * context)

◆ OSLoadContext()

void OSLoadContext ( OSContext * context)

◆ OSSaveContext()

u32 OSSaveContext ( OSContext * context)

◆ OSClearContext()

void OSClearContext ( OSContext * context)

◆ OSGetCurrentContext()

OSContext * OSGetCurrentContext ( void )

◆ OSSetCurrentContext()

void OSSetCurrentContext ( OSContext * context)

◆ OSLoadFPUContext()

void OSLoadFPUContext ( OSContext * fpuContext)

◆ OSSaveFPUContext()

void OSSaveFPUContext ( OSContext * fpuContext)

◆ OSSwitchStack()

u32 OSSwitchStack ( u32 newsp)

◆ OSSwitchFiber()

int OSSwitchFiber ( u32 pc,
u32 newsp )

◆ OSInitContext()

void OSInitContext ( OSContext * context,
u32 pc,
u32 newsp )

◆ OSFillFPUContext()

void OSFillFPUContext ( OSContext * context)