
Apologies for the long delay, this is v2 of the series of patches that creates a generic PSCI v0.2 framework for ARMv8.
The first 3 patches refactor existing code so that ARMv7 PSCI, ARMv8 spin-table and ARMv8 PSCI can coexist.
The 4th patch modifies the spin table implementation for the ARMv8 foundation model to create per cpu release addresses
The next 5 patches create a generic framework for PSCI v0.2 in ARMv8.
The implementation is modelled on the pre-existing PSCI v0.1 support in ARMv7.
PSCI support patches for the ARMv8 Foundation model that implement the mandatory PSCI functions and enable PCSI will follow very soon.
Arnab Basu (9): ARM: PSCI: Update psci.h for psci v0.2 ARM: PSCI: Alow arch specific DT patching ARMv8/fsl-lsch3: Refactor spin-table code vexpress_aemv8a: Add spin table handling with per cpu release addresses ARMv8: PSCI: Add linker section to hold PSCI code ARMv8: PCSI: Add generic ARMv8 PSCI code ARMv8: PSCI: Fixup the device tree for PSCI v0.2 ARMv8: PSCI: Setup ARMv8 PSCI ARMv8: PSCI: Enable SMC
arch/arm/config.mk | 2 +- arch/arm/cpu/armv7/virt-dt.c | 7 +- arch/arm/cpu/armv8/Makefile | 4 +- arch/arm/cpu/armv8/cpu-dt.c | 189 +++++++++++++++++++++++++++++++++++++ arch/arm/cpu/armv8/cpu.c | 136 ++++++++++++++++++++++++++ arch/arm/cpu/armv8/fsl-lsch3/fdt.c | 48 ++++------ arch/arm/cpu/armv8/psci.S | 168 +++++++++++++++++++++++++++++++++ arch/arm/cpu/armv8/start.S | 141 ++++++++++++++++++++------- arch/arm/cpu/armv8/u-boot.lds | 30 ++++++ arch/arm/include/asm/armv8/esr.h | 12 +++ arch/arm/include/asm/armv8/mp.h | 36 +++++++ arch/arm/include/asm/config.h | 1 + arch/arm/include/asm/macro.h | 5 + arch/arm/include/asm/psci.h | 42 ++++++++- arch/arm/include/asm/system.h | 7 ++ arch/arm/lib/bootm-fdt.c | 11 ++- arch/arm/lib/bootm.c | 3 + include/configs/vexpress_aemv8a.h | 2 + 18 files changed, 772 insertions(+), 72 deletions(-) create mode 100644 arch/arm/cpu/armv8/cpu-dt.c create mode 100644 arch/arm/cpu/armv8/psci.S create mode 100644 arch/arm/include/asm/armv8/esr.h create mode 100644 arch/arm/include/asm/armv8/mp.h