diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/nitro/OS_alloc_shared.h | 40 | ||||
-rw-r--r-- | include/nitro/consts_shared.h | 5 |
2 files changed, 45 insertions, 0 deletions
diff --git a/include/nitro/OS_alloc_shared.h b/include/nitro/OS_alloc_shared.h new file mode 100644 index 00000000..cf92032a --- /dev/null +++ b/include/nitro/OS_alloc_shared.h @@ -0,0 +1,40 @@ +/* + * NOTE: + * This file is shared between ARM9 and ARM7 + * DO NOT PUT PROC SPECIFIC CODE IN HERE + * Thank You! + */ + +/* + * DO NOT INCLUDE THIS FILE DIRECTLY + * Include OS_alloc.h from the specific proc's lib + */ + +#ifndef POKEDIAMOND_OS_ALLOC_SHARED_H +#define POKEDIAMOND_OS_ALLOC_SHARED_H + +typedef s32 OSHeapHandle; + +typedef struct Cell Cell; + +struct Cell { + Cell* prev; + Cell* next; + long size; +}; + +typedef struct { + long size; + Cell *free; + Cell *allocated; +} HeapDesc; + +typedef struct { + volatile OSHeapHandle currentHeap; + int numHeaps; + void* arenaStart; + void* arenaEnd; + HeapDesc* heapArray; +} OSHeapInfo; + +#endif //POKEDIAMOND_OS_ALLOC_SHARED_H diff --git a/include/nitro/consts_shared.h b/include/nitro/consts_shared.h index a7fd9dcf..151212d1 100644 --- a/include/nitro/consts_shared.h +++ b/include/nitro/consts_shared.h @@ -24,6 +24,11 @@ #define HW_PSR_DISABLE_IRQ 0x80 // Disable IRQ #define HW_PSR_DISABLE_IRQ_FIQ 0xc0 // Disable FIQ and IRQ +#define OSi_ROUND(n, a) (((u32) (n) + (a) - 1) & ~((a) - 1)) +#define OSi_TRUNC(n, a) (((u32) (n)) & ~((a) - 1)) +#define OSi_InRange(targ, a, b) ((u32)(a) <= (u32)(targ) && (u32)(targ) < (u32)(b)) +#define OSi_OFFSET(n, a) (((u32) (n)) & ((a) - 1)) + #define OSi_GetArenaInfo() (*(OSArenaInfo*)HW_ARENA_INFO_BUF) #endif //POKEDIAMOND_CONSTS_SHARED_H |