[U-Boot] [PATCH v3 1/1] efi_loader: PSCI reset and shutdown

Alexander Graf agraf at suse.de
Tue Oct 16 12:35:07 UTC 2018



On 16.10.18 06:18, Sumit Garg wrote:
> On Mon, 15 Oct 2018 at 22:13, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>>
>> 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 poweroff command
>> let's move it into the same code module.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> 
> Apart from last comment regarding "reset_misc()" api, I think it is:

Yeah, by removing reset_misc() we basically remove PSCI awareness from
do_reset(), no?


Alex


More information about the U-Boot mailing list