mirror of https://github.com/zeldaret/tp.git
236 lines
5.9 KiB
C++
236 lines
5.9 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: OSInterrupt
|
|
//
|
|
|
|
#include "dolphin/os/OSInterrupt.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" void OSDisableInterrupts();
|
|
extern "C" void __RAS_OSDisableInterrupts_end();
|
|
extern "C" void OSEnableInterrupts();
|
|
extern "C" void OSRestoreInterrupts();
|
|
extern "C" void __OSSetInterruptHandler();
|
|
extern "C" void __OSGetInterruptHandler();
|
|
extern "C" void __OSInterruptInit();
|
|
extern "C" static void SetInterruptMask();
|
|
extern "C" void __OSMaskInterrupts();
|
|
extern "C" void __OSUnmaskInterrupts();
|
|
extern "C" void __OSDispatchInterrupt();
|
|
extern "C" static void ExternalInterruptHandler();
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
SECTION_INIT void memset();
|
|
extern "C" void __OSSetExceptionHandler();
|
|
extern "C" void OSLoadContext();
|
|
extern "C" void OSDisableScheduler();
|
|
extern "C" void OSEnableScheduler();
|
|
extern "C" void __OSReschedule();
|
|
extern "C" void OSGetTime();
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* 8033D6F4-8033D700 338034 000C+00 2/2 200/200 5/5 .text OSDisableInterrupts */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void OSDisableInterrupts() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033D700-8033D708 338040 0008+00 0/0 1/1 0/0 .text __RAS_OSDisableInterrupts_end */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __RAS_OSDisableInterrupts_end() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033D708-8033D71C 338048 0014+00 0/0 10/10 1/1 .text OSEnableInterrupts */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void OSEnableInterrupts() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033D71C-8033D740 33805C 0024+00 2/2 197/197 6/6 .text OSRestoreInterrupts */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void OSRestoreInterrupts() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80451670-80451674 000B70 0004+00 4/4 0/0 0/0 .sbss InterruptHandlerTable */
|
|
static u8 InterruptHandlerTable[4];
|
|
|
|
/* 8033D740-8033D75C 338080 001C+00 0/0 12/12 0/0 .text __OSSetInterruptHandler */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __OSSetInterruptHandler() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033D75C-8033D770 33809C 0014+00 0/0 1/1 0/0 .text __OSGetInterruptHandler */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __OSGetInterruptHandler() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033D770-8033D7E4 3380B0 0074+00 0/0 1/1 0/0 .text __OSInterruptInit */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __OSInterruptInit() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__OSInterruptInit.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033D7E4-8033DABC 338124 02D8+00 2/2 0/0 0/0 .text SetInterruptMask */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void SetInterruptMask() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/SetInterruptMask.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033DABC-8033DB44 3383FC 0088+00 1/1 15/15 0/0 .text __OSMaskInterrupts */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __OSMaskInterrupts() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__OSMaskInterrupts.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033DB44-8033DBCC 338484 0088+00 0/0 18/18 0/0 .text __OSUnmaskInterrupts */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __OSUnmaskInterrupts() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__OSUnmaskInterrupts.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803D0758-803D0788 02D878 002C+04 1/1 0/0 0/0 .data InterruptPrioTable */
|
|
SECTION_DATA static u8 InterruptPrioTable[44 + 4 /* padding */] = {
|
|
0x00,
|
|
0x00,
|
|
0x01,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x40,
|
|
0xF8,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x02,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x80,
|
|
0x00,
|
|
0x00,
|
|
0x30,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x20,
|
|
0x03,
|
|
0xFF,
|
|
0x8C,
|
|
0x00,
|
|
0x04,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x40,
|
|
0x00,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
0xFF,
|
|
/* padding */
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
0x00,
|
|
};
|
|
|
|
/* 80451674-80451678 000B74 0004+00 1/1 1/1 0/0 .sbss __OSLastInterruptSrr0 */
|
|
extern u8 __OSLastInterruptSrr0[4];
|
|
u8 __OSLastInterruptSrr0[4];
|
|
|
|
/* 80451678-80451680 000B78 0002+06 1/1 1/1 0/0 .sbss __OSLastInterrupt */
|
|
extern u8 __OSLastInterrupt[2 + 6 /* padding */];
|
|
u8 __OSLastInterrupt[2 + 6 /* padding */];
|
|
|
|
/* 80451680-80451684 000B80 0004+00 1/1 1/1 0/0 .sbss __OSLastInterruptTime */
|
|
extern u8 __OSLastInterruptTime[4];
|
|
u8 __OSLastInterruptTime[4];
|
|
|
|
/* 80451684-80451688 000B84 0004+00 1/1 1/1 0/0 .sbss None */
|
|
extern u8 data_80451684[4];
|
|
u8 data_80451684[4];
|
|
|
|
/* 8033DBCC-8033DF10 33850C 0344+00 1/1 0/0 0/0 .text __OSDispatchInterrupt */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void __OSDispatchInterrupt() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8033DF10-8033DF60 338850 0050+00 1/1 0/0 0/0 .text ExternalInterruptHandler */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void ExternalInterruptHandler() {
|
|
nofralloc
|
|
#include "asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s"
|
|
}
|
|
#pragma pop
|