summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/arm/interpreter/arminit.cpp8
-rw-r--r--src/core/core.cpp5
2 files changed, 5 insertions, 8 deletions
diff --git a/src/core/arm/interpreter/arminit.cpp b/src/core/arm/interpreter/arminit.cpp
index 7254a16f3..1d732fe84 100644
--- a/src/core/arm/interpreter/arminit.cpp
+++ b/src/core/arm/interpreter/arminit.cpp
@@ -139,16 +139,8 @@ void ARMul_Reset(ARMul_State* state)
state->Bank = SVCBANK;
FLUSHPIPE;
- // Reset CP15
ResetMPCoreCP15Registers(state);
- // This is separate from the CP15 register reset function, as
- // this isn't an ARM-defined reset value; it's set by the 3DS.
- //
- // TODO: Whenever TLS is implemented, this should contain
- // the address of the 0x200-byte TLS
- state->CP15[CP15_THREAD_URO] = Memory::KERNEL_MEMORY_VADDR;
-
state->EndCondition = 0;
state->ErrorCode = 0;
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 15787bc17..81e642318 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -7,6 +7,7 @@
#include "core/core.h"
#include "core/core_timing.h"
+#include "core/mem_map.h"
#include "core/settings.h"
#include "core/arm/arm_interface.h"
#include "core/arm/disassembler/arm_disasm.h"
@@ -59,6 +60,10 @@ int Init() {
g_sys_core = new ARM_DynCom(USER32MODE);
g_app_core = new ARM_DynCom(USER32MODE);
+ // TODO: Whenever TLS is implemented, this should contain
+ // the address of the 0x200-byte TLS
+ g_app_core->SetCP15Register(CP15_THREAD_URO, Memory::KERNEL_MEMORY_VADDR);
+
LOG_DEBUG(Core, "Initialized OK");
return 0;
}