diff --git a/src/arch/arm/isa.hh b/src/arch/arm/isa.hh index e7929b0132..fa56d6909a 100644 --- a/src/arch/arm/isa.hh +++ b/src/arch/arm/isa.hh @@ -164,7 +164,7 @@ namespace ArmISA const RegId &mapIntRegId(RegIndex idx) const { return intRegMap[idx]; } public: - void clear(); + void clear() override; protected: void clear32(const ArmISAParams &p, const SCTLR &sctlr_rst); diff --git a/src/arch/generic/isa.hh b/src/arch/generic/isa.hh index 32a4107445..9b6d70267b 100644 --- a/src/arch/generic/isa.hh +++ b/src/arch/generic/isa.hh @@ -68,6 +68,8 @@ class BaseISA : public SimObject public: virtual PCStateBase *newPCState(Addr new_inst_addr=0) const = 0; + virtual void clear() {} + virtual void takeOverFrom(ThreadContext *new_tc, ThreadContext *old_tc) {} virtual void setThreadContext(ThreadContext *_tc) { tc = _tc; } diff --git a/src/arch/mips/isa.hh b/src/arch/mips/isa.hh index 73774fd221..eb487b6fe5 100644 --- a/src/arch/mips/isa.hh +++ b/src/arch/mips/isa.hh @@ -77,7 +77,7 @@ namespace MipsISA std::vector bankType; public: - void clear(); + void clear() override; PCStateBase * newPCState(Addr new_inst_addr=0) const override diff --git a/src/arch/power/isa.hh b/src/arch/power/isa.hh index 22641e8bb3..1759402278 100644 --- a/src/arch/power/isa.hh +++ b/src/arch/power/isa.hh @@ -57,15 +57,12 @@ class ISA : public BaseISA RegVal miscRegs[NUM_MISCREGS]; public: - void clear() {} - PCStateBase * newPCState(Addr new_inst_addr=0) const override { return new PCState(new_inst_addr); } - public: RegVal readMiscRegNoEffect(int misc_reg) const { diff --git a/src/arch/riscv/isa.hh b/src/arch/riscv/isa.hh index 5ea7f14954..c84e05f156 100644 --- a/src/arch/riscv/isa.hh +++ b/src/arch/riscv/isa.hh @@ -75,7 +75,7 @@ class ISA : public BaseISA public: using Params = RiscvISAParams; - void clear(); + void clear() override; PCStateBase * newPCState(Addr new_inst_addr=0) const override diff --git a/src/arch/sparc/isa.hh b/src/arch/sparc/isa.hh index 56aa8c4e53..86c4bfc87a 100644 --- a/src/arch/sparc/isa.hh +++ b/src/arch/sparc/isa.hh @@ -170,7 +170,7 @@ class ISA : public BaseISA public: const RegIndex &mapIntRegId(RegIndex idx) const { return intRegMap[idx]; } - void clear(); + void clear() override; PCStateBase * newPCState(Addr new_inst_addr=0) const override diff --git a/src/arch/x86/isa.hh b/src/arch/x86/isa.hh index f5f77a391f..5355063806 100644 --- a/src/arch/x86/isa.hh +++ b/src/arch/x86/isa.hh @@ -60,7 +60,7 @@ class ISA : public BaseISA std::string vendorString; public: - void clear(); + void clear() override; PCStateBase * newPCState(Addr new_inst_addr=0) const override