From c3ffe8f9c3410521eba90e5bb3b2d6a683506731 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 6 Apr 2015 12:57:49 -0400 Subject: arm_interface: Support retrieval/storage to CP15 registers --- src/core/arm/arm_interface.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/core/arm/arm_interface.h') 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; @@ -73,6 +74,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 -- cgit v1.2.3