28UINT64 mWatchdogTimerPeriod = 0;
67 if (mWatchdogTimerNotifyFunction !=
NULL) {
68 mWatchdogTimerNotifyFunction (mWatchdogTimerPeriod);
71 DEBUG ((DEBUG_ERROR,
"Watchdog Timer resetting system\n"));
114 return EFI_INVALID_PARAMETER;
122 return EFI_ALREADY_STARTED;
152 IN UINT64 TimerPeriod
155 mWatchdogTimerPeriod = TimerPeriod;
157 return gBS->SetTimer (
185 IN UINT64 *TimerPeriod
188 if (TimerPeriod ==
NULL) {
189 return EFI_INVALID_PARAMETER;
192 *TimerPeriod = mWatchdogTimerPeriod;
223 Status =
gBS->CreateEvent (
224 EVT_TIMER | EVT_NOTIFY_SIGNAL,
235 Status =
gBS->InstallMultipleProtocolInterfaces (
236 &mWatchdogTimerHandle,
237 &gEfiWatchdogTimerArchProtocolGuid,
STATIC EFI_WATCHDOG_TIMER_ARCH_PROTOCOL mWatchdogTimer
EFI_RUNTIME_SERVICES * gRT
#define ASSERT_EFI_ERROR(StatusParameter)
#define DEBUG(Expression)
#define ASSERT_PROTOCOL_ALREADY_INSTALLED(Handle, Guid)
#define REPORT_STATUS_CODE(Type, Value)
VOID(EFIAPI * EFI_WATCHDOG_TIMER_NOTIFY)(IN UINT64 Time)
VOID EFIAPI NotifyFunction(IN EFI_EVENT Event, IN VOID *Context)
VOID EFIAPI WatchdogTimerDriverExpires(IN EFI_EVENT Timer, IN VOID *Context)
EFI_STATUS EFIAPI WatchdogTimerDriverSetTimerPeriod(IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *This, IN UINT64 TimerPeriod)
EFI_STATUS EFIAPI WatchdogTimerDriverRegisterHandler(IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *This, IN EFI_WATCHDOG_TIMER_NOTIFY NotifyFunction)
EFI_STATUS EFIAPI WatchdogTimerDriverInitialize(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS EFIAPI WatchdogTimerDriverGetTimerPeriod(IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *This, IN UINT64 *TimerPeriod)