arch-arm: Replace unimplemented+warnNotFail with callback
We are trying to deprecate the use of the MISCREG_IMPLEMENTED flag. Rather than using warnNotFail in conjunction with it, we use the new faulting callback infostructure to deliver either an Undefined Instruction or a warning with NoFault Change-Id: Iee80171a6d28c55c9af069653306d6f8085faf78 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/61686 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Richard Cooper <richard.cooper@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
@@ -4435,9 +4435,8 @@ ISA::initializeMiscRegMetadata()
|
||||
InitReg(MISCREG_CPUMERRSR_EL1)
|
||||
.allPrivileges().exceptUserMode();
|
||||
InitReg(MISCREG_L2MERRSR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail()
|
||||
.allPrivileges().exceptUserMode();
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_CBAR_EL1)
|
||||
.allPrivileges().exceptUserMode().writes(0);
|
||||
InitReg(MISCREG_CONTEXTIDR_EL2)
|
||||
@@ -4942,38 +4941,38 @@ ISA::initializeMiscRegMetadata()
|
||||
|
||||
// RAS extension (unimplemented)
|
||||
InitReg(MISCREG_ERRIDR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERRSELR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERXFR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERXCTLR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERXSTATUS_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERXADDR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERXMISC0_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_ERXMISC1_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_DISR_EL1)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_VSESR_EL2)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
InitReg(MISCREG_VDISR_EL2)
|
||||
.unimplemented()
|
||||
.warnNotFail();
|
||||
.warnNotFail()
|
||||
.fault(faultUnimplemented);
|
||||
|
||||
// Register mappings for some unimplemented registers:
|
||||
// ESR_EL1 -> DFSR
|
||||
|
||||
Reference in New Issue
Block a user