// // Generated By: dol2asm // Translation Unit: OSInterrupt // #include "dolphin/os/OSInterrupt.h" #include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // extern "C" extern u8 __OSLastInterruptSrr0[4]; extern "C" extern u8 __OSLastInterrupt[2 + 6 /* padding */]; extern "C" extern u8 __OSLastInterruptTime[4]; extern "C" extern u8 data_80451684[4]; 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" static void __OSDispatchInterrupt(); extern "C" static void ExternalInterruptHandler(); extern "C" extern u8 __OSLastInterruptSrr0[4]; extern "C" extern u8 __OSLastInterrupt[2 + 6 /* padding */]; extern "C" extern u8 __OSLastInterruptTime[4]; extern "C" extern u8 data_80451684[4]; // // 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 000C+00 s=2 e=200 z=5 None .text OSDisableInterrupts */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void OSDisableInterrupts() { nofralloc #include "asm/dolphin/os/OSInterrupt/OSDisableInterrupts.s" } #pragma pop /* 8033D700-8033D708 0008+00 s=0 e=1 z=0 None .text __RAS_OSDisableInterrupts_end */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __RAS_OSDisableInterrupts_end() { nofralloc #include "asm/dolphin/os/OSInterrupt/__RAS_OSDisableInterrupts_end.s" } #pragma pop /* 8033D708-8033D71C 0014+00 s=0 e=10 z=1 None .text OSEnableInterrupts */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void OSEnableInterrupts() { nofralloc #include "asm/dolphin/os/OSInterrupt/OSEnableInterrupts.s" } #pragma pop /* 8033D71C-8033D740 0024+00 s=2 e=197 z=6 None .text OSRestoreInterrupts */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void OSRestoreInterrupts() { nofralloc #include "asm/dolphin/os/OSInterrupt/OSRestoreInterrupts.s" } #pragma pop /* ############################################################################################## */ /* 80451670-80451674 0004+00 s=4 e=0 z=0 None .sbss InterruptHandlerTable */ static u8 InterruptHandlerTable[4]; /* 8033D740-8033D75C 001C+00 s=0 e=12 z=0 None .text __OSSetInterruptHandler */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __OSSetInterruptHandler() { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSSetInterruptHandler.s" } #pragma pop /* 8033D75C-8033D770 0014+00 s=0 e=1 z=0 None .text __OSGetInterruptHandler */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __OSGetInterruptHandler() { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSGetInterruptHandler.s" } #pragma pop /* 8033D770-8033D7E4 0074+00 s=0 e=1 z=0 None .text __OSInterruptInit */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __OSInterruptInit() { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSInterruptInit.s" } #pragma pop /* 8033D7E4-8033DABC 02D8+00 s=2 e=0 z=0 None .text SetInterruptMask */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm static void SetInterruptMask() { nofralloc #include "asm/dolphin/os/OSInterrupt/SetInterruptMask.s" } #pragma pop /* 8033DABC-8033DB44 0088+00 s=1 e=15 z=0 None .text __OSMaskInterrupts */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __OSMaskInterrupts() { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSMaskInterrupts.s" } #pragma pop /* 8033DB44-8033DBCC 0088+00 s=0 e=18 z=0 None .text __OSUnmaskInterrupts */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm void __OSUnmaskInterrupts() { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSUnmaskInterrupts.s" } #pragma pop /* ############################################################################################## */ /* 803D0758-803D0788 002C+04 s=1 e=0 z=0 None .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 0004+00 s=1 e=1 z=0 None .sbss __OSLastInterruptSrr0 */ u8 __OSLastInterruptSrr0[4]; /* 80451678-80451680 0002+06 s=1 e=1 z=0 None .sbss __OSLastInterrupt */ u8 __OSLastInterrupt[2 + 6 /* padding */]; /* 80451680-80451684 0004+00 s=1 e=1 z=0 None .sbss __OSLastInterruptTime */ u8 __OSLastInterruptTime[4]; /* 80451684-80451688 0004+00 s=1 e=1 z=0 None .sbss None */ u8 data_80451684[4]; /* 8033DBCC-8033DF10 0344+00 s=1 e=0 z=0 None .text __OSDispatchInterrupt */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm static void __OSDispatchInterrupt() { nofralloc #include "asm/dolphin/os/OSInterrupt/__OSDispatchInterrupt.s" } #pragma pop /* 8033DF10-8033DF60 0050+00 s=1 e=0 z=0 None .text ExternalInterruptHandler */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off extern "C" asm static void ExternalInterruptHandler() { nofralloc #include "asm/dolphin/os/OSInterrupt/ExternalInterruptHandler.s" } #pragma pop