u-boot-brain/arch
Heinrich Schuchardt 81ea00838c efi_loader: PSCI reset and shutdown
When an operating system started via bootefi tries to reset or power off
this is done by calling the EFI runtime ResetSystem(). On most ARMv8 system
the actual reset relies on PSCI. Depending on whether the PSCI firmware
resides the hypervisor (EL2) or in the secure monitor (EL3) either an HVC
or an SMC command has to be issued.

The current implementation always uses SMC. This results in crashes on
systems where the PSCI firmware is implemented in the hypervisor, e.g.
qemu-arm64_defconfig.

The logic to decide which call is needed based on the device tree is
already implemented in the PSCI firmware driver. During the EFI runtime
the device driver model is not available. But we can minimize code
duplication by merging the EFI runtime reset and poweroff code with
the PSCI firmware driver.

As the same HVC/SMC problem is also evident for the ARMv8 do_poweroff
and reset_misc routines let's move them into the same code module.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Tested-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2018-12-02 21:59:37 +01:00
..
arc emdk->emsdp: Rename board 2018-11-01 23:04:05 +03:00
arm efi_loader: PSCI reset and shutdown 2018-12-02 21:59:37 +01:00
m68k m68k: ColdFire mcf5441x, add eSDHC support 2018-09-16 00:01:13 +02:00
microblaze arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
mips mips: mt7628: Change compatible property of the ethernet DT node 2018-11-30 17:21:44 +01:00
nds32 Drop CONFIG_INIT_CRITICAL 2018-11-26 13:57:31 +08:00
nios2 .gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore 2018-06-18 14:43:12 -04:00
powerpc spl: Add support for passing handoff info to U-Boot proper 2018-11-26 08:25:37 -05:00
riscv riscv: efi: Generate Microsoft PE format compliant images 2018-12-02 21:59:36 +01:00
sandbox sandbox: Use memmove() to move overlapping regions 2018-11-29 09:30:05 -07:00
sh Kbuild: add LDFLAGS_STANDALONE 2018-11-18 16:02:23 +01:00
x86 x86: efi: app: Generate Microsoft PE format compliant image 2018-12-02 21:59:36 +01:00
xtensa xtensa: use asm-generic/atomic.h 2018-09-25 21:49:18 -04:00
.gitignore
Kconfig test: Add a simple test for bloblist 2018-11-26 08:25:33 -05:00