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