# WatchdogTimer

**Index:** 0083 (83)
**Size:** 3936 bytes (PE32+ body)
**Phase:** DXE (Driver eXecution Environment)
**Subsystem:** EFI_BOOT_SERVICE_DRIVER (0x0B)

## Overview

Watchdog Timer UEFI Driver. Implements the EFI_WATCHDOG_TIMER_ARCH_PROTOCOL for the HR650X platform. The watchdog timer is a hardware feature that resets the system if firmware or software becomes unresponsive within a configurable time period. Provides RegisterHandler, SetTimerPeriod, and GetTimerPeriod services. On timer expiry, calls the registered notification handler then resets the system via gRT->ResetSystem(). Coordinates with the SMM watchdog handler via the SMM Communication Protocol to synchronize watchdog state between DXE and SMM phases.

## Key Functions

- **WatchdogTimerDriverEntry** -- Module entry point; installs the Watchdog Timer Architectural Protocol
- **WatchdogTimerRegisterHandler** -- Registers a notification handler to be called on watchdog expiry
- **WatchdogTimerSetTimerPeriod** -- Sets the watchdog timer period and enables/disables the watchdog
- **WatchdogTimerGetTimerPeriod** -- Returns the current watchdog timer period
- **WatchdogTimerHandler** -- Internal handler invoked on timer expiry; calls registered notification then resets system
- **WatchdogSmmSync** -- Synchronizes watchdog state with the SMM watchdog handler

## Protocols / Dependencies

- EFI_WATCHDOG_TIMER_ARCH_PROTOCOL (gEfiWatchdogTimerArchProtocolGuid) -- {665E3FF5-46CC-11D4-9A38-0090273FC14D}
- EFI_SMM_COMMUNICATION_PROTOCOL -- Communication with SMM watchdog handler
- EFI_RUNTIME_SERVICES -- ResetSystem() for system reset on watchdog expiry
- UEFI Boot Services -- Protocol installation and timer management
- HOB List -- Access to HOB data for debug output device detection

## Platform

HR650X BIOS, x86-64 architecture. Module originates from MdeModulePkg/Universal/WatchdogTimerDxe (EDK2).