[U-Boot] [PATCH v2 0/2] armv8: Support loading 32-bit OS in AArch32 execution state

Alison Wang b18965 at freescale.com
Thu May 19 10:26:00 CEST 2016


This series is to support loading a 32-bit OS, the execution state
will change from AArch64 to AArch32 when jumping to kernel. The
architecture information will be got through checking FIT image,
then U-Boot will load 32-bit OS or 64-bit OS automatically.

Spin-table method is used for secondary cores to load 32-bit OS. The
architecture information will be got through checking FIT image and
saved in the os_arch element of spin-table, then the secondary cores
will check os_arch and jump to 32-bit OS or 64-bit OS automatically.

Changes in v2:
- armv8_switch_to_el2_aarch32() is removed. armv8_switch_to_el2_m is used
  to switch to AArch64 EL2 or AArch32 Hyp.
- armv8_switch_to_el1_aarch32() is removed. armv8_switch_to_el1_m is used
  to switch to AArch64 EL1 or AArch32 SVC.

----------------------------------------------------------------
Alison Wang (2):
      armv8: Support loading 32-bit OS in AArch32 execution state
      armv8: fsl-layerscape: SMP support for loading 32-bit OS

 arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S  | 35 +++++++++++++++++++++++++++++++----
 arch/arm/cpu/armv8/fsl-layerscape/mp.c        | 10 ++++++++++
 arch/arm/cpu/armv8/transition.S               |  8 ++++----
 arch/arm/include/asm/arch-fsl-layerscape/mp.h |  6 ++++++
 arch/arm/include/asm/macro.h                  | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 arch/arm/include/asm/system.h                 | 25 +++++++++++++++++++++++--
 arch/arm/lib/bootm.c                          | 31 +++++++++++++++++++++++++++----
 common/image-fit.c                            | 12 +++++++++++-
 8 files changed, 185 insertions(+), 22 deletions(-)



More information about the U-Boot mailing list