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