diff options
| author | Revo <projectrevotpp@hotmail.com> | 2020-06-11 15:26:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-11 15:26:48 -0400 |
| commit | e2d7f9f796889087a3da50f7eeb2383731ca3262 (patch) | |
| tree | 7b33b62505f843f9c898d3c95ab79f73f552141f /include/nitro | |
| parent | eff79df215fc70712bbb396126d74aa07c8d4a91 (diff) | |
| parent | 01a4752a7e17ddc14de83fff9c03048f73c97788 (diff) | |
Merge pull request #158 from red031000/master
arm7 OS_alloc
Diffstat (limited to 'include/nitro')
| -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 |
