From: kajoljain379 Date: Sat, 12 Jan 2019 08:13:32 +0000 (+0530) Subject: arch-power: Modify Decrementer interrupt X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c99896a58a17dc646b8e19b205754123a8b2bdd3;p=gem5.git arch-power: Modify Decrementer interrupt Modify decrementer interrupt handler. Change-Id: Ibafd535e7cb5faeb3d4f6c479893bb72f01f944c Signed-off-by: kajoljain379 --- diff --git a/src/arch/power/faults.hh b/src/arch/power/faults.hh index 55687dc60..1e7fc9f4a 100644 --- a/src/arch/power/faults.hh +++ b/src/arch/power/faults.hh @@ -145,14 +145,11 @@ class DecrementerInterrupt : public PowerInterrupt virtual void invoke(ThreadContext * tc, const StaticInstPtr &inst = StaticInst::nullStaticInstPtr) { - Msr msr = tc->readIntReg(MISCREG_MSR); // Refer Power ISA Manual v3.0B Book-III, section 6.5.11 tc->setIntReg(INTREG_SRR0 , tc->instAddr()); - uint64_t srr1 = msr & 0xffffffff78fc0fff; - tc->setIntReg(INTREG_SRR1 , srr1); - msr = msr & 0xffffffffffff76cd; - tc->setIntReg(INTREG_MSR , msr); - tc->pcState(0x900); + PowerInterrupt::updateSRR1(tc); + PowerInterrupt::updateMsr(tc); + tc->pcState(DecrementerPCSet); } };