aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/arm/dyncom/arm_dyncom.cpp
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2014-11-09 17:00:59 -0500
committerGravatar bunnei <bunneidev@gmail.com>2014-11-11 19:54:18 -0500
commitb8e6f52419816a7afa6629c401c23faf8ae8ae67 (patch)
tree6caa9a609493f968b2a9f744f78b9aba8b887f6e /src/core/arm/dyncom/arm_dyncom.cpp
parentce1125d49099d0f42ccca53ba89fe3263912ae56 (diff)
ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).
- Fixes single stepping in debugger.
Diffstat (limited to 'src/core/arm/dyncom/arm_dyncom.cpp')
-rw-r--r--src/core/arm/dyncom/arm_dyncom.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp
index 0b5dcccb..a3ed3e31 100644
--- a/src/core/arm/dyncom/arm_dyncom.cpp
+++ b/src/core/arm/dyncom/arm_dyncom.cpp
@@ -60,7 +60,7 @@ void ARM_DynCom::SetPC(u32 pc) {
* @return Returns current PC
*/
u32 ARM_DynCom::GetPC() const {
- return state->pc;
+ return state->Reg[15];
}
/**
@@ -129,7 +129,7 @@ void ARM_DynCom::SaveContext(ThreadContext& ctx) {
ctx.sp = state->Reg[13];
ctx.lr = state->Reg[14];
- ctx.pc = state->pc;
+ ctx.pc = state->Reg[15];
ctx.cpsr = state->Cpsr;
ctx.fpscr = state->VFP[1];