mbox series

[boot-wrapper,0/7] Add Armv8-R AArch64 support

Message ID 20240606133628.3330423-1-luca.fancellu@arm.com (mailing list archive)
Headers show
Series Add Armv8-R AArch64 support | expand

Message

Luca Fancellu June 6, 2024, 1:36 p.m. UTC
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.

This is a rework and rebase of a serie already present upstream [1], apart
from patch 3 which is addressing a small bug and patch 6 and 7 which are
introducing support for PSCI boot through hvc conduit and Xen boot under Armv8-R
AArch64.

[1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210525062509.201464-1-jaxson.han@arm.com/

Luca Fancellu (7):
  aarch64: Rename labels and prepare for lower EL booting
  aarch64: Prepare for lower EL booting
  aarch64: Remove TSCXT bit set from SCTLR_EL2_RESET
  gic-v3: Prepare for gicv3 with EL2
  aarch64: Introduce EL2 boot code for Armv8-R AArch64
  aarch64: Support PSCI for Armv8-R AArch64
  aarch64: Start Xen on Armv8-R at EL2

 Makefile.am                       |  6 ++-
 arch/aarch32/include/asm/gic-v3.h |  7 +++
 arch/aarch64/boot.S               | 86 ++++++++++++++++++++++++++++---
 arch/aarch64/include/asm/cpu.h    | 14 ++++-
 arch/aarch64/include/asm/gic-v3.h | 20 +++++--
 arch/aarch64/init.c               | 39 ++++++++++++--
 common/gic-v3.c                   |  2 +-
 configure.ac                      | 19 +++++--
 8 files changed, 170 insertions(+), 23 deletions(-)

Comments

Luca Fancellu June 6, 2024, 3:42 p.m. UTC | #1
Hi Mark,

This serie should have been sent to you, but I did a mess sending it only to the mailing list,
this is a convenient link to the changes:

https://lore.kernel.org/linux-arm-kernel/20240606133628.3330423-1-luca.fancellu@arm.com/T/#t

> On 6 Jun 2024, at 14:36, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
> 
> 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.
> 
> This is a rework and rebase of a serie already present upstream [1], apart
> from patch 3 which is addressing a small bug and patch 6 and 7 which are
> introducing support for PSCI boot through hvc conduit and Xen boot under Armv8-R
> AArch64.
> 
> [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210525062509.201464-1-jaxson.han@arm.com/
> 
> Luca Fancellu (7):
>  aarch64: Rename labels and prepare for lower EL booting
>  aarch64: Prepare for lower EL booting
>  aarch64: Remove TSCXT bit set from SCTLR_EL2_RESET
>  gic-v3: Prepare for gicv3 with EL2
>  aarch64: Introduce EL2 boot code for Armv8-R AArch64
>  aarch64: Support PSCI for Armv8-R AArch64
>  aarch64: Start Xen on Armv8-R at EL2
> 
> Makefile.am                       |  6 ++-
> arch/aarch32/include/asm/gic-v3.h |  7 +++
> arch/aarch64/boot.S               | 86 ++++++++++++++++++++++++++++---
> arch/aarch64/include/asm/cpu.h    | 14 ++++-
> arch/aarch64/include/asm/gic-v3.h | 20 +++++--
> arch/aarch64/init.c               | 39 ++++++++++++--
> common/gic-v3.c                   |  2 +-
> configure.ac                      | 19 +++++--
> 8 files changed, 170 insertions(+), 23 deletions(-)

Cheers,
Luca