[...]
> >> Changes in v2:
> >> - As per review comments made default y for EFI_PSCI_RESET_RUNTIME config
> >> ---
> >> drivers/firmware/psci.c | 4 ++--
> >> lib/efi_loader/Kconfig | 8 ++++++++
> >> 2 files changed, 10 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c
> >> index 2e3223e1c32..009c6153d0c 100644
> >> --- a/drivers/firmware/psci.c
> >> +++ b/drivers/firmware/psci.c
> >> @@ -244,7 +244,7 @@ static void __maybe_unused do_psci_probe(void)
> >> uclass_get_device_by_name(UCLASS_FIRMWARE, DRIVER_NAME, &dev);
> >> }
> >>
> >> -#if IS_ENABLED(CONFIG_EFI_LOADER) && IS_ENABLED(CONFIG_PSCI_RESET)
> >> +#if IS_ENABLED(CONFIG_EFI_PSCI_RESET_RUNTIME)
> >> efi_status_t efi_reset_system_init(void)
> >> {
> >> do_psci_probe();
> >> @@ -266,7 +266,7 @@ void __efi_runtime EFIAPI efi_reset_system(enum
> >> efi_reset_type reset_type,
> >> while (1)
> >> ;
> >> }
> >> -#endif /* IS_ENABLED(CONFIG_EFI_LOADER) && IS_ENABLED(CONFIG_PSCI_RESET)
> >> */
> >> +#endif /* IS_ENABLED(CONFIG_EFI_PSCI_RESET_RUNTIME) */
> > You also have to adjust the RT config table in
> > lib/efi_loader/efi_runtime.c, but I really think we should reuse
> > EFI_HAVE_RUNTIME_RESET
> EFI_HAVE_RUNTIME_RESET is enabled by default & depends on PSCI_RESET config,
> So even if i disabled EFI_HAVE_RUNTIME_RESET on defconfig it was
> overridden, since PSCI_RESET is enabled it was auto enabling it, hence
> introduced a new config CONFIG_EFI_PSCI_RESET_RUNTIME to control psci
> based EFI runtime reset control.
That's something we should change then. Having PSCI enabled doesn't
automatically mean you can have a runtime service for it.
Also this patch seems incorrect, since the EFI RT config table still
claims it support runtime resets, but it only uses the default
function.
In your setup should the firmware claim it supports runtime resets?
Thanks
/Ilias
>
> Thanks,
> Aswin
> >
> > Cheers
> > /Ilias
> >> #ifdef CONFIG_PSCI_RESET
> >> void reset_misc(void)
> >> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> >> index 13e44be1d06..3882de273bb 100644
> >> --- a/lib/efi_loader/Kconfig
> >> +++ b/lib/efi_loader/Kconfig
> >> @@ -106,6 +106,14 @@ config EFI_HAVE_RUNTIME_RESET
> >> depends on ARCH_BCM283X || FSL_LAYERSCAPE || PSCI_RESET || \
> >> SANDBOX || SYSRESET_SBI || SYSRESET_X86
> >>
> >> +config EFI_PSCI_RESET_RUNTIME
> >> + bool "EFI Runtime PSCI Reset Support"
> >> + default y if EFI_LOADER && PSCI_RESET
> >> + depends on ARM_PSCI_FW
> >> + help
> >> + Enable PSCI-based reset implementation for EFI runtime services.
> >> + This allows the OS to reset the system through EFI runtime calls.
> >> +
> >> endmenu
> >>
> >> menu "UEFI Variables"
> >> --
> >> 2.34.1
> >>