summaryrefslogtreecommitdiff
path: root/src/core/arm/dyncom
diff options
context:
space:
mode:
authorGravatar Lioncash2015-04-06 12:57:49 -0400
committerGravatar Lioncash2015-04-06 12:57:49 -0400
commitc3ffe8f9c3410521eba90e5bb3b2d6a683506731 (patch)
tree0820f6da937608e2a9a91b3b73cc6e75c3ae44dc /src/core/arm/dyncom
parentMove CP15 enum definitions into their own enum. (diff)
downloadyuzu-c3ffe8f9c3410521eba90e5bb3b2d6a683506731.tar.gz
yuzu-c3ffe8f9c3410521eba90e5bb3b2d6a683506731.tar.xz
yuzu-c3ffe8f9c3410521eba90e5bb3b2d6a683506731.zip
arm_interface: Support retrieval/storage to CP15 registers
Diffstat (limited to 'src/core/arm/dyncom')
-rw-r--r--src/core/arm/dyncom/arm_dyncom.cpp8
-rw-r--r--src/core/arm/dyncom/arm_dyncom.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp
index cb1a410a0..1b1d01420 100644
--- a/src/core/arm/dyncom/arm_dyncom.cpp
+++ b/src/core/arm/dyncom/arm_dyncom.cpp
@@ -68,6 +68,14 @@ void ARM_DynCom::SetCPSR(u32 cpsr) {
68 state->Cpsr = cpsr; 68 state->Cpsr = cpsr;
69} 69}
70 70
71u32 ARM_DynCom::GetCP15Register(CP15Register reg) {
72 return state->CP15[reg];
73}
74
75void ARM_DynCom::SetCP15Register(CP15Register reg, u32 value) {
76 state->CP15[reg] = value;
77}
78
71void ARM_DynCom::AddTicks(u64 ticks) { 79void ARM_DynCom::AddTicks(u64 ticks) {
72 down_count -= ticks; 80 down_count -= ticks;
73 if (down_count < 0) 81 if (down_count < 0)
diff --git a/src/core/arm/dyncom/arm_dyncom.h b/src/core/arm/dyncom/arm_dyncom.h
index a7f95d307..822b3bbb9 100644
--- a/src/core/arm/dyncom/arm_dyncom.h
+++ b/src/core/arm/dyncom/arm_dyncom.h
@@ -22,6 +22,8 @@ public:
22 void SetReg(int index, u32 value) override; 22 void SetReg(int index, u32 value) override;
23 u32 GetCPSR() const override; 23 u32 GetCPSR() const override;
24 void SetCPSR(u32 cpsr) override; 24 void SetCPSR(u32 cpsr) override;
25 u32 GetCP15Register(CP15Register reg) override;
26 void SetCP15Register(CP15Register reg, u32 value) override;
25 27
26 void AddTicks(u64 ticks) override; 28 void AddTicks(u64 ticks) override;
27 29