Thread (17 messages) flat view 17 messages, 3 authors, 2021-07-26

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,
Andre
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help