[efi] Hold off watchdog timer while running
authorMichael Brown <mcb30@ipxe.org>
Mon, 3 Aug 2015 11:39:05 +0000 (12:39 +0100)
committerMichael Brown <mcb30@ipxe.org>
Mon, 3 Aug 2015 11:48:02 +0000 (12:48 +0100)
commitc6b299df2047adb87fcfa3a132b6ff06633dbc90
tree7ecdae5397b22e8ba88143eaee53091f2d49c272
parentb1caa48e4bb3f15e7eb749e0c3470436ebff3435
[efi] Hold off watchdog timer while running

UEFI platforms may provide a watchdog timer, which will reboot the
machine if an operating system takes more than five minutes to load.
This can cause long-lived iPXE downloads (or interactive shell
sessions) to unexpectedly reboot.

Fix by resetting the watchdog timer every ten seconds while the iPXE
main processing loop continues to run.

Reported-by: Bradley B Williams <bradleybwilliams@swbell.net>
Reported-by: John Clark <john.r.clark.3@gmail.com>
Reported-by: wdriever@gmail.com
Reported-by: Charlie Beima <cbeima@indiana.edu>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/x86/prefix/efiprefix.c
src/include/ipxe/efi/efi_watchdog.h [new file with mode: 0644]
src/include/ipxe/errfile.h
src/interface/efi/efi_snp.c
src/interface/efi/efi_watchdog.c [new file with mode: 0644]