diff options
| author | 2014-05-22 18:47:42 -0400 | |
|---|---|---|
| committer | 2014-05-22 18:47:42 -0400 | |
| commit | 481d936d34c595b994f48b00819bb2c4bcfa7e57 (patch) | |
| tree | 8fdfe8c688075e8de5f094b05b31cafa70510b6f /src | |
| parent | thread: fixed bug where result of __NextThread was not being properly checked... (diff) | |
| download | yuzu-481d936d34c595b994f48b00819bb2c4bcfa7e57.tar.gz yuzu-481d936d34c595b994f48b00819bb2c4bcfa7e57.tar.xz yuzu-481d936d34c595b994f48b00819bb2c4bcfa7e57.zip | |
arm_interpreter: fixed load context to currently resume a thread
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/arm/interpreter/arm_interpreter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.cpp b/src/core/arm/interpreter/arm_interpreter.cpp index a9ec94820..17f787b86 100644 --- a/src/core/arm/interpreter/arm_interpreter.cpp +++ b/src/core/arm/interpreter/arm_interpreter.cpp | |||
| @@ -115,7 +115,7 @@ void ARM_Interpreter::SaveContext(ThreadContext& ctx) { | |||
| 115 | ctx.lr = state->Reg[14]; | 115 | ctx.lr = state->Reg[14]; |
| 116 | ctx.pc = state->pc; | 116 | ctx.pc = state->pc; |
| 117 | ctx.cpsr = state->Cpsr; | 117 | ctx.cpsr = state->Cpsr; |
| 118 | 118 | ||
| 119 | ctx.fpscr = state->VFP[1]; | 119 | ctx.fpscr = state->VFP[1]; |
| 120 | ctx.fpexc = state->VFP[2]; | 120 | ctx.fpexc = state->VFP[2]; |
| 121 | } | 121 | } |
| @@ -136,4 +136,7 @@ void ARM_Interpreter::LoadContext(const ThreadContext& ctx) { | |||
| 136 | 136 | ||
| 137 | state->VFP[1] = ctx.fpscr; | 137 | state->VFP[1] = ctx.fpscr; |
| 138 | state->VFP[2] = ctx.fpexc; | 138 | state->VFP[2] = ctx.fpexc; |
| 139 | |||
| 140 | state->Reg[15] = ctx.pc; | ||
| 141 | state->NextInstr = RESUME; | ||
| 139 | } | 142 | } |