tp/libs/dolphin/os/OSExec.c

153 lines
4.0 KiB
C

//
// Generated By: dol2asm
// Translation Unit: OSExec
//
#include "dolphin/os/OSExec.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// External References:
//
SECTION_INIT void memset();
SECTION_INIT void memcpy();
void OSReport();
void OSSetArenaLo();
void OSAllocFromArenaLo();
void ICInvalidateRange();
void ICFlashInvalidate();
void OSDisableInterrupts();
void OSEnableInterrupts();
void __OSMaskInterrupts();
void __OSUnmaskInterrupts();
void OSGetSaveRegion();
void __OSDoHotReset();
void DVDInit();
void DVDReadAbsAsyncPrio();
void DVDCancelStreamAsync();
void DVDGetCommandBlockStatus();
void DVDSetAutoInvalidation();
void DVDResume();
void DVDGetCurrentDiskID();
void DVDCheckDisk();
void __DVDPrepareResetAsync();
void AISetStreamPlayState();
void AISetStreamVolLeft();
void AISetStreamVolRight();
void sprintf();
void strncmp();
void strcpy();
void strlen();
extern u8 __OSIsGcam[4];
//
// Declarations:
//
/* 8033CA80-8033CC08 3373C0 0188+00 1/1 0/0 0/0 .text PackArgs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm s32 PackArgs(void* param_0, u32 param_1, void* param_2) {
nofralloc
#include "asm/dolphin/os/OSExec/PackArgs.s"
}
#pragma pop
/* 8033CC08-8033CC44 337548 003C+00 1/1 0/0 0/0 .text Run */
static asm void Run(void) {
// clang-format off
nofralloc
mflr r0
stw r0, 4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
mr r31, r3
bl ICFlashInvalidate
sync
isync
mtlr r31
blr
lwz r0, 0x1c(r1)
lwz r31, 0x14(r1)
addi r1, r1, 0x18
mtlr r0
blr
// clang-format on
}
/* 8033CC44-8033CCB0 337584 006C+00 1/1 0/0 0/0 .text ReadDisc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void ReadDisc(void* param_0, s32 param_1, s32 param_2) {
nofralloc
#include "asm/dolphin/os/OSExec/ReadDisc.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451658-8045165C 000B58 0004+00 2/2 0/0 0/0 .sbss Prepared */
static BOOL Prepared;
/* 8033CCB0-8033CCBC 3375F0 000C+00 1/1 0/0 0/0 .text Callback */
static void Callback(void) {
Prepared = TRUE;
}
/* 8033CCBC-8033CCFC 3375FC 0040+00 0/0 1/1 0/0 .text __OSGetExecParams */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __OSGetExecParams(void* param_0) {
nofralloc
#include "asm/dolphin/os/OSExec/__OSGetExecParams.s"
}
#pragma pop
/* ############################################################################################## */
/* 8045165C-80451660 000B5C 0004+00 2/2 0/0 0/0 .sbss apploaderPosition$69 */
static s32 apploaderPosition;
/* 8033CCFC-8033CDC0 33763C 00C4+00 1/1 0/0 0/0 .text GetApploaderPosition */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void GetApploaderPosition(void) {
nofralloc
#include "asm/dolphin/os/OSExec/GetApploaderPosition.s"
}
#pragma pop
/* ############################################################################################## */
/* 803CFC38-803CFC48 02CD58 000B+05 1/1 0/0 0/0 .data @115 */
SECTION_DATA static char lit_115[] = "2004/02/01";
/* 8033CDC0-8033D244 337700 0484+00 1/1 0/0 0/0 .text __OSBootDolSimple */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __OSBootDolSimple(u32 param_0, u32 param_1, void* param_2, void* param_3, s32 param_4, u32 param_5, void* param_6) {
nofralloc
#include "asm/dolphin/os/OSExec/__OSBootDolSimple.s"
}
#pragma pop
/* ############################################################################################## */
/* 804509A8-804509B0 000428 0003+05 1/1 0/0 0/0 .sdata @213 */
SECTION_SDATA static char lit_213[] = "%d";
/* 8033D244-8033D3E0 337B84 019C+00 0/0 1/1 0/0 .text __OSBootDol */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __OSBootDol(s32 param_0, u32 param_1, s32 param_2) {
nofralloc
#include "asm/dolphin/os/OSExec/__OSBootDol.s"
}
#pragma pop