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