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