]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h
added EFI_SIGNATURE_XX in Base.h, and updated the industry header files to use them.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / AlertStandardFormatTable.h
index 5a9e57660f6dd6d35a600294dbbe1eda11ff6701..ef2462e6543514c2a6fc7707b13406989bdfe0a1 100644 (file)
@@ -1,7 +1,7 @@
 /** @file   \r
        ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification\r
 \r
-  Copyright (c) 2006 - 2007, Intel Corporation\r
+  Copyright (c) 2006 - 2008, Intel Corporation\r
   All rights reserved. This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
@@ -11,8 +11,8 @@
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
 **/\r
 \r
-#ifndef _ALERT_STANDARD_FORMAT_TABLE_H\r
-#define _ALERT_STANDARD_FORMAT_TABLE_H\r
+#ifndef _ALERT_STANDARD_FORMAT_TABLE_H_\r
+#define _ALERT_STANDARD_FORMAT_TABLE_H_\r
 \r
 #include <IndustryStandard/Acpi.h>\r
 \r
 //\r
 #pragma pack (1)\r
 \r
-//\r
-// Information Record header that appears at the beginning of each record\r
-//\r
+///\r
+/// Information Record header that appears at the beginning of each record\r
+///\r
 typedef struct {\r
   UINT8                                Type;\r
   UINT8                                Reserved;\r
   UINT16                               RecordLength;\r
 } EFI_ACPI_ASF_RECORD_HEADER;\r
 \r
-//\r
-// This structure contains information that identifies the system's type \r
-// and configuration\r
-//\r
+///\r
+/// This structure contains information that identifies the system's type \r
+/// and configuration\r
+///\r
 typedef struct {\r
   EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;\r
   UINT8                                MinWatchDogResetValue;\r
@@ -44,35 +44,65 @@ typedef struct {
   UINT8                                Reserved[3];\r
 } EFI_ACPI_ASF_INFO;\r
 \r
-//\r
-// Alert sensors definition\r
-//\r
-#define ASF_ALRT_SENSOR_ARRAY_LENGTH     36\r
-\r
+///\r
+/// ASF Alert Data\r
+///\r
+typedef struct {\r
+  UINT8                                DeviceAddress;\r
+  UINT8                                Command;\r
+  UINT8                                DataMask;\r
+  UINT8                                CompareValue;\r
+  UINT8                                EventSenseType;\r
+  UINT8                                EventType;\r
+  UINT8                                EventOffset;\r
+  UINT8                                EventSourceType;\r
+  UINT8                                EventSeverity;\r
+  UINT8                                SensorNumber;\r
+  UINT8                                Entity;\r
+  UINT8                                EntityInstance;\r
+} EFI_ACPI_ASF_ALERTDATA;\r
+\r
+///\r
+/// Alert sensors definition\r
+///\r
 typedef struct {\r
   EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;\r
   UINT8                                AssertionEventBitMask;\r
   UINT8                                DeassertionEventBitMask;\r
   UINT8                                NumberOfAlerts;\r
-  UINT8                                ArrayElementLength;\r
-  UINT8                                DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH];\r
+  UINT8                                ArrayElementLength; ///< For ASF version 1.0 and later, this filed is set to 0x0C\r
+  ///\r
+  /// EFI_ACPI_ASF_ALERTDATA           DeviceArray[ANYSIZE_ARRAY];\r
+  ///\r
 } EFI_ACPI_ASF_ALRT;\r
 \r
-//\r
-// Alert Remote Control System Actions\r
-//\r
-#define ASF_RCTL_DEVICES_ARRAY_LENGTH      16  \r
+///\r
+/// Alert Control Data\r
+///\r
+typedef struct {\r
+  UINT8                                Function;\r
+  UINT8                                DeviceAddress;\r
+  UINT8                                Command;\r
+  UINT8                                DataValue;\r
+} EFI_ACPI_ASF_CONTROLDATA;       \r
+\r
+///\r
+/// Alert Remote Control System Actions\r
+///\r
 typedef struct {\r
   EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;\r
   UINT8                                NumberOfControls;\r
-  UINT8                                ArrayElementLength;\r
+  UINT8                                ArrayElementLength; ///< For ASF version 1.0 and later, this filed is set to 0x4\r
   UINT16                               RctlReserved;\r
-  UINT8                                ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH];\r
+  ///\r
+  /// EFI_ACPI_ASF_CONTROLDATA;        DeviceArray[ANYSIZE_ARRAY];\r
+  ///\r
 } EFI_ACPI_ASF_RCTL;\r
 \r
-//\r
-// Remote Control Capabilities\r
-//\r
+\r
+///\r
+/// Remote Control Capabilities\r
+///\r
 typedef struct {\r
   EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;\r
   UINT8                                RemoteControlCapabilities[7];\r
@@ -84,30 +114,32 @@ typedef struct {
   UINT8                                RMCPOEMParameters[2];\r
 } EFI_ACPI_ASF_RMCP;\r
 \r
-//\r
-// SMBus Devices with fixed addresses\r
-//\r
-#define ASF_ADDR_DEVICE_ARRAY_LENGTH      16  \r
+///\r
+/// SMBus Devices with fixed addresses\r
+///\r
 typedef struct {\r
   EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;\r
   UINT8                                SEEPROMAddress;\r
   UINT8                                NumberOfDevices;\r
-  UINT8                                FixedSmbusAddresses[ASF_ADDR_DEVICE_ARRAY_LENGTH];\r
+  ///\r
+  /// UINT8                            FixedSmbusAddresses[ANYSIZE_ARRAY];\r
+  ///\r
 } EFI_ACPI_ASF_ADDR;\r
 \r
-typedef struct {\r
-  EFI_ACPI_DESCRIPTION_HEADER          Header;\r
-  EFI_ACPI_ASF_INFO                    AsfInfo;\r
-  EFI_ACPI_ASF_ALRT                    AsfAlert;\r
-  EFI_ACPI_ASF_RCTL                    AsfRctl;\r
-  EFI_ACPI_ASF_RMCP                    AsfRmcp;\r
-  EFI_ACPI_ASF_ADDR                    AsfAddr;\r
-} EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE;\r
+///\r
+/// ASF! Description Table Header\r
+///\r
+typedef EFI_ACPI_DESCRIPTION_HEADER EFI_ACPI_ASF_DESCRIPTION_HEADER;\r
 \r
-//\r
-// "ASF!" ASF Description Table Signature\r
-//\r
-#define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE  0x21465341\r
+///\r
+/// The revision stored in ASF! DESCRIPTION TABLE as BCD value\r
+///\r
+#define EFI_ACPI_2_0_ASF_DESCRIPTION_TABLE_REVISION   0x20\r
+\r
+///\r
+/// "ASF!" ASF Description Table Signature\r
+///\r
+#define EFI_ACPI_ASF_DESCRIPTION_TABLE_SIGNATURE  SIGNATURE_32 ('A', 'S', 'F', '!')\r
 \r
 #pragma pack ()\r
 \r