|
|
@ -42,6 +42,13 @@ public:
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
virtual u32 GetReg(int index) const = 0;
|
|
|
|
virtual u32 GetReg(int index) const = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set an ARM register
|
|
|
|
|
|
|
|
* @param index Register index (0-15)
|
|
|
|
|
|
|
|
* @param value Value to set register to
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
virtual void SetReg(int index, u32 value) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Get the current CPSR register
|
|
|
|
* Get the current CPSR register
|
|
|
|
* @return Returns the value of the CPSR register
|
|
|
|
* @return Returns the value of the CPSR register
|
|
|
@ -59,11 +66,13 @@ public:
|
|
|
|
return m_num_instructions;
|
|
|
|
return m_num_instructions;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
/// Execture next instruction
|
|
|
|
/// Execture next instruction
|
|
|
|
virtual void ExecuteInstruction() = 0;
|
|
|
|
virtual void ExecuteInstruction() = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
u64 m_num_instructions; ///< Number of instructions executed
|
|
|
|
u64 m_num_instructions; ///< Number of instructions executed
|
|
|
|
|
|
|
|
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(ARM_Interface);
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(ARM_Interface);
|
|
|
|