diff --git a/src/arch/generic/pcstate.hh b/src/arch/generic/pcstate.hh index 10f6618734..3e7b025363 100644 --- a/src/arch/generic/pcstate.hh +++ b/src/arch/generic/pcstate.hh @@ -120,6 +120,12 @@ class PCStateBase : public Serializable return _upc; } + virtual void + uReset() + { + _upc = 0; + } + void serialize(CheckpointOut &cp) const override { @@ -265,9 +271,9 @@ class PCStateCommon : public PCStateBase // Reset the macroop's upc without advancing the regular pc. void - uReset() + uReset() override { - _upc = 0; + PCStateBase::uReset(); _nupc = 1; } diff --git a/src/cpu/minor/fetch2.cc b/src/cpu/minor/fetch2.cc index 5215957b49..82648d0069 100644 --- a/src/cpu/minor/fetch2.cc +++ b/src/cpu/minor/fetch2.cc @@ -447,7 +447,7 @@ Fetch2::evaluate() * may be pointing to a microop other than 0. Once * advanced, however, the microop number *must* be 0 */ - fetch_info.pc->as().uReset(); + fetch_info.pc->uReset(); /* Advance PC for the next instruction */ decoded_inst->advancePC(*fetch_info.pc);