This patchset is a respin of Alex's patches, with some extra fixes for bugs I discovered along the way in our existing code (and a bit of refactoring to make the fixes straightforward). It is:
Based-on: 20250130182309.717346-1-peter.mayd...@linaro.org ("target/arm: Clean up some corner cases of sysreg traps") because it wants to use the renamed CP_ACCESS_* constants that that patchset introduced. The bugfixes are not super exciting as they mostly are oddball corner cases, but I've cc'd them to stable anyway. The actual implementation of the missing SEL2 timers also should go to stable. Alex Bennée (4): target/arm: Implement SEL2 physical and virtual timers target/arm: document the architectural names of our GTIMERs hw/arm: enable secure EL2 timers for virt machine hw/arm: enable secure EL2 timers for sbsa machine Peter Maydell (5): target/arm: Apply correct timer offset when calculating deadlines target/arm: Don't apply CNTVOFF_EL2 for EL2_VIRT timer target/arm: Make CNTPS_* UNDEF from Secure EL1 when Secure EL2 is enabled target/arm: Always apply CNTVOFF_EL2 for CNTV_TVAL_EL02 accesses target/arm: Refactor handling of timer offset for direct register accesses include/hw/arm/bsa.h | 2 + target/arm/cpu.h | 2 + target/arm/gtimer.h | 14 +- target/arm/internals.h | 5 +- hw/arm/sbsa-ref.c | 2 + hw/arm/virt.c | 2 + target/arm/cpu.c | 4 + target/arm/helper.c | 324 ++++++++++++++++++++++++++++++------- target/arm/tcg/op_helper.c | 8 +- 9 files changed, 296 insertions(+), 67 deletions(-) -- 2.34.1