Re: [PATCH 2/7] arm64: head: correct comment for init_kernel_el()
From: Mark Rutland
Date: Wed Sep 02 2026 - 11:27:09 EST
On Tue, Aug 25, 2026 at 08:58:34PM +0000, Bradley Morgan wrote:
> The comment above init_kernel_el() still says the function configures
> the CPU to execute at the highest reachable EL, but that stopped being
> true a while back. Ever since commit ae4b7e38e9a94798 ("arm64: Allow
> sticky E2H when entering EL1"), init_kernel_el() always drops to EL1,
> and it is finalise_el2() that brings us back up to EL2 when we want it.
>
> Update the comment to match what the code actually does.
>
> Signed-off-by: Bradley Morgan <brads@xxxxxxxxxxxxxx>
> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: James Morse <james.morse@xxxxxxx>
> Cc: Marc Zyngier <maz@xxxxxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> ---
> arch/arm64/kernel/head.S | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
This looks to be my patch [1], but with a (partially) rewritten commit
message, and my S-o-B dropped.
There was admittedly one typo in that commit message that needed to be
fixed, but I don't think the rest of the changes were necessary, and I
don't think it's approriate to drop my S-o-B.
I think similar is true for the rest of the series. The patch fixing the
_cpu_resume() only seems to have a paraphrased commit message.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=ee4323ff6a2ba4c3989b38f13b2c1a516d6c27e4
Mark.
>
> diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
> index 87a822e5c4ca..c6301557eee1 100644
> --- a/arch/arm64/kernel/head.S
> +++ b/arch/arm64/kernel/head.S
> @@ -254,9 +254,9 @@ SYM_FUNC_END(__primary_switched)
> .section ".idmap.text","a"
>
> /*
> - * Starting from EL2 or EL1, configure the CPU to execute at the highest
> - * reachable EL supported by the kernel in a chosen default state. If dropping
> - * from EL2 to EL1, configure EL2 before configuring EL1.
> + * Starting from EL2 or EL1, configure the CPU to execute at EL1.
> + * If dropping from EL2 to EL1, configure EL2 before configuring EL1.
> + * To use VHE we'll upgrade back to EL2 later in finalise_el2().
> *
> * Since we cannot always rely on ERET synchronizing writes to sysregs (e.g. if
> * SCTLR_ELx.EOS is clear), we place an ISB prior to ERET.
> --
> 2.47.3