]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h
edk2/MdePkg/Include/Ia32/ProcessorBind.h:
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / AlertStandardFormatTable.h
CommitLineData
42eedea9 1/** @file \r
568eb0cb 2 ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification\r
3\r
4 Copyright (c) 2006 - 2007, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials \r
6 are licensed and made available under the terms and conditions of the BSD License \r
7 which accompanies this distribution. The full text of the license may be found at \r
8 http://opensource.org/licenses/bsd-license.php \r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12**/\r
13\r
14#ifndef _ALERT_STANDARD_FORMAT_TABLE_H\r
15#define _ALERT_STANDARD_FORMAT_TABLE_H\r
16\r
ecc40942 17#include <IndustryStandard/Acpi.h>\r
568eb0cb 18\r
19//\r
20// Ensure proper structure formats\r
21//\r
22#pragma pack (1)\r
23\r
1bc5d021 24///\r
25/// Information Record header that appears at the beginning of each record\r
26///\r
568eb0cb 27typedef struct {\r
28 UINT8 Type;\r
29 UINT8 Reserved;\r
30 UINT16 RecordLength;\r
31} EFI_ACPI_ASF_RECORD_HEADER;\r
32\r
1bc5d021 33///\r
34/// This structure contains information that identifies the system's type \r
35/// and configuration\r
36///\r
568eb0cb 37typedef struct {\r
38 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;\r
39 UINT8 MinWatchDogResetValue;\r
40 UINT8 MinPollingInterval;\r
41 UINT16 SystemID;\r
42 UINT32 IANAManufactureID;\r
43 UINT8 FeatureFlags;\r
44 UINT8 Reserved[3];\r
45} EFI_ACPI_ASF_INFO;\r
46\r
1bc5d021 47///\r
48/// Alert sensors definition\r
49///\r
568eb0cb 50#define ASF_ALRT_SENSOR_ARRAY_LENGTH 36\r
51\r
52typedef struct {\r
53 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;\r
54 UINT8 AssertionEventBitMask;\r
55 UINT8 DeassertionEventBitMask;\r
56 UINT8 NumberOfAlerts;\r
57 UINT8 ArrayElementLength;\r
58 UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];\r
59} EFI_ACPI_ASF_ALRT;\r
60\r
1bc5d021 61///\r
62/// Alert Remote Control System Actions\r
63///\r
568eb0cb 64#define ASF_RCTL_DEVICES_ARRAY_LENGTH 16 \r
65typedef struct {\r
66 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;\r
67 UINT8 NumberOfControls;\r
68 UINT8 ArrayElementLength;\r
69 UINT16 RctlReserved;\r
70 UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];\r
71} EFI_ACPI_ASF_RCTL;\r
72\r
1bc5d021 73///\r
74/// Remote Control Capabilities\r
75///\r
568eb0cb 76typedef struct {\r
77 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;\r
78 UINT8 RemoteControlCapabilities[7];\r
79 UINT8 RMCPCompletionCode;\r
80 UINT32 RMCPIANA;\r
81 UINT8 RMCPSpecialCommand;\r
82 UINT8 RMCPSpecialCommandParameter[2];\r
83 UINT8 RMCPBootOptions[2];\r
84 UINT8 RMCPOEMParameters[2];\r
85} EFI_ACPI_ASF_RMCP;\r
86\r
1bc5d021 87///\r
88/// SMBus Devices with fixed addresses\r
89///\r
568eb0cb 90#define ASF_ADDR_DEVICE_ARRAY_LENGTH 16 \r
91typedef struct {\r
92 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;\r
93 UINT8 SEEPROMAddress;\r
94 UINT8 NumberOfDevices;\r
95 UINT8 FixedSmbusAddresses[ASF_ADDR_DEVICE_ARRAY_LENGTH];\r
96} EFI_ACPI_ASF_ADDR;\r
97\r
98typedef struct {\r
99 EFI_ACPI_DESCRIPTION_HEADER Header;\r
100 EFI_ACPI_ASF_INFO AsfInfo;\r
101 EFI_ACPI_ASF_ALRT AsfAlert;\r
102 EFI_ACPI_ASF_RCTL AsfRctl;\r
103 EFI_ACPI_ASF_RMCP AsfRmcp;\r
104 EFI_ACPI_ASF_ADDR AsfAddr;\r
105} EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE;\r
106\r
1bc5d021 107///\r
108/// "ASF!" ASF Description Table Signature\r
109///\r
568eb0cb 110#define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341\r
111\r
112#pragma pack ()\r
113\r
114#endif // _ALERT_STANDARD_FORMAT_TABLE_H\r