arm: provide correct timer availability in ID_PFR1 register

Change-Id: Id4cd839c12b70616017a5830e3f9bbb59b0f97ba
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Curtis Dunham 2016-12-19 11:03:28 -06:00
parent ae2e0ca3d0
commit f04d81163c

View file

@ -770,10 +770,13 @@ ISA::readMiscReg(int misc_reg, ThreadContext *tc)
// !ThumbEE | !Jazelle | Thumb | ARM // !ThumbEE | !Jazelle | Thumb | ARM
return 0x00000031; return 0x00000031;
case MISCREG_ID_PFR1: case MISCREG_ID_PFR1:
// !Timer | Virti | !M Profile | TrustZone | ARMv4 { // Timer | Virti | !M Profile | TrustZone | ARMv4
return 0x00000001 bool haveTimer = (system->getGenericTimer() != NULL);
| (haveSecurity ? 0x00000010 : 0x0) return 0x00000001
| (haveVirtualization ? 0x00001000 : 0x0); | (haveSecurity ? 0x00000010 : 0x0)
| (haveVirtualization ? 0x00001000 : 0x0)
| (haveTimer ? 0x00010000 : 0x0);
}
case MISCREG_ID_AA64PFR0_EL1: case MISCREG_ID_AA64PFR0_EL1:
return 0x0000000000000002 // AArch{64,32} supported at EL0 return 0x0000000000000002 // AArch{64,32} supported at EL0
| 0x0000000000000020 // EL1 | 0x0000000000000020 // EL1