arm: Panics in miscreg read functions can be tripped by O3 model
authorGeoffrey Blake <geoffrey.blake@arm.com>
Fri, 9 May 2014 22:58:46 +0000 (18:58 -0400)
committerGeoffrey Blake <geoffrey.blake@arm.com>
Fri, 9 May 2014 22:58:46 +0000 (18:58 -0400)
commit29601eada77e66d346def0b219f6ccff48586ace
treeb869c97cea70229f580e391597a1740dbd05600e
parenta3306d0d5e4c83fcce7f7d5915a2a16a99d21744
arm: Panics in miscreg read functions can be tripped by O3 model

Unimplemented miscregs for the generic timer were guarded by panics
in arm/isa.cc which can be tripped by the O3 model if it speculatively
executes a wrong path containing a mrs instruction with a bad miscreg
index. These registers were flagged as implemented and accessible.
This patch changes the miscreg info bit vector to flag them as
unimplemented and inaccessible. In this case, and UndefinedInst
fault will be generated if the register access is not trapped
by a hypervisor.
src/arch/arm/isa.cc
src/arch/arm/isa/insts/misc.isa
src/arch/arm/miscregs.cc