Setwatchdogtimer() – Intel Extensible Firmware Interface User Manual

Page 185

Advertising
background image

Services — Boot Services

Version 1.10

12/01/02

5-87

SetWatchdogTimer()

Summary

Sets the system’s watchdog timer.

Prototype

EFI_STATUS
SetWatchdogTimer (

IN UINTN

Timeout,

IN UINT64

WatchdogCode,

IN UINTN

DataSize,

IN CHAR16

*WatchdogData

OPTIONAL

);

Parameters

Timeout

The number of seconds to set the watchdog timer to. A value of zero
disables the timer.

WatchdogCode

The numeric code to log on a watchdog timer timeout event. The
firmware reserves codes 0x0000 to 0xFFFF. Loaders and operating
systems may use other timeout codes.

DataSize

The size, in bytes, of

WatchdogData

.

WatchdogData

A data buffer that includes a Null-terminated Unicode string, optionally
followed by additional binary data. The string is a description that the
call may use to further indicate the reason to be logged with a watchdog
event.

Description

The

SetWatchdogTimer()

function sets the system’s watchdog timer.

If the watchdog timer expires, the event is logged by the firmware. The system may then either
reset with the Runtime Service

ResetSystem()

, or perform a platform specific action that must

eventually cause the platform to be reset. The watchdog timer is armed before the firmware's boot
manager invokes an EFI boot option. The watchdog must be set to a period of 5 minutes. The EFI
Image may reset or disable the watchdog timer as needed. If control is returned to the firmware's
boot manager, the watchdog timer must be disabled.

The watchdog timer is only used during boot services. On successful completion of

ExitBootServices()

the watchdog timer is disabled.

The accuracy of the watchdog timer is +/- 1 second from the requested

Timeout

.

Status Codes Returned

EFI_SUCCESS

The timeout has been set.

EFI_INVALID_PARAMETER

The supplied

WatchdogCode

is invalid.

EFI_UNSUPPORTED

The system does not have a watchdog timer.

EFI_DEVICE_ERROR

The watch dog timer could not be programmed due to a hardware
error.

Advertising