-/*++\r
+/** @file \r
\r
-Copyright (c) 2006, Intel Corporation \r
+ UEFI Miscellaneous boot Services SetWatchdogTimer service implementation\r
+\r
+Copyright (c) 2006 - 2008, 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
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
\r
#include <DxeMain.h>\r
\r
#define WATCHDOG_TIMER_CALIBRATE_PER_SECOND 10000000\r
\r
+/**\r
+ Sets the system's watchdog timer.\r
\r
+ @param Timeout The number of seconds to set the watchdog timer to.\r
+ A value of zero disables the timer.\r
+ @param WatchdogCode The numeric code to log on a watchdog timer timeout\r
+ event. The firmware reserves codes 0x0000 to 0xFFFF.\r
+ Loaders and operating systems may use other timeout\r
+ codes.\r
+ @param DataSize The size, in bytes, of WatchdogData.\r
+ @param WatchdogData A data buffer that includes a Null-terminated Unicode\r
+ string, optionally followed by additional binary data.\r
+ The string is a description that the call may use to\r
+ further indicate the reason to be logged with a\r
+ watchdog event.\r
+\r
+ @return EFI_SUCCESS Timeout has been set\r
+ @return EFI_NOT_AVAILABLE_YET WatchdogTimer is not available yet\r
+ @return EFI_UNSUPPORTED System does not have a timer (currently not used)\r
+ @return EFI_DEVICE_ERROR Could not complete due to hardware error\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
CoreSetWatchdogTimer (\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