From 0dfb0011dd9d7e485ecbc8727f71d2f82b946930 Mon Sep 17 00:00:00 2001 From: red031000 Date: Sun, 24 May 2020 18:12:56 +0100 Subject: OS_protectionUnit.c --- arm9/lib/src/OS_protectionUnit.c | 21 +++++++++++++++++++++ arm9/lib/src/OS_reset.c | 6 +++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 arm9/lib/src/OS_protectionUnit.c (limited to 'arm9/lib/src') diff --git a/arm9/lib/src/OS_protectionUnit.c b/arm9/lib/src/OS_protectionUnit.c new file mode 100644 index 00000000..be57dcd6 --- /dev/null +++ b/arm9/lib/src/OS_protectionUnit.c @@ -0,0 +1,21 @@ +// +// Created by red031000 on 2020-05-24. +// + +#include "function_target.h" + +ARM_FUNC asm void OS_EnableProtectionUnit(void) +{ + mrc p15, 0x0, r0, c1, c0, 0x0 + orr r0, r0, #0x1 + mcr p15, 0x0, r0, c1, c0, 0x0 + bx lr +} + +ARM_FUNC asm void OS_DisableProtectionUnit(void) +{ + mrc p15, 0x0, r0, c1, c0, 0x0 + bic r0, r0, #0x1 + mcr p15, 0x0, r0, c1, c0, 0x0 + bx lr +} diff --git a/arm9/lib/src/OS_reset.c b/arm9/lib/src/OS_reset.c index 02498962..e051f6ff 100644 --- a/arm9/lib/src/OS_reset.c +++ b/arm9/lib/src/OS_reset.c @@ -11,15 +11,15 @@ static u16 OSi_IsInitReset = 0; vu16 OSi_IsResetOccurred = 0; -extern void PXI_Init(); +extern void PXI_Init(void); extern u32 PXI_IsCallbackReady(u32 param1, u32 param2); extern void PXI_SetFifoRecvCallback(u32 param1, void* callback); extern u32 PXI_SendWordByFifo(u32 param1, u32 data, u32 param2); extern void CARD_LockRom(u16 lockId); extern void MI_StopDma(u32 dma); -extern void OSi_DoResetSystem(); //in itcm, should technically be in this file +extern void OSi_DoResetSystem(void); //in itcm, should technically be in this file -ARM_FUNC void OS_InitReset() { +ARM_FUNC void OS_InitReset(void) { if (OSi_IsInitReset) { return; } -- cgit v1.2.3