From c8255e7f323a58625992973f9777a9928947f310 Mon Sep 17 00:00:00 2001 From: red031000 Date: Thu, 7 May 2020 15:40:45 +0100 Subject: OS_terminate_proc --- arm9/lib/src/OS_reset.c | 2 +- arm9/lib/src/OS_terminate_proc.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 arm9/lib/src/OS_terminate_proc.c (limited to 'arm9/lib/src') diff --git a/arm9/lib/src/OS_reset.c b/arm9/lib/src/OS_reset.c index b12703da..bec2da22 100644 --- a/arm9/lib/src/OS_reset.c +++ b/arm9/lib/src/OS_reset.c @@ -5,13 +5,13 @@ #include "function_target.h" #include "OS_reset.h" #include "MB_mb.h" +#include "OS_terminate_proc.h" extern u16 OSi_IsInitReset; extern vu16 OSi_IsResetOccurred; extern void PXI_Init(); extern u32 PXI_IsCallbackReady(u32 param1, u32 param2); extern void PXI_SetFifoRecvCallback(u32 param1, void* callback); -extern void OS_Terminate(); extern u32 PXI_SendWordByFifo(u32 param1, u32 data, u32 param2); extern void CARD_LockRom(u16 lockId); extern u32 OS_GetLockID(); diff --git a/arm9/lib/src/OS_terminate_proc.c b/arm9/lib/src/OS_terminate_proc.c new file mode 100644 index 00000000..eb267c6b --- /dev/null +++ b/arm9/lib/src/OS_terminate_proc.c @@ -0,0 +1,21 @@ +// +// Created by red031000 on 2020-05-07. +// + +#include "types.h" +#include "OS_terminate_proc.h" +#include "function_target.h" +#include "OS_system.h" + +ARM_FUNC void OS_Terminate() { + while (TRUE) { + (void)OS_DisableInterrupts(); + OS_Halt(); + } +} + +ARM_FUNC asm void OS_Halt() { + mov r0, #0x0 + mcr p15, 0x0, r0, c7, c0, 0x4 + bx lr +} -- cgit v1.2.3