From: Dmitri Toubelis <
dmitri....@alkeron.com>
This patch allows booting an image without arming watchdog timer
whwn "watchdog=0" parameter is passed to the to the module.
This covers the use case when availability of a hardware driver is
unknown ahead of time and can only be established upon first boot.
The code that runs on the first boot can then identify if supported
hardware watchdog is available and the required driver is present
in the kernel and either update boot configuration re-arming the
timer or issuing a warning unsupported hardware. This also allows
for booting images in virtual environments.
Signed-off-by: Dmitri Toubelis <
dmitri....@litmusautomation.com>
---
main.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/main.c b/main.c
index b71f811..a527e84 100644
--- a/main.c
+++ b/main.c
@@ -50,6 +50,11 @@ static EFI_STATUS scan_devices(EFI_LOADED_IMAGE *loaded_image, UINTN timeout)
EFI_STATUS status;
UINT32 value;
+ if (timeout == 0) {
+ Print(L"Watchdog is disabled.\n");
+ return EFI_SUCCESS;
+ }
+
status = uefi_call_wrapper(BS->LocateHandle, 5, ByProtocol,
&PciIoProtocol, NULL, &size, devices);
if (EFI_ERROR(status)) {
--
2.7.4
From 9f355887dd370b3682f41bc8474955823f09e38b Mon Sep 17 00:00:00 2001
From: Dmitri Toubelis <
dmitri....@litmusautomation.com>
Date: Thu, 1 Feb 2018 00:40:56 -0500
Subject: [efibootguard][PATCH 2/2] Allow "watchdog" be equal "0"
Signed-off-by: Dmitri Toubelis <
dmitri....@litmusautomation.com>
---
tools/bg_setenv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/bg_setenv.c b/tools/bg_setenv.c
index b397aca..37f50ce 100644
--- a/tools/bg_setenv.c
+++ b/tools/bg_setenv.c
@@ -338,7 +338,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state)
break;
case 'w':
i = parse_int(arg);
- if (errno || i == 0) {
+ if (errno || i < 0) {
fprintf(stderr,
"Invalid watchdog timeout specified.\n");
return 1;
--
2.7.4