aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-05-11 22:14:13 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-05-11 22:14:13 -0400
commitce4d271a53e79814f66a46bd69a8970ea3849ee9 (patch)
treeaca31760727d3ab5bd2d7f28e2e0a3c743640b2a /src/core
parent6b264518a50ce21cb1be55ff3eac4e1c85582cfe (diff)
added option to set CPSR register to arm_interface
Diffstat (limited to 'src/core')
-rw-r--r--src/core/arm/arm_interface.h6
-rw-r--r--src/core/arm/interpreter/arm_interpreter.cpp8
-rw-r--r--src/core/arm/interpreter/arm_interpreter.h6
3 files changed, 20 insertions, 0 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 4dfe0570..602c91e3 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -56,6 +56,12 @@ public:
virtual u32 GetCPSR() const = 0;
/**
+ * Set the current CPSR register
+ * @param cpsr Value to set CPSR to
+ */
+ virtual void SetCPSR(u32 cpsr) = 0;
+
+ /**
* Returns the number of clock ticks since the last rese
* @return Returns number of clock ticks
*/
diff --git a/src/core/arm/interpreter/arm_interpreter.cpp b/src/core/arm/interpreter/arm_interpreter.cpp
index 4045779d..81147f2d 100644
--- a/src/core/arm/interpreter/arm_interpreter.cpp
+++ b/src/core/arm/interpreter/arm_interpreter.cpp
@@ -78,6 +78,14 @@ u32 ARM_Interpreter::GetCPSR() const {
}
/**
+ * Set the current CPSR register
+ * @param cpsr Value to set CPSR to
+ */
+void ARM_Interpreter::SetCPSR(u32 cpsr) {
+ m_state->Cpsr = cpsr;
+}
+
+/**
* Returns the number of clock ticks since the last reset
* @return Returns number of clock ticks
*/
diff --git a/src/core/arm/interpreter/arm_interpreter.h b/src/core/arm/interpreter/arm_interpreter.h
index 625c0c65..78b188be 100644
--- a/src/core/arm/interpreter/arm_interpreter.h
+++ b/src/core/arm/interpreter/arm_interpreter.h
@@ -49,6 +49,12 @@ public:
u32 GetCPSR() const;
/**
+ * Set the current CPSR register
+ * @param cpsr Value to set CPSR to
+ */
+ void SetCPSR(u32 cpsr);
+
+ /**
* Returns the number of clock ticks since the last reset
* @return Returns number of clock ticks
*/