On 17.08.17 19:18, Heinrich Schuchardt wrote:
The UEFI standard requires a watchdog timer that is preset to
five minutes. After this period the system is reset.

The watchdog shall be disabled by ExitBootServices.

An EFI application can call efi_set_watchdog_timer to either
reset the watchdog timer or disable it. This may be necessary
if the EFI application has an interactive interface which may
be used for more than five minutes, e.g. the grub console.

U-Boot currently does not implement this watchdog.

If efi_set_watchdog_timer is called to reset the watchdog we
can safely return EFI_SUCCESS to signal that we will not
interrupt the EFI application in the timeout interval.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>

U-Boot actually implements a watchdog, but doesn't expose the details of it to UEFI payloads.

Could you please explain why you need to fake a successful return code here? A payload may depend on the fact that the watchdog does actually trigger after n seconds, but with this change wouldn't have any chance to know it won't happen.


Alex

---
  lib/efi_loader/efi_boottime.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 2674c5187e..de6646feb0 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -887,7 +887,7 @@ static efi_status_t EFIAPI efi_set_watchdog_timer(unsigned 
long timeout,
  {
        EFI_ENTRY("%ld, 0x%"PRIx64", %ld, %p", timeout, watchdog_code,
                  data_size, watchdog_data);
-       return efi_unsupported(__func__);
+       return EFI_EXIT(EFI_SUCCESS);
  }
static efi_status_t EFIAPI efi_connect_controller(

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to