aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/interpreter/arm_interpreter.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2014-05-26 20:52:00 -0400
committerbunnei <bunneidev@gmail.com>2014-05-26 20:52:00 -0400
commit6448c2f30062c085330ff26a4812c9a91c7b492c (patch)
tree386e32cf3ec053491fb8dfd8459a1c92553241d9 /src/core/arm/interpreter/arm_interpreter.h
parent74f972651566bdd1266115fc9dd9a1b652f8dbec (diff)
parent0aa582bf89c3e3e479540b706511590636870912 (diff)
Merge pull request #9 from bunnei/master
Add initial kernel HLE, includes thread creation and context switching
Diffstat (limited to 'src/core/arm/interpreter/arm_interpreter.h')
-rw-r--r--src/core/arm/interpreter/arm_interpreter.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.h b/src/core/arm/interpreter/arm_interpreter.h
index 509025080..6a531e497 100644
--- a/src/core/arm/interpreter/arm_interpreter.h
+++ b/src/core/arm/interpreter/arm_interpreter.h
@@ -49,11 +49,29 @@ 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
*/
u64 GetTicks() const;
+ /**
+ * Saves the current CPU context
+ * @param ctx Thread context to save
+ */
+ void SaveContext(ThreadContext& ctx);
+
+ /**
+ * Loads a CPU context
+ * @param ctx Thread context to load
+ */
+ void LoadContext(const ThreadContext& ctx);
+
protected:
/**
@@ -64,6 +82,6 @@ protected:
private:
- ARMul_State* m_state;
+ ARMul_State* state;
};