arch-power: Added function to set HSSR1 register
authorKajol Jain <kajoljain797@gmail.com>
Wed, 12 Jun 2019 05:57:45 +0000 (11:27 +0530)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 24 Jan 2021 04:01:03 +0000 (04:01 +0000)
Change-Id: Ie7f44b4f901d22bf877b5c066a9f9042effb793c
Signed-off-by: Kajol Jain <kajoljain797@gmail.com>
src/arch/power/faults.hh

index 24844239cb3362e05cc0901e4067fe0850066cd8..fc021edf682ea23acf90cd722411b28642f06f85 100644 (file)
@@ -135,6 +135,14 @@ class PowerInterrupt : public PowerFaultBase
       uint64_t srr1 = ((msr & unsetMask(31, 27)) & unsetMask(22,16)) | BitMask;
       tc->setIntReg(INTREG_SRR1, srr1);
     }
+
+    virtual void updateHSRR1(ThreadContext *tc, uint64_t BitMask=0x0000000)
+    {
+      Msr msr = tc->readIntReg(INTREG_MSR);
+      uint64_t hsrr1 = ((msr & unsetMask(31, 27)) & unsetMask(22,16)) |
+                                                    BitMask;
+      tc->setIntReg(INTREG_HSRR1, hsrr1);
+    }
 };
 
 //SRR1 value is correctly set by the entity raising