]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/AlertStandardFormatTable.h
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / AlertStandardFormatTable.h
1 /*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7
8
9 Module Name:
10
11 AlertStandardFormatTable.h
12
13 Abstract:
14
15 ACPI Alert Standard Format Description Table ASF! as described
16 in the ASF2.0 Specification
17
18 --*/
19
20 #ifndef _ALERT_STANDARD_FORMAT_TABLE_H
21 #define _ALERT_STANDARD_FORMAT_TABLE_H
22
23 #include <IndustryStandard/Acpi20.h>
24
25 //
26 // Ensure proper structure formats.
27 //
28 #pragma pack (1)
29
30 //
31 // Information Record header that appears at the beginning of each record.
32 //
33 typedef struct {
34 UINT8 Type;
35 UINT8 Reserved;
36 UINT16 RecordLength;
37 } EFI_ACPI_ASF_RECORD_HEADER;
38
39 //
40 // This structure contains information that identifies the system type
41 // and configuration.
42 //
43 typedef struct {
44 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
45 UINT8 MinWatchDogResetValue;
46 UINT8 MinPollingInterval;
47 UINT16 SystemID;
48 UINT32 IANAManufactureID;
49 UINT8 FeatureFlags;
50 UINT8 Reserved[3];
51 } EFI_ACPI_ASF_INFO;
52
53 //
54 // Alert sensors definition.
55 //
56 #define ASF_ALRT_SENSOR_ARRAY_LENGTH 36
57
58 typedef struct {
59 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
60 UINT8 AssertionEventBitMask;
61 UINT8 DeassertionEventBitMask;
62 UINT8 NumberOfAlerts;
63 UINT8 ArrayElementLength;
64 UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];
65 } EFI_ACPI_ASF_ALRT;
66
67 //
68 // Alert Remote Control System Actions.
69 //
70 #define ASF_RCTL_DEVICES_ARRAY_LENGTH 16
71
72 typedef struct {
73 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
74 UINT8 NumberOfControls;
75 UINT8 ArrayElementLength;
76 UINT16 RctlReserved;
77 UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];
78 } EFI_ACPI_ASF_RCTL;
79
80 //
81 // Remote Control Capabilities.
82 //
83 typedef struct {
84 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
85 UINT8 RemoteControlCapabilities[7];
86 UINT8 RMCPCompletionCode;
87 UINT32 RMCPIANA;
88 UINT8 RMCPSpecialCommand;
89 UINT8 RMCPSpecialCommandParameter[2];
90 UINT8 RMCPBootOptions[2];
91 UINT8 RMCPOEMParameters[2];
92 } EFI_ACPI_ASF_RMCP;
93
94 //
95 // SMBus Devices with fixed addresses.
96 //
97 #define ASF_ADDR_DEVICE_ARRAY_LENGTH 16
98
99 typedef struct {
100 EFI_ACPI_ASF_RECORD_HEADER RecordHeader;
101 UINT8 SEEPROMAddress;
102 UINT8 NumberOfDevices;
103 UINT8 FixedSmbusAddresses[ASF_ADDR_DEVICE_ARRAY_LENGTH];
104 } EFI_ACPI_ASF_ADDR;
105
106 typedef struct {
107 EFI_ACPI_DESCRIPTION_HEADER Header;
108 EFI_ACPI_ASF_INFO AsfInfo;
109 EFI_ACPI_ASF_ALRT AsfAlert;
110 EFI_ACPI_ASF_RCTL AsfRctl;
111 EFI_ACPI_ASF_RMCP AsfRmcp;
112 EFI_ACPI_ASF_ADDR AsfAddr;
113 } EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE;
114
115 //
116 // "ASF!" ASF Description Table Signature.
117 //
118 #define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341
119
120 #pragma pack ()
121
122 #endif // _ALERT_STANDARD_FORMAT_TABLE_H