--- /dev/null
+/*++\r
+\r
+ Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ \r\r
+ This program and the accompanying materials are licensed and made available under\r\r
+ the terms and conditions of the BSD License that accompanies this distribution. \r\r
+ The full text of the license may be found at \r\r
+ http://opensource.org/licenses/bsd-license.php. \r\r
+ \r\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r\r
+ \r\r
+\r
+\r
+Module Name:\r
+\r
+ TcoReset.h\r
+\r
+Abstract:\r
+\r
+ Protocol to communicate with ICH TCO.\r
+\r
+GUID Info:\r
+ {A6A79162-E325-4c30-BCC3-59373064EFB3}\r
+ 0xa6a79162, 0xe325, 0x4c30, 0xbc, 0xc3, 0x59, 0x37, 0x30, 0x64, 0xef, 0xb3);\r
+\r
+\r
+--*/\r
+\r
+#ifndef _TCO_RESET_H_\r
+#define _TCO_RESET_H_\r
+\r
+\r
+#define EFI_TCO_RESET_PROTOCOL_GUID \\r
+ {0xa6a79162, 0xe325, 0x4c30, 0xbc, 0xc3, 0x59, 0x37, 0x30, 0x64, 0xef, 0xb3}\r
+\r
+typedef struct _EFI_TCO_RESET_PROTOCOL EFI_TCO_RESET_PROTOCOL;\r
+\r
+/**\r
+ Enables the TCO timer to reset the system in case of a system hang. This is\r
+ used when writing the clock registers.\r
+\r
+ @param[in] RcrbGcsSaveValue This is the value of the RCRB GCS register before it is\r
+ changed by this procedure. This will be used to restore\r
+ the settings of this register in PpiDisableTcoReset.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_TCO_RESET_PROTOCOL_ENABLE_TCO_RESET) (\r
+ IN UINT32 *RcrbGcsSaveValue\r
+ );\r
+\r
+/**\r
+ Disables the TCO timer. This is used after writing the clock registers.\r
+\r
+ @param[in] RcrbGcsRestoreValue Value saved in PpiEnableTcoReset so that it can\r
+ restored.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_TCO_RESET_PROTOCOL_DISABLE_TCO_RESET) (\r
+ OUT UINT32 RcrbGcsRestoreValue\r
+ );\r
+\r
+typedef struct _EFI_TCO_RESET_PROTOCOL {\r
+ EFI_TCO_RESET_PROTOCOL_ENABLE_TCO_RESET EnableTcoReset;\r
+ EFI_TCO_RESET_PROTOCOL_DISABLE_TCO_RESET DisableTcoReset;\r
+} EFI_TCO_RESET_PROTOCOL;\r
+\r
+extern EFI_GUID gEfiTcoResetProtocolGuid;\r
+\r
+#endif\r