arch-arm: IMPDEF for SYS instruction with CRn = {11, 15}
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Thu, 25 Oct 2018 09:39:50 +0000 (10:39 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 26 Oct 2018 09:45:47 +0000 (09:45 +0000)
According to the arm arm, a SYS instruction (op0 = 1) with CRn = (11 or
15) is implementation defined; this makes it trappable by having
HCR_EL2.TIDCP = 1.

Change-Id: Idd94ac345fee652ee6f8c0a7eb7b06ac75ec38ef
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/13780
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

src/arch/arm/miscregs.cc

index 07123bd7dcf4cc5eb5000570c6fbfab021676411..ebe72dd52eb19bbf34f73b09298912a5fff2dbdb 100644 (file)
@@ -1228,6 +1228,11 @@ decodeAArch64SysReg(unsigned op0, unsigned op1,
                 break;
             }
             break;
+          case 11:
+          case 15:
+            // SYS Instruction with CRn = { 11, 15 }
+            // (Trappable by HCR_EL2.TIDCP)
+            return MISCREG_IMPDEF_UNIMPL;
         }
         break;
       case 2: