On Wed, Jun 15, 2016 at 3:16 PM, Chen-Yu Tsai <w...@csie.org> wrote: > Hi, > > On Tue, Jun 14, 2016 at 3:01 PM, <macro.wav...@gmail.com> wrote: >> From: Hongbo Zhang <hongbo.zh...@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. > > I've done some patches fixing the stack allocation issue: > > https://github.com/wens/u-boot-sunxi/commits/c-psci-part2 > > These patches are ready, but I want to add a secure data section still. > The data section will be for variables such as target PC, core/cluster > power status, context ID, etc.. IMHO this is better than putting stuff > at the top or bottom of the stack, and can also be referenced directly. > Yes, secure data section is welcome. I am implementing our suspend-to-ram function in PSCI in C language, there are some global variables which should be placed into such secure data section.
> Regards > ChenYu > >> - 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 >> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot