Thread (16 messages) flat view 16 messages, 3 authors, 2021-08-12

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

From: Marc Zyngier <maz@kernel.org>
Date: 2021-08-11 12:54:04

Hi Rafał,

On Wed, 11 Aug 2021 13:15:31 +0100,
Rafał Miłecki [off-list ref] wrote:
Hi,

I just tried upgrading from the old good LTS kernel 5.10 and I
discovered that my bcm4908 boards don't boot anymore with the 5.14-rc5.


The problem is kernel doesn't seem to start booting at all. I see CFE
bootloader messages:

Starting program at 0x0000000000080000
/memory = 0x40000000

and then nothing. Normally the first kernel line should follow like a:
Linux version 5.11.0-rc4 (rmilecki@localhost.localdomain) (aarch64-buildroot-linux-uclibc-gcc.br_real (Buildroot -g91617ed) 9.3.0, GNU ld (GNU Binutils) 2.33.1) #30 SMP Wed Aug 11 14:01:00 CEST 2021


I have zero knowledge of low level arm64 or assembler stuff. I also
don't own any bcm4908 development board or bcm4908 datasheets.

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 [off-list ref]
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 [off-list ref]
    Acked-by: David Brazdil [off-list ref]
    Acked-by: Catalin Marinas [off-list ref]
    Link: https://lore.kernel.org/r/20210208095732.3267263-6-maz@kernel.org (local)
    [will: Avoid calling switch_to_vhe twice on kaslr path]
    Signed-off-by: Will Deacon [off-list ref]


Could you look at this issue, please? I'm happy to test any patches or
provide any extra info I can obtain using kernel 5.11.


My defconfig for bcm4908 is:
[...]

I don't think the dconfig is that relevant (nothing you quote here
would have an impact that early in the boot process).

On the other hand, a description of the platform (what CPUs does it
have) and how it boots (VHE, non-VHE, booted at EL2 or not) would be
extremely useful. At minimum, a boot log of a working kernel could
help.

Florian: is it something you are seeing on your own systems?

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help