diff options
-rw-r--r-- | include/nitro/os_alloc.c | 2 | ||||
-rw-r--r-- | include/nitro/os_system.c | 16 | ||||
-rw-r--r-- | include/nitro/os_system.h | 7 |
3 files changed, 15 insertions, 10 deletions
diff --git a/include/nitro/os_alloc.c b/include/nitro/os_alloc.c index 022932ec..161f75a5 100644 --- a/include/nitro/os_alloc.c +++ b/include/nitro/os_alloc.c @@ -449,7 +449,7 @@ void OS_FreeToHeap(OSArenaId id, OSHeapHandle heap, void* ptr) { void* OS_AllocFromHeap(OSArenaId id, OSHeapHandle heap, u32 size) { #ifdef MATCH_ASM __asm { - + // TODO } #else OSHeapInfo* heapInfo; diff --git a/include/nitro/os_system.c b/include/nitro/os_system.c index 08ebeff9..e34c4781 100644 --- a/include/nitro/os_system.c +++ b/include/nitro/os_system.c @@ -4,14 +4,6 @@ #include "os_system.h" -OSProcMode OS_GetProcMode() { - __asm { - mrs r0, cpsr - and r0, r0, #HW_PSR_CPU_MODE_MASK - bx lr - } -} - OSIntrMode OS_DisableInterrupts() { __asm { mrs r0, cpsr @@ -32,3 +24,11 @@ OSIntrMode OS_RestoreInterrupts(OSIntrMode state) { bx lr } } + +OSProcMode OS_GetProcMode() { + __asm { + mrs r0, cpsr + and r0, r0, #HW_PSR_CPU_MODE_MASK + bx lr + } +}
\ No newline at end of file diff --git a/include/nitro/os_system.h b/include/nitro/os_system.h index 0c4e37d8..fc6a2f81 100644 --- a/include/nitro/os_system.h +++ b/include/nitro/os_system.h @@ -32,8 +32,13 @@ typedef union { OSIntrMode_Irq mode_irq; } OSIntrMode; -OSProcMode OS_GetProcMode(); +OSIntrMode OS_EnableInterrupts(); OSIntrMode OS_DisableInterrupts(); OSIntrMode OS_RestoreInterrupts(OSIntrMode state); +OSIntrMode OS_DisableInterrupts_IrqAndFiq(); +OSIntrMode OS_RestoreInterrupts_IrqAndFiq(OSIntrMode state); +OSIntrMode_Irq OS_GetCpsrIrq(); +OSProcMode OS_GetProcMode(); + #endif //POKEDIAMOND_OS_SYSTEM_H |