fastmodel: Set itstate when building a PCState from IRIS.
authorGabe Black <gabeblack@google.com>
Tue, 14 Jan 2020 01:15:22 +0000 (17:15 -0800)
committerGabe Black <gabeblack@google.com>
Wed, 19 Feb 2020 23:16:10 +0000 (23:16 +0000)
These bits are probably never going to be non-zero since we'd have to
take a checkpoint part way through an if/then construct in thumb, but
they're easy to extract and we might as well store them properly.

Change-Id: Ifc5c34063dd23f72cc106c0d77d90c5e6ee871be
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24328
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/fastmodel/iris/thread_context.cc

index 261491d455796c61386ee1fdcac29fe22f9af17a..3f7102f90e9e35fc43bb8cbe7b495a4fc6b2c7af 100644 (file)
@@ -443,6 +443,8 @@ ThreadContext::pcState() const
     pc.aarch64(!cpsr.width);
     pc.nextAArch64(!cpsr.width);
     pc.illegalExec(false);
+    pc.itstate(itState(cpsr));
+    pc.nextItstate(0);
 
     iris::ResourceReadResult result;
     call().resource_read(_instId, result, pcRscId);