[U-Boot] [PATCH v5 0/8] ARMv7: PSCI: add PSCI v1.0 support
macro.wave.z at gmail.com
macro.wave.z at gmail.com
Tue Jun 14 09:01:15 CEST 2016
From: Hongbo Zhang <hongbo.zhang at nxp.com>
v5 changes:
- Give up fixing the potential bug of PSCI stack overlap with secure text end
when there is more CPUs in system. Because I just want to keep this series as
simple as it could be: adding basic PSCI v1.0 support and adding more PSCI
v1.0 implements of our platform.
While too compplicated patches in assembly language won't call for effective
reviews, even I think there is potential bug of PSCI stack, let's fix it in
sepetated patch later.
- Move the patch of factoring out psci_cpu_on_common to earlier place 2/8, so
that the following patches can only update the psci_cpu_on_common instead of
touching each platform's psci_cpu_on, this reduces patches size obviously and
make it easier for review.
v4 changes:
- since there is already PSCI v0.2 function IDs definition merged in 5a07abb,
I give up my previous patches 1/11 and 2/11, and move previous 7/11 "ARMv7:
PSCI: add PSCI v1.0 functions skeleton" as current first one 1/9
- accept Andre's comment to add the missed "arm,psci-0,2" into compatible
string
v3 changes:
- patch 3/11, re-init the stack pointer to address like start of page instead
of page end, because for ARM push operation, the stack pointer is encreased
before storing data.
- patch 10/11, delete the previous un-implemented cpu_suspend function for ls1
platform, because there is default blank functions for all those are not
implemented in specific platform.
v2 changes:
- re-organize psci_cpu_on_common, this code should be called by each platform's
psci_cpu_on, should not be a function calling each psci_cpu_on, all related
functions are updated due to this change
- update some registers usage, e.g. if r10 is used without push/pop, u-boot
cannot launch rt-kernel
- update some comments to be clearer, re-organize all patches for easier review
- add patch to check already_on or on_pending for LS102XA
This patch set contains two parts:
ARMv7 PSCI common framework: fix some issues and add v1.0 support
NXP (was Freescale) LS102XA: codes enhancement and add v1.0 implementation
And this patch set was initially created by Dongsheng Wang.
Hongbo Zhang (8):
ARMv7: PSCI: add PSCI v1.0 functions skeleton
ARMv7: PSCI: factor out reusable psci_cpu_on_common
ARMv7: PSCI: update the place of saving target PC
ARMv7: PSCI: add codes to save context ID for CPU_ON
ARMv7: PSCI: ls102xa: check target CPU ID before further operations
ARMv7: PSCI: ls102xa: check ALREADY_ON or ON_PENDING for CPU_ON
ARMv7: PSCI: ls102xa: add more PSCI v1.0 functions implemention
ARMv7: PSCI: ls102xa: move secure text section into OCRAM
arch/arm/cpu/armv7/ls102xa/psci.S | 169 +++++++++++++++++++++++++++--
arch/arm/cpu/armv7/mx7/psci.S | 5 +-
arch/arm/cpu/armv7/nonsec_virt.S | 7 ++
arch/arm/cpu/armv7/psci.S | 99 ++++++++++++++++-
arch/arm/cpu/armv7/sunxi/psci_sun6i.S | 5 +-
arch/arm/cpu/armv7/sunxi/psci_sun7i.S | 5 +-
arch/arm/cpu/armv7/virt-dt.c | 10 +-
arch/arm/include/asm/arch-ls102xa/config.h | 3 +-
arch/arm/include/asm/psci.h | 31 ++++++
arch/arm/mach-tegra/psci.S | 5 +-
board/freescale/ls1021aqds/Makefile | 1 +
board/freescale/ls1021aqds/psci.S | 36 ++++++
board/freescale/ls1021atwr/Makefile | 1 +
board/freescale/ls1021atwr/psci.S | 28 +++++
include/configs/ls1021aqds.h | 3 +
include/configs/ls1021atwr.h | 3 +
16 files changed, 383 insertions(+), 28 deletions(-)
create mode 100644 board/freescale/ls1021aqds/psci.S
create mode 100644 board/freescale/ls1021atwr/psci.S
--
2.1.4
More information about the U-Boot
mailing list