]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[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 /// Remote Control Capabilities
98 ///
99 typedef struct {
100 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
101 UINT8 RemoteControlCapabilities[7];
102 UINT8 RMCPCompletionCode;
103 UINT32 RMCPIANA;
104 UINT8 RMCPSpecialCommand;
105 UINT8 RMCPSpecialCommandParameter[2];
106 UINT8 RMCPBootOptions[2];
107 UINT8 RMCPOEMParameters[2];
108 } EFI_ACPI_ASF_RMCP;
109
110 ///
111 /// SMBus Devices with fixed addresses
112 ///
113 typedef struct {
114 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
115 UINT8 SEEPROMAddress;
116 UINT8 NumberOfDevices;
117 ///
118 /// UINT8 FixedSmbusAddresses[ANYSIZE_ARRAY];
119 ///
120 } EFI_ACPI_ASF_ADDR;
121
122 ///
123 /// ASF! Description Table Header
124 ///
125 typedef EFI_ACPI_DESCRIPTION_HEADER EFI_ACPI_ASF_DESCRIPTION_HEADER;
126
127 ///
128 /// The revision stored in ASF! DESCRIPTION TABLE as BCD value
129 ///
130 #define EFI_ACPI_2_0_ASF_DESCRIPTION_TABLE_REVISION 0x20
131
132 ///
133 /// "ASF!" ASF Description Table Signature
134 ///
135 #define EFI_ACPI_ASF_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32 ('A', 'S', 'F', '!')
136
137 #pragma pack ()
138
139 #endif // _ALERT_STANDARD_FORMAT_TABLE_H