[PATCH v4 0/5] initialize SCTRL2_ELx
Yeoreum Yun
yeoreum.yun at arm.com
Thu Aug 21 10:24:03 PDT 2025
This series introduces initial support for the SCTLR2_ELx registers in Linux.
The feature is optional starting from ARMv8.8/ARMv9.3,
and becomes mandatory from ARMv8.9/ARMv9.4.
Currently, Linux has no strict need to modify SCTLR2_ELx--
at least assuming that firmware initializes
these registers to reasonable defaults.
However, several upcoming architectural features will require configuring
control bits in these registers.
Notable examples include FEAT_PAuth_LR and FEAT_CPA2.
Patch History
==============
from v3 to v4:
- integrate set_sctlr2_elx() and __set_sctlr2_elx() to set_sctlr2_elx()
without isb()
- fix the wrong register setting in set_sctlr2_elx().
- add initialise SCTLR2_EL2 at HVC_SOFT_RESTART.
- https://lore.kernel.org/all/20250813120118.3953541-1-yeoreum.yun@arm.com/
from v2 to v3:
- rewrite commit messages.
- fix missing SCTLR2_EL2 synchonization at boot.
- merging the __kvm_host_psci_cpu_entry() changes into patch #1
- https://lore.kernel.org/all/20250811163340.1561893-1-yeoreum.yun@arm.com/
from v1 to v2:
- rebase to v6.17-rc1
- https://lore.kernel.org/all/20250804121724.3681531-1-yeoreum.yun@arm.com/
Yeoreum Yun (5):
arm64: make SCTLR2_EL1 accessible
arm64: initialise SCTLR2_ELx register at boot time
arm64: save/restore SCTLR2_EL1 when cpu_suspend()/resume()
arm64: initialise SCTLR2_EL1 at cpu_soft_restart()
arm64: make the per-task SCTLR2_EL1
arch/arm64/include/asm/assembler.h | 15 +++++++++++++++
arch/arm64/include/asm/el2_setup.h | 17 +++++++++++++++--
arch/arm64/include/asm/processor.h | 3 +++
arch/arm64/include/asm/suspend.h | 2 +-
arch/arm64/include/asm/sysreg.h | 5 +++++
arch/arm64/kernel/cpu-reset.S | 4 ++++
arch/arm64/kernel/head.S | 5 +++++
arch/arm64/kernel/hyp-stub.S | 10 ++++++++++
arch/arm64/kernel/process.c | 9 +++++++++
arch/arm64/kvm/hyp/nvhe/hyp-init.S | 3 +++
arch/arm64/kvm/hyp/nvhe/psci-relay.c | 3 +++
arch/arm64/mm/proc.S | 24 ++++++++++++++++--------
12 files changed, 89 insertions(+), 11 deletions(-)
base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585
--
LEVI:{C3F47F37-75D8-414A-A8BA-3980EC8A46D7}
More information about the linux-arm-kernel
mailing list