arm64 regression in kernel 5.12 related to the (n)VHE

Rafał Miłecki zajec5 at gmail.com
Wed Aug 11 20:59:30 PDT 2021


On 11.08.2021 14:15, Rafał Miłecki wrote:
> All I could do to help debugging this regression was bisecting. The
> first bad commit (I verified it after bisecting process) is:
> 
> commit 0c93df9622d4d921bcd0dc83f71fed9e98f5119f
> Author: Marc Zyngier <maz at kernel.org>
> Date:   Mon Feb 8 09:57:14 2021 +0000
> 
>      arm64: Initialise as nVHE before switching to VHE
> 
>      As we are aiming to be able to control whether we enable VHE or
>      not, let's always drop down to EL1 first, and only then upgrade
>      to VHE if at all possible.
> 
>      This means that if the kernel is booted at EL2, we always start
>      with a nVHE init, drop to EL1 to initialise the the kernel, and
>      only then upgrade the kernel EL to EL2 if possible (the process
>      is obviously shortened for secondary CPUs).
> 
>      The resume path is handled similarly to a secondary CPU boot.
> 
>      Signed-off-by: Marc Zyngier <maz at kernel.org>
>      Acked-by: David Brazdil <dbrazdil at google.com>
>      Acked-by: Catalin Marinas <catalin.marinas at arm.com>
>      Link: https://lore.kernel.org/r/20210208095732.3267263-6-maz@kernel.org
>      [will: Avoid calling switch_to_vhe twice on kaslr path]
>      Signed-off-by: Will Deacon <will at kernel.org>

FWIW I confirmed it's about the above commit.

***

On top of 5.12.19 I can do:

git revert \
d077cb3cb90470f8bd7dbe357a474e13589390b9 \
e2df464173f0b585adb958a09536eae2cd1dbefd \
0c93df9622d4d921bcd0dc83f71fed9e98f5119f

to get a booting kernel (the first 2 commits need to be reverted to
allow a clean revert of the 0c93df9622d4).

***

On top of 5.13.9 I can do:

git revert \
2d726d0db6ac479d91bf74490455badd34af6b1d \
d077cb3cb90470f8bd7dbe357a474e13589390b9 \
e2df464173f0b585adb958a09536eae2cd1dbefd \
0c93df9622d4d921bcd0dc83f71fed9e98f5119f

to get a booting kernel too.



More information about the linux-arm-kernel mailing list