diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index dafde83682..eee4726db0 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -42,6 +42,13 @@ public:
      */
     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
      * @return Returns the value of the CPSR register
@@ -59,11 +66,13 @@ public:
         return m_num_instructions;
     }
 
-private:
+protected:
     
     /// Execture next instruction
     virtual void ExecuteInstruction() = 0;
 
+private:
+
     u64 m_num_instructions;                     ///< Number of instructions executed
 
     DISALLOW_COPY_AND_ASSIGN(ARM_Interface);