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=c46e5d738fc106424407899dede6276b520c57de;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 28592875a..a6c7f4435 100644 --- a/src/arch/power/faults.hh +++ b/src/arch/power/faults.hh @@ -148,14 +148,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); } };