arch-arm: GenericTimer arch regs, perms/trapping
authorAdrian Herrera <adrian.herrera@arm.com>
Thu, 7 Nov 2019 12:59:27 +0000 (12:59 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Tue, 10 Mar 2020 13:53:13 +0000 (13:53 +0000)
commit6e06d231ecf621d580449127f96fdb20154c4f66
tree021a121c91fc0caccfa417c91963a59235080d2f
parent81fc0737680d356de17553f285e9c61afed9ef31
arch-arm: GenericTimer arch regs, perms/trapping

This patch enhances the Generic Timer architected registers handling:

- Reordering of miscregs for easier switch/case ranges
- Implement _EL12 reg versions for E2H environments
- AArch32/64 EL0/EL1/EL2 arch compliant trapping for all registers
    + Rely on CNTKCTL and CNTHCTL access controls
- UNDEFINED behaviour from EL0(NS)
- EL1(S) timer traps to EL3 when SCR.ST == 0

Change-Id: I4f018e103cf8f7323060516121838f90278b1c3e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25307
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/insts/misc64.cc
src/arch/arm/isa.cc
src/arch/arm/isa/insts/misc.isa
src/arch/arm/miscregs.cc
src/arch/arm/miscregs.hh
src/arch/arm/utility.cc
src/arch/arm/utility.hh
src/dev/arm/generic_timer_miscregs_types.hh