summaryrefslogtreecommitdiffstats
path: root/src/core/arm
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-06-05 06:20:11 +0200
committerbunnei <ericbunnie@gmail.com>2014-06-05 06:20:11 +0200
commit9ece9da50d7c7827b9eb3bb9cfb007fb4af07061 (patch)
treee4f644a5ca93dcf18bc5c81259a4db69ff139419 /src/core/arm
parentservice: added a error log messages for unimplemented WaitSynchronization (diff)
downloadyuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.tar
yuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.tar.gz
yuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.tar.bz2
yuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.tar.lz
yuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.tar.xz
yuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.tar.zst
yuzu-9ece9da50d7c7827b9eb3bb9cfb007fb4af07061.zip
Diffstat (limited to 'src/core/arm')
-rw-r--r--src/core/arm/interpreter/arm_interpreter.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.cpp b/src/core/arm/interpreter/arm_interpreter.cpp
index 2aa100e86..8030ec56a 100644
--- a/src/core/arm/interpreter/arm_interpreter.cpp
+++ b/src/core/arm/interpreter/arm_interpreter.cpp
@@ -118,6 +118,9 @@ void ARM_Interpreter::SaveContext(ThreadContext& ctx) {
ctx.fpscr = state->VFP[1];
ctx.fpexc = state->VFP[2];
+
+ ctx.reg_15 = state->Reg[15];
+ ctx.mode = state->NextInstr;
}
/**
@@ -137,8 +140,8 @@ void ARM_Interpreter::LoadContext(const ThreadContext& ctx) {
state->VFP[1] = ctx.fpscr;
state->VFP[2] = ctx.fpexc;
- state->Reg[15] = ctx.pc;
- state->NextInstr = RESUME;
+ state->Reg[15] = ctx.reg_15;
+ state->NextInstr = ctx.mode;
}
/// Prepare core for thread reschedule (if needed to correctly handle state)