Message ID | 1491813679-22630-1-git-send-email-yamada.masahiro@socionext.com |
---|---|
Headers | show |
Series | ARM: support System Reset via PSCI | expand |
Hi Masahiro, > > For ARMv8, the secure firmware (ex. ARM Trusted Firmware BL31) is > often implemented, making U-Boot a non-secure world boot loader. > > The secure firmware generally includes PSCI. The power management > operations, including System Reset, are supposed to be handled by > PSCI. In this case, U-Boot should not touch the system reset > directly. Instead, U-Boot should call PSCI service to reset the > system. > > In order to implement this, arm-smccc code is needed. The code > has been copied from Linux. (1/2) > > 2/2 implements a generic sysreset driver based on the PSCI > specification. I'm just wondering if it would be possible to: 1. Provide the exact Linux files (with SHA1) from main line 2. On top of this patch add u-boot adjustments 3. Add u-boot specific support for PSCI In this way we would have exact info about the source of porting (or was it ported exactly from v4.11-rc6 tag?) Best regards, Ćukasz Majewski > > > > Masahiro Yamada (2): > ARM: import arm-smccc from Linux 4.11-rc6 > sysreset: psci: support system reset in a generic way with PSCI > > arch/arm/Kconfig | 9 ++ > arch/arm/cpu/armv7/Makefile | 1 + > arch/arm/cpu/armv7/smccc-call.S | 56 +++++++++ > arch/arm/cpu/armv8/Makefile | 2 + > arch/arm/cpu/armv8/smccc-call.S | 44 +++++++ > arch/arm/include/asm/opcodes-sec.h | 17 +++ > arch/arm/include/asm/opcodes-virt.h | 27 +++++ > arch/arm/include/asm/opcodes.h | 229 > ++++++++++++++++++++++++++++++++++++ > arch/arm/lib/asm-offsets.c | 8 ++ > drivers/Kconfig | 2 + > drivers/Makefile | 5 +- > drivers/firmware/Kconfig | 6 + > drivers/firmware/Makefile | 2 + > drivers/firmware/firmware-uclass.c | 11 ++ > drivers/firmware/psci.c | 94 +++++++++++++++ > drivers/sysreset/Kconfig | 11 ++ > drivers/sysreset/Makefile | 1 + > drivers/sysreset/sysreset_psci.c | 41 +++++++ > include/dm/uclass-id.h | 1 + > include/linux/arm-smccc.h | 126 ++++++++++++++++++++ > include/linux/psci.h | 13 ++ 21 files changed, 704 > insertions(+), 2 deletions(-) create mode 100644 > arch/arm/cpu/armv7/smccc-call.S create mode 100644 > arch/arm/cpu/armv8/smccc-call.S create mode 100644 > arch/arm/include/asm/opcodes-sec.h create mode 100644 > arch/arm/include/asm/opcodes-virt.h create mode 100644 > arch/arm/include/asm/opcodes.h create mode 100644 > drivers/firmware/Kconfig create mode 100644 drivers/firmware/Makefile > create mode 100644 drivers/firmware/firmware-uclass.c > create mode 100644 drivers/firmware/psci.c > create mode 100644 drivers/sysreset/sysreset_psci.c > create mode 100644 include/linux/arm-smccc.h > Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Hi Lukasz, 2017-04-10 18:16 GMT+09:00 Lukasz Majewski <lukma@denx.de>: > Hi Masahiro, > >> >> For ARMv8, the secure firmware (ex. ARM Trusted Firmware BL31) is >> often implemented, making U-Boot a non-secure world boot loader. >> >> The secure firmware generally includes PSCI. The power management >> operations, including System Reset, are supposed to be handled by >> PSCI. In this case, U-Boot should not touch the system reset >> directly. Instead, U-Boot should call PSCI service to reset the >> system. >> >> In order to implement this, arm-smccc code is needed. The code >> has been copied from Linux. (1/2) >> >> 2/2 implements a generic sysreset driver based on the PSCI >> specification. > > I'm just wondering if it would be possible to: > > 1. Provide the exact Linux files (with SHA1) from main line > > 2. On top of this patch add u-boot adjustments > > 3. Add u-boot specific support for PSCI > > In this way we would have exact info about the source of porting (or > was it ported exactly from v4.11-rc6 tag?) I am OK with this. I will wait for a little more comments before sending v2. Thanks!