RE: [boot-wrapper PATCH v3 0/8] Add Armv8-R AArch64 support
From: Jaxson Han <hidden>
Date: 2021-07-13 02:20:32
Hi Mark and Andre, I hope you are doing well. :) May I ask about the situation of these patches and what else I can do to improve them if needed? Cheers, Jaxson
-----Original Message----- From: Andre Przywara <andre.przywara@arm.com> Sent: Thursday, June 17, 2021 7:58 PM To: Mark Rutland <Mark.Rutland@arm.com> Cc: Jaxson Han <redacted>; linux-arm- kernel@lists.infradead.org; Wei Chen [off-list ref] Subject: Re: [boot-wrapper PATCH v3 0/8] Add Armv8-R AArch64 support On Tue, 25 May 2021 14:25:01 +0800 Jaxson Han [off-list ref] wrote: Hi Mark,quoted
Currently, we cannot boot Linux with boot-wrapper on Armv8-R AArch64: 1. The Armv8-R AArch64 profile does not support the EL3. 2. The Armv8-R AArch64 EL2 only supports a PMSA, which Linux does not support. So it's necessary to drop into EL1 before entering the kernel. 3. There is no EL2 booting code for Armv8-R AArch64 and no configuration for dropping to EL1 in boot-wrapper. These patches enable boot-wrapper booting Linux with Armv8-R AArch64: Patch 1 allows boot-wrapper to boot on more platforms. Patch 2 renames some labels as preparations for booting from lower EL. Patch 3 remove the redundant setup_stack. Patch 4-5 does some preparations for lower EL booting. Patch 6 prepares for GICv3 initialization with EL2. Patch 7 adds necessary EL2 registers. Patch 8 adds auto-detection for Armv8-R AArch64 to drop into EL1 before entering the kernel.So I reviewed the whole series (replies with the missing tags for 2/8 and 8/8 are on the list), and am now happy with it. I also tested this for regressions with various v8-A models. I had some issues with the SMMU on RevC models, but this was also with boot-wrapper master and is unrelated to this series (as the kernel starts booting). So from my point of view this is good to go. Please let us know if you need more information or how we can help with anything to get this merged. Cheers, Andrequoted
Refs: Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch64 architecture profile. [https://developer.arm.com/documentation/ddi0600/latest/] --- v2 -> v3: 1. Refine Patch 1 and move relevant changes into Patch 5 and 8. 2. Refine Patch 8, more detailed comments and guarantees that those CPUID fields never lose features when the value in a field increases. Jaxson Han (8): Decouple V2M_SYS config by auto-detect dtb node aarch64: Rename labels and prepare for lower EL booting aarch64: Remove the redundant setup_stack aarch64: Prepare for EL1 booting aarch64: Prepare for lower EL booting gic-v3: Prepare for gicv3 with EL2 aarch64: Prepare for booting with EL2 aarch64: Introduce EL2 boot code for Armv8-R AArch64 Makefile.am | 4 +- arch/aarch32/include/asm/gic-v3.h | 7 ++ arch/aarch64/boot.S | 151 +++++++++++++++++++++++++++--- arch/aarch64/include/asm/cpu.h | 3 + arch/aarch64/include/asm/gic-v3.h | 38 +++++++- arch/aarch64/psci.S | 13 +-- arch/aarch64/spin.S | 8 +- arch/aarch64/utils.S | 10 +- gic-v3.c | 2 +- platform.c | 4 + 10 files changed, 208 insertions(+), 32 deletions(-)
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel