aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/arm_interface.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-04-06 15:06:07 -0400
committerbunnei <bunneidev@gmail.com>2015-04-06 15:06:07 -0400
commit14dcd986535c681601d6f255899157aff021a5d2 (patch)
treefb35f0b8444122438dcdf41b4a3b0bf32e4d7d29 /src/core/arm/arm_interface.h
parent8d7a77a1d4e8c7d46976bf025031f454c51ef9c1 (diff)
parent8004d35ea163b621ea3f3d4333f2c58ec926d7c9 (diff)
Merge pull request #685 from lioncash/cpregs
dyncom: Set the MPCore CP15 register reset values on initialization.
Diffstat (limited to 'src/core/arm/arm_interface.h')
-rw-r--r--src/core/arm/arm_interface.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index fe1e584ad..310663774 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -6,6 +6,7 @@
#include "common/common.h"
#include "common/common_types.h"
+#include "core/arm/skyeye_common/arm_regformat.h"
namespace Core {
struct ThreadContext;
@@ -74,6 +75,20 @@ public:
virtual void SetCPSR(u32 cpsr) = 0;
/**
+ * Gets the value stored in a CP15 register.
+ * @param reg The CP15 register to retrieve the value from.
+ * @return the value stored in the given CP15 register.
+ */
+ virtual u32 GetCP15Register(CP15Register reg) = 0;
+
+ /**
+ * Stores the given value into the indicated CP15 register.
+ * @param reg The CP15 register to store the value into.
+ * @param value The value to store into the CP15 register.
+ */
+ virtual void SetCP15Register(CP15Register reg, u32 value) = 0;
+
+ /**
* Advance the CPU core by the specified number of ticks (e.g. to simulate CPU execution time)
* @param ticks Number of ticks to advance the CPU core
*/