diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2020-07-27 12:43:27 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-27 12:43:27 -0400 |
commit | d9ea992246a6d29133fc5accb03cfb8dcc4665f6 (patch) | |
tree | 3f83a35da657e9755da5b2afc4f8c7983d3ded6b /arm7 | |
parent | bb6d2a9a3178b421ed5c6cb738e93257834d1f54 (diff) | |
parent | be7f72c950c6ce67b2c6416af90628a9d5ddc0da (diff) |
Merge pull request #246 from red031000/master
arm 7 shiftable + arm9 OS_mutex
Diffstat (limited to 'arm7')
-rw-r--r-- | arm7/asm/itcm.s | 10 | ||||
-rw-r--r-- | arm7/lib/include/OS_thread.h | 11 | ||||
-rw-r--r-- | arm7/lib/src/OS_thread.c | 12 |
3 files changed, 17 insertions, 16 deletions
diff --git a/arm7/asm/itcm.s b/arm7/asm/itcm.s index 48ed9199..ac320e6c 100644 --- a/arm7/asm/itcm.s +++ b/arm7/asm/itcm.s @@ -20,10 +20,10 @@ _027E0014: cmp r1, #100663296 ; 0x6000000 bne _027E00AC ldr r3, _027E00CC ; =0x027E00DC - ldr r0, _027E00D0 ; =0x0380A3F4 + ldr r0, _027E00D0 ; =_0380A3F4 str r3, [r0] add r2, r5, r4 - ldr r0, _027E00D4 ; =0x0380A3FC + ldr r0, _027E00D4 ; =_0380A3FC str r2, [r0] ldr r1, _027E00D8 ; =0x027FAFCC add r0, r3, r2 @@ -31,7 +31,7 @@ _027E0014: beq _027E0060 bl OS_Terminate _027E0060: - ldr r0, _027E00D0 ; =0x0380A3F4 + ldr r0, _027E00D0 ; =_0380A3F4 ldr r3, [r0] mov r2, #0 mov r1, r5, lsr #2 @@ -66,6 +66,6 @@ _027E00C0: .word 0x023801B0 _027E00C4: .word 0x023A92F8 _027E00C8: .word 0x023A931C _027E00CC: .word 0x027E00DC -_027E00D0: .word 0x0380A3F4 -_027E00D4: .word 0x0380A3FC +_027E00D0: .word _0380A3F4 +_027E00D4: .word _0380A3FC _027E00D8: .word 0x027FAFCC diff --git a/arm7/lib/include/OS_thread.h b/arm7/lib/include/OS_thread.h index b1d3a01b..701acc94 100644 --- a/arm7/lib/include/OS_thread.h +++ b/arm7/lib/include/OS_thread.h @@ -4,20 +4,10 @@ #include "OS_context.h" #include "nitro/OS_thread_shared.h" -static s32 OSi_GetUnusedThreadId(void); -static void OSi_InsertLinkToQueue(OSThreadQueue *queue, OSThread *thread); -static OSThread *OSi_RemoveLinkFromQueue(OSThreadQueue *queue); -static OSThread *OSi_RemoveSpecifiedLinkFromQueue(OSThreadQueue *queue, OSThread *thread); OSMutex *OSi_RemoveMutexLinkFromQueue(OSMutexQueue *queue); -static void OSi_InsertThreadToList(OSThread *thread); -static void OSi_RemoveThreadFromList(OSThread *thread); -static void OSi_RescheduleThread(void); void OS_InitThread(void); void OS_CreateThread(OSThread *thread, void (*func) (void *), void *arg, void *stack, u32 stackSize, u32 prio); void OS_ExitThread(void); -static void OSi_ExitThread_ArgSpecified(OSThread *thread, void *arg); -static void OSi_ExitThread(void *arg); -static void OSi_ExitThread_Destroy(void); void OS_JoinThread(OSThread *thread); BOOL OS_IsThreadTerminated(const OSThread *thread); void OS_SleepThread(OSThreadQueue *queue); @@ -27,7 +17,6 @@ OSThread *OS_SelectThread(void); void OS_RescheduleThread(void); BOOL OS_SetThreadPriority(OSThread *thread, u32 prio); void OS_Sleep(u32 msec); -static void OSi_SleepAlarmCallback(void *arg); OSSwitchThreadCallback OS_SetSwitchThreadCallback(OSSwitchThreadCallback callback); u32 OS_DisableScheduler(void); u32 OS_EnableScheduler(void); diff --git a/arm7/lib/src/OS_thread.c b/arm7/lib/src/OS_thread.c index be3f611d..6db0b4f7 100644 --- a/arm7/lib/src/OS_thread.c +++ b/arm7/lib/src/OS_thread.c @@ -29,6 +29,18 @@ static s32 OSi_ThreadIdCount = 0; OSThread OSi_LauncherThread; OSThread OSi_IdleThread; +static s32 OSi_GetUnusedThreadId(void); +static void OSi_InsertLinkToQueue(OSThreadQueue *queue, OSThread *thread); +static OSThread *OSi_RemoveLinkFromQueue(OSThreadQueue *queue); +static OSThread *OSi_RemoveSpecifiedLinkFromQueue(OSThreadQueue *queue, OSThread *thread); +static void OSi_InsertThreadToList(OSThread *thread); +static void OSi_RemoveThreadFromList(OSThread *thread); +static void OSi_RescheduleThread(void); +static void OSi_ExitThread_ArgSpecified(OSThread *thread, void *arg); +static void OSi_ExitThread(void *arg); +static void OSi_ExitThread_Destroy(void); +static void OSi_SleepAlarmCallback(void *arg); + ARM_FUNC static s32 OSi_GetUnusedThreadId(void) { return ++OSi_ThreadIdCount; |