ARM: Fix IT state not updating when an instruction memory instruction faults.
authorMin Kyu Jeong <MinKyu.Jeong@arm.com>
Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)
committerMin Kyu Jeong <MinKyu.Jeong@arm.com>
Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)
src/arch/arm/isa/templates/mem.isa

index 4f1235b03440a13669c14c03374400d2c00c8eb1..ea66ce2a6e653249b5957f86c39b21803d0fff26 100644 (file)
@@ -342,6 +342,8 @@ def template LoadInitiateAcc {{
             if (fault == NoFault) {
                 fault = xc->read(EA, (uint%(mem_acc_size)d_t &)Mem, memAccessFlags);
             }
+        } else if (fault == NoFault && machInst.itstateMask != 0) {
+            xc->setMiscReg(MISCREG_ITSTATE, machInst.newItstate);
         }
 
         return fault;