aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/arm/arm_interface.h
diff options
context:
space:
mode:
authorGravatar Lioncash <mathew1800@gmail.com>2015-04-06 12:57:49 -0400
committerGravatar Lioncash <mathew1800@gmail.com>2015-04-06 12:57:49 -0400
commitc3ffe8f9c3410521eba90e5bb3b2d6a683506731 (patch)
tree0820f6da937608e2a9a91b3b73cc6e75c3ae44dc /src/core/arm/arm_interface.h
parentb7b8b676202eaeced392dea06e2c3fcc4bd11aec (diff)
arm_interface: Support retrieval/storage to CP15 registers
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 fe1e584a..31066377 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
*/