X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdePkg%2FInclude%2FIndustryStandard%2FAlertStandardFormatTable.h;h=fac8fc33a3dda041624af7119ac9b0ac0546bab7;hb=81c1b6df92184f07446b6cf197b18c61ad8b73f0;hp=3500803d416c9a4d8dde7b6bf8f16232c08daf25;hpb=568eb0cb4be2a61d7ae6273582438fd80223f49c;p=mirror_edk2.git diff --git a/MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h b/MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h index 3500803d41..fac8fc33a3 100644 --- a/MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h +++ b/MdePkg/Include/IndustryStandard/AlertStandardFormatTable.h @@ -1,9 +1,8 @@ -/** - @file - ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification +/** @file + ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification - Copyright (c) 2006 - 2007, Intel Corporation - All rights reserved. This program and the accompanying materials + Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+ This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php @@ -12,29 +11,29 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ -#ifndef _ALERT_STANDARD_FORMAT_TABLE_H -#define _ALERT_STANDARD_FORMAT_TABLE_H +#ifndef _ALERT_STANDARD_FORMAT_TABLE_H_ +#define _ALERT_STANDARD_FORMAT_TABLE_H_ -#include "Acpi2_0.h" +#include // // Ensure proper structure formats // #pragma pack (1) -// -// Information Record header that appears at the beginning of each record -// +/// +/// Information Record header that appears at the beginning of each record +/// typedef struct { UINT8 Type; UINT8 Reserved; UINT16 RecordLength; } EFI_ACPI_ASF_RECORD_HEADER; -// -// This structure contains information that identifies the system's type -// and configuration -// +/// +/// This structure contains information that identifies the system's type +/// and configuration +/// typedef struct { EFI_ACPI_ASF_RECORD_HEADER RecordHeader; UINT8 MinWatchDogResetValue; @@ -45,35 +44,65 @@ typedef struct { UINT8 Reserved[3]; } EFI_ACPI_ASF_INFO; -// -// Alert sensors definition -// -#define ASF_ALRT_SENSOR_ARRAY_LENGTH 36 - +/// +/// ASF Alert Data +/// +typedef struct { + UINT8 DeviceAddress; + UINT8 Command; + UINT8 DataMask; + UINT8 CompareValue; + UINT8 EventSenseType; + UINT8 EventType; + UINT8 EventOffset; + UINT8 EventSourceType; + UINT8 EventSeverity; + UINT8 SensorNumber; + UINT8 Entity; + UINT8 EntityInstance; +} EFI_ACPI_ASF_ALERTDATA; + +/// +/// Alert sensors definition +/// typedef struct { EFI_ACPI_ASF_RECORD_HEADER RecordHeader; UINT8 AssertionEventBitMask; UINT8 DeassertionEventBitMask; UINT8 NumberOfAlerts; - UINT8 ArrayElementLength; - UINT8 DeviceArray[ASF_ALRT_SENSOR_ARRAY_LENGTH]; + UINT8 ArrayElementLength; ///< For ASF version 1.0 and later, this filed is set to 0x0C + /// + /// EFI_ACPI_ASF_ALERTDATA DeviceArray[ANYSIZE_ARRAY]; + /// } EFI_ACPI_ASF_ALRT; -// -// Alert Remote Control System Actions -// -#define ASF_RCTL_DEVICES_ARRAY_LENGTH 16 +/// +/// Alert Control Data +/// +typedef struct { + UINT8 Function; + UINT8 DeviceAddress; + UINT8 Command; + UINT8 DataValue; +} EFI_ACPI_ASF_CONTROLDATA; + +/// +/// Alert Remote Control System Actions +/// typedef struct { EFI_ACPI_ASF_RECORD_HEADER RecordHeader; UINT8 NumberOfControls; - UINT8 ArrayElementLength; + UINT8 ArrayElementLength; ///< For ASF version 1.0 and later, this filed is set to 0x4 UINT16 RctlReserved; - UINT8 ControlArray[ASF_RCTL_DEVICES_ARRAY_LENGTH]; + /// + /// EFI_ACPI_ASF_CONTROLDATA; DeviceArray[ANYSIZE_ARRAY]; + /// } EFI_ACPI_ASF_RCTL; -// -// Remote Control Capabilities -// + +/// +/// Remote Control Capabilities +/// typedef struct { EFI_ACPI_ASF_RECORD_HEADER RecordHeader; UINT8 RemoteControlCapabilities[7]; @@ -85,30 +114,32 @@ typedef struct { UINT8 RMCPOEMParameters[2]; } EFI_ACPI_ASF_RMCP; -// -// SMBus Devices with fixed addresses -// -#define ASF_ADDR_DEVICE_ARRAY_LENGTH 16 +/// +/// SMBus Devices with fixed addresses +/// typedef struct { EFI_ACPI_ASF_RECORD_HEADER RecordHeader; UINT8 SEEPROMAddress; UINT8 NumberOfDevices; - UINT8 FixedSmbusAddresses[ASF_ADDR_DEVICE_ARRAY_LENGTH]; + /// + /// UINT8 FixedSmbusAddresses[ANYSIZE_ARRAY]; + /// } EFI_ACPI_ASF_ADDR; -typedef struct { - EFI_ACPI_DESCRIPTION_HEADER Header; - EFI_ACPI_ASF_INFO AsfInfo; - EFI_ACPI_ASF_ALRT AsfAlert; - EFI_ACPI_ASF_RCTL AsfRctl; - EFI_ACPI_ASF_RMCP AsfRmcp; - EFI_ACPI_ASF_ADDR AsfAddr; -} EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE; +/// +/// ASF! Description Table Header +/// +typedef EFI_ACPI_DESCRIPTION_HEADER EFI_ACPI_ASF_DESCRIPTION_HEADER; -// -// "ASF!" ASF Description Table Signature -// -#define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE 0x21465341 +/// +/// The revision stored in ASF! DESCRIPTION TABLE as BCD value +/// +#define EFI_ACPI_2_0_ASF_DESCRIPTION_TABLE_REVISION 0x20 + +/// +/// "ASF!" ASF Description Table Signature +/// +#define EFI_ACPI_ASF_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32 ('A', 'S', 'F', '!') #pragma pack ()