From fe8faa62b74087febe227f69385db3e562682799 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Tue, 29 May 2018 16:30:33 +0100 Subject: arch-arm: Add Illegal Execution flag to PCState This patch moves the detection of the Illegal Execution flag (PSTATE.IL) from the tlb translation stage (fetch) to the decoding stage. This is done by adding the illegalExecution field to the PCState. Change-Id: I9c1c4e9c6bd5ded905c1d56b3034e4e9322582fa Signed-off-by: Giacomo Travaglini Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/10813 Maintainer: Andreas Sandberg --- src/arch/arm/faults.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/arch/arm/faults.cc') diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc index 676559f61..dd4f9581c 100644 --- a/src/arch/arm/faults.cc +++ b/src/arch/arm/faults.cc @@ -601,6 +601,7 @@ ArmFault::invoke(ThreadContext *tc, const StaticInstPtr &inst) pc.nextJazelle(pc.jazelle()); pc.aarch64(!cpsr.width); pc.nextAArch64(!cpsr.width); + pc.illegalExec(false); tc->pcState(pc); } @@ -684,6 +685,7 @@ ArmFault::invoke64(ThreadContext *tc, const StaticInstPtr &inst) PCState pc(new_pc); pc.aarch64(!cpsr.width); pc.nextAArch64(!cpsr.width); + pc.illegalExec(false); tc->pcState(pc); // If we have a valid instruction then use it to annotate this fault with -- cgit v1.2.3