https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
		
			
				
	
	
		
			141 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  ACPI Alert Standard Format Description Table ASF! as described in the ASF2.0 Specification
 | 
						|
 | 
						|
  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef _ALERT_STANDARD_FORMAT_TABLE_H_
 | 
						|
#define _ALERT_STANDARD_FORMAT_TABLE_H_
 | 
						|
 | 
						|
#include <IndustryStandard/Acpi.h>
 | 
						|
 | 
						|
//
 | 
						|
// Ensure proper structure formats
 | 
						|
//
 | 
						|
#pragma pack (1)
 | 
						|
 | 
						|
///
 | 
						|
/// 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
 | 
						|
///
 | 
						|
typedef struct {
 | 
						|
  EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;
 | 
						|
  UINT8                                MinWatchDogResetValue;
 | 
						|
  UINT8                                MinPollingInterval;
 | 
						|
  UINT16                               SystemID;
 | 
						|
  UINT32                               IANAManufactureID;
 | 
						|
  UINT8                                FeatureFlags;
 | 
						|
  UINT8                                Reserved[3];
 | 
						|
} EFI_ACPI_ASF_INFO;
 | 
						|
 | 
						|
///
 | 
						|
/// 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; ///< 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 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; ///< For ASF version 1.0 and later, this filed is set to 0x4
 | 
						|
  UINT16                               RctlReserved;
 | 
						|
  ///
 | 
						|
  /// EFI_ACPI_ASF_CONTROLDATA;        DeviceArray[ANYSIZE_ARRAY];
 | 
						|
  ///
 | 
						|
} EFI_ACPI_ASF_RCTL;
 | 
						|
 | 
						|
 | 
						|
///
 | 
						|
/// Remote Control Capabilities
 | 
						|
///
 | 
						|
typedef struct {
 | 
						|
  EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;
 | 
						|
  UINT8                                RemoteControlCapabilities[7];
 | 
						|
  UINT8                                RMCPCompletionCode;
 | 
						|
  UINT32                               RMCPIANA;
 | 
						|
  UINT8                                RMCPSpecialCommand;
 | 
						|
  UINT8                                RMCPSpecialCommandParameter[2];
 | 
						|
  UINT8                                RMCPBootOptions[2];
 | 
						|
  UINT8                                RMCPOEMParameters[2];
 | 
						|
} EFI_ACPI_ASF_RMCP;
 | 
						|
 | 
						|
///
 | 
						|
/// SMBus Devices with fixed addresses
 | 
						|
///
 | 
						|
typedef struct {
 | 
						|
  EFI_ACPI_ASF_RECORD_HEADER           RecordHeader;
 | 
						|
  UINT8                                SEEPROMAddress;
 | 
						|
  UINT8                                NumberOfDevices;
 | 
						|
  ///
 | 
						|
  /// UINT8                            FixedSmbusAddresses[ANYSIZE_ARRAY];
 | 
						|
  ///
 | 
						|
} EFI_ACPI_ASF_ADDR;
 | 
						|
 | 
						|
///
 | 
						|
/// ASF! Description Table Header
 | 
						|
///
 | 
						|
typedef EFI_ACPI_DESCRIPTION_HEADER EFI_ACPI_ASF_DESCRIPTION_HEADER;
 | 
						|
 | 
						|
///
 | 
						|
/// 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 ()
 | 
						|
 | 
						|
#endif // _ALERT_STANDARD_FORMAT_TABLE_H
 |