]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / AlertStandardFormatTable.h
1 /** @file
2 ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification
3
4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6 **/
7
8 #ifndef _ALERT_STANDARD_FORMAT_TABLE_H_
9 #define _ALERT_STANDARD_FORMAT_TABLE_H_
10
11 #include <IndustryStandard/Acpi.h>
12
13 //
14 // Ensure proper structure formats
15 //
16 #pragma pack (1)
17
18 ///
19 /// Information Record header that appears at the beginning of each record
20 ///
21 typedef struct {
22 UINT8 Type;
23 UINT8 Reserved;
24 UINT16 RecordLength;
25 } EFI_ACPI_ASF_RECORD_HEADER;
26
27 ///
28 /// This structure contains information that identifies the system's type
29 /// and configuration
30 ///
31 typedef struct {
32 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
33 UINT8 MinWatchDogResetValue;
34 UINT8 MinPollingInterval;
35 UINT16 SystemID;
36 UINT32 IANAManufactureID;
37 UINT8 FeatureFlags;
38 UINT8 Reserved[3];
39 } EFI_ACPI_ASF_INFO;
40
41 ///
42 /// ASF Alert Data
43 ///
44 typedef struct {
45 UINT8 DeviceAddress;
46 UINT8 Command;
47 UINT8 DataMask;
48 UINT8 CompareValue;
49 UINT8 EventSenseType;
50 UINT8 EventType;
51 UINT8 EventOffset;
52 UINT8 EventSourceType;
53 UINT8 EventSeverity;
54 UINT8 SensorNumber;
55 UINT8 Entity;
56 UINT8 EntityInstance;
57 } EFI_ACPI_ASF_ALERTDATA;
58
59 ///
60 /// Alert sensors definition
61 ///
62 typedef struct {
63 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
64 UINT8 AssertionEventBitMask;
65 UINT8 DeassertionEventBitMask;
66 UINT8 NumberOfAlerts;
67 UINT8 ArrayElementLength; ///< For ASF version 1.0 and later, this filed is set to 0x0C
68 ///
69 /// EFI_ACPI_ASF_ALERTDATA DeviceArray[ANYSIZE_ARRAY];
70 ///
71 } EFI_ACPI_ASF_ALRT;
72
73 ///
74 /// Alert Control Data
75 ///
76 typedef struct {
77 UINT8 Function;
78 UINT8 DeviceAddress;
79 UINT8 Command;
80 UINT8 DataValue;
81 } EFI_ACPI_ASF_CONTROLDATA;
82
83 ///
84 /// Alert Remote Control System Actions
85 ///
86 typedef struct {
87 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
88 UINT8 NumberOfControls;
89 UINT8 ArrayElementLength; ///< For ASF version 1.0 and later, this filed is set to 0x4
90 UINT16 RctlReserved;
91 ///
92 /// EFI_ACPI_ASF_CONTROLDATA; DeviceArray[ANYSIZE_ARRAY];
93 ///
94 } EFI_ACPI_ASF_RCTL;
95
96
97 ///
98 /// Remote Control Capabilities
99 ///
100 typedef struct {
101 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
102 UINT8 RemoteControlCapabilities[7];
103 UINT8 RMCPCompletionCode;
104 UINT32 RMCPIANA;
105 UINT8 RMCPSpecialCommand;
106 UINT8 RMCPSpecialCommandParameter[2];
107 UINT8 RMCPBootOptions[2];
108 UINT8 RMCPOEMParameters[2];
109 } EFI_ACPI_ASF_RMCP;
110
111 ///
112 /// SMBus Devices with fixed addresses
113 ///
114 typedef struct {
115 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
116 UINT8 SEEPROMAddress;
117 UINT8 NumberOfDevices;
118 ///
119 /// UINT8 FixedSmbusAddresses[ANYSIZE_ARRAY];
120 ///
121 } EFI_ACPI_ASF_ADDR;
122
123 ///
124 /// ASF! Description Table Header
125 ///
126 typedef EFI_ACPI_DESCRIPTION_HEADER EFI_ACPI_ASF_DESCRIPTION_HEADER;
127
128 ///
129 /// The revision stored in ASF! DESCRIPTION TABLE as BCD value
130 ///
131 #define EFI_ACPI_2_0_ASF_DESCRIPTION_TABLE_REVISION 0x20
132
133 ///
134 /// "ASF!" ASF Description Table Signature
135 ///
136 #define EFI_ACPI_ASF_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32 ('A', 'S', 'F', '!')
137
138 #pragma pack ()
139
140 #endif // _ALERT_STANDARD_FORMAT_TABLE_H