+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- SetWatchdogTimer.c\r
-\r
-Abstract:\r
-\r
- Tiano Miscellaneous Services SetWatchdogTimer service implementation\r
-\r
---*/\r
-\r
-#include <DxeMain.h>\r
-\r
-#define WATCHDOG_TIMER_CALIBRATE_PER_SECOND 10000000\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-CoreSetWatchdogTimer (\r
- IN UINTN Timeout,\r
- IN UINT64 WatchdogCode,\r
- IN UINTN DataSize,\r
- IN CHAR16 *WatchdogData OPTIONAL\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Sets the system's watchdog timer.\r
-\r
-Arguments:\r
-\r
- Timeout The number of seconds. Zero disables the timer.\r
-\r
- ///////following three parameters are left for platform specific using \r
- \r
- WatchdogCode The numberic code to log. 0x0 to 0xffff are firmware\r
- DataSize Size of the optional data\r
- WatchdogData Optional Null terminated unicode string followed by binary \r
- data.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS Timeout has been set\r
- EFI_NOT_AVAILABLE_YET WatchdogTimer is not available yet \r
- EFI_UNSUPPORTED System does not have a timer (currently not used)\r
- EFI_DEVICE_ERROR Could not complete due to hardware error\r
-\r
---*/\r
-{\r
- EFI_STATUS Status;\r
-\r
- //\r
- // Check our architectural protocol\r
- //\r
- if (gWatchdogTimer == NULL) {\r
- return EFI_NOT_AVAILABLE_YET;\r
- }\r
-\r
- //\r
- // Attempt to set the timeout\r
- //\r
- Status = gWatchdogTimer->SetTimerPeriod (gWatchdogTimer, MultU64x32 (Timeout, WATCHDOG_TIMER_CALIBRATE_PER_SECOND));\r
-\r
- //\r
- // Check for errors\r
- //\r
- if (EFI_ERROR (Status)) {\r
- return EFI_DEVICE_ERROR;\r
- }\r
-\r
- return EFI_SUCCESS;\r
-}\r