ARM: add ClearInstructionCache function
This commit is contained in:
		@@ -32,6 +32,9 @@ public:
 | 
			
		||||
        Run(1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Clear all instruction cache
 | 
			
		||||
    virtual void ClearInstructionCache() = 0;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the Program Counter to an address
 | 
			
		||||
     * @param addr Address to set PC to
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
#include "core/arm/dyncom/arm_dyncom.h"
 | 
			
		||||
#include "core/arm/dyncom/arm_dyncom_interpreter.h"
 | 
			
		||||
#include "core/arm/dyncom/arm_dyncom_run.h"
 | 
			
		||||
#include "core/arm/dyncom/arm_dyncom_trans.h"
 | 
			
		||||
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/core_timing.h"
 | 
			
		||||
@@ -23,6 +24,11 @@ ARM_DynCom::ARM_DynCom(PrivilegeMode initial_mode) {
 | 
			
		||||
ARM_DynCom::~ARM_DynCom() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ARM_DynCom::ClearInstructionCache() {
 | 
			
		||||
    state->instruction_cache.clear();
 | 
			
		||||
    trans_cache_buf_top = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ARM_DynCom::SetPC(u32 pc) {
 | 
			
		||||
    state->Reg[15] = pc;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,8 @@ public:
 | 
			
		||||
    ARM_DynCom(PrivilegeMode initial_mode);
 | 
			
		||||
    ~ARM_DynCom();
 | 
			
		||||
 | 
			
		||||
    void ClearInstructionCache() override;
 | 
			
		||||
 | 
			
		||||
    void SetPC(u32 pc) override;
 | 
			
		||||
    u32 GetPC() const override;
 | 
			
		||||
    u32 GetReg(int index) const override;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user