diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Board/EM/MeWrapper/AmtWrapper/AsfTable | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'Board/EM/MeWrapper/AmtWrapper/AsfTable')
-rw-r--r-- | Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.c | 300 | ||||
-rw-r--r-- | Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.cif | 12 | ||||
-rw-r--r-- | Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.dxs | 66 | ||||
-rw-r--r-- | Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.h | 70 | ||||
-rw-r--r-- | Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.mak | 79 | ||||
-rw-r--r-- | Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.sdl | 24 |
6 files changed, 551 insertions, 0 deletions
diff --git a/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.c b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.c new file mode 100644 index 0000000..4deedd4 --- /dev/null +++ b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.c @@ -0,0 +1,300 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* +//********************************************************************** +// +// $Header: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.c 3 6/18/14 3:14a Larryliu $ +// +// $Revision: 3 $ +// +// $Date: 6/18/14 3:14a $ +// +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.c $ +// +// 3 6/18/14 3:14a Larryliu +// [TAG] EIP173999 +// [Category] Improvement +// [Description] [HWR]Remove useless comments from Intel ME +// component.(except RC) +// [Files] AsfTable.c +// +// 1 2/08/12 1:09a Klzhan +// +// 1 2/25/11 1:44a Klzhan +// Initial Check-in +// +// 1 12/03/10 5:10a Klzhan +// Initial Check-in. +// +// +//********************************************************************** + +//<AMI_FHDR_START> +//---------------------------------------------------------------------------- +// +// Name: AsfTable.c +// +// Description: Create ASF Acpi table +// +//---------------------------------------------------------------------------- +//<AMI_FHDR_END> +#include "AsfTable.h" + +EFI_GUID gAcpiSupportGuid = EFI_ACPI_SUPPORT_GUID; + +EFI_STATUS +AsfBuildTbl( + IN EFI_EVENT Event, + IN VOID *Context + ); + +//---------------------------------------------------------------------------- +// Variable declaration +//---------------------------------------------------------------------------- +VOID *mAsfRegistration; + +// +// Driver entry point +// +EFI_DRIVER_ENTRY_POINT (AsfTableEntryPoint); + +// +// Function implementations +// +EFI_STATUS +EFIAPI +AsfTableEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable +) +{ + EFI_EVENT FilterEvent; + EFI_STATUS Status; + + // + // Initialize the EFI Driver Library + // + EfiInitializeDriverLib (ImageHandle, SystemTable); + + Status = gBS->CreateEvent ( EFI_EVENT_NOTIFY_SIGNAL, + EFI_TPL_CALLBACK, + AsfBuildTbl, + NULL, + &FilterEvent); + if (EFI_ERROR(Status)) { + return Status; + } + + // Register for protocol notifactions on this event + Status = gBS->RegisterProtocolNotify ( &gAcpiSupportGuid, + FilterEvent, + &mAsfRegistration); + + ASSERT_EFI_ERROR (Status); + + gBS->SignalEvent (FilterEvent); + + return Status; +} + +//----------------------------------------------------------------------------- +// ASF Table +//----------------------------------------------------------------------------- +//The table shound be runtime build like as ASFBSP +// +// ASF Definitions +// +#define EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_REVISION 0x20 + +// need to update to asl asf 2.0 table.... +EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE ASF_TABLE = { + EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_SIGNATURE, + sizeof (EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE), + EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE_REVISION, + 0, // to make sum of entire table == 0 + + // OEM identification + 'I', 'N', 'T', 'E', 'L', ' ', + + // OEM table identification + ((((((((((((('D' << 8) + '8') << 8) + '6') << 8) + '5') << 8) + 'G') << 8) + 'C') << 8) + 'H') << 8) + ' ', // OEM table identification + + 1, // OEM revision number + ((((('M' << 8) + 'S') << 8) + 'F') << 8) + 'T', // ASL compiler vendor ID + 1000000, // ASL compiler revision number + + // + // ASF_INFO + // + 0x00, // Type "ASF_INFO" + 0x00, // Reserved + sizeof (EFI_ACPI_ASF_INFO), // Length + 0xFF, // Min Watchdog Reset Value + 0xFF, // Min ASF Sensor Inter-poll Wait Time + 0x0001, // System ID + 0x57010000, // IANA Manufacture ID for Intel + 0x00, // Feature Flag + 0x00, 0x00, 0x00, // Reserved + + // + // ASF_ALRT + // + + 0x01, // Type "ASF_ALRT" + 0x00, // Reserved + sizeof (EFI_ACPI_ASF_ALRT), // Length + 0x00, // Assertion Event Bit Mask + 0x00, // Deassertion Event Bit Mask + 0x03, // Number Of Alerts + 0x0C, // Array Element Length + // + // ICH Slave SMBUS Read devices + // + 0x89, 0x04, 0x01, 0x01, 0x05, 0x6F, 0x00, 0x68, 0x08, 0x88, 0x17, 0x00, // Device 0 + 0x89, 0x04, 0x04, 0x04, 0x07, 0x6F, 0x00, 0x68, 0x20, 0x88, 0x03, 0x00, // Device 1 + 0x89, 0x05, 0x01, 0x01, 0x19, 0x6F, 0x00, 0x68, 0x20, 0x88, 0x22, 0x00, // Device 2 + + // + // ASF_RCTL + // + 0x02, // Type "ASF_RCTL" + 0x00, // Reserved + sizeof (EFI_ACPI_ASF_RCTL), // Length + 0x04, // Number of Controls + 0x04, // Array Element Length + 0x0000, // Reserved + // + // ICH Slave SMBUS Write cmds + // + 0x00, 0x88, 0x00, 0x03, // Control 0 --> Reset system + 0x01, 0x88, 0x00, 0x02, // Control 1 --> Power Off system + 0x02, 0x88, 0x00, 0x01, // Control 2 --> Power On system + 0x03, 0x88, 0x00, 0x04, // Control 3 --> Power Cycle Reset (off then on) + + // + // ASF_RCMP + // + 0x03, // Type "ASF_RCMP" + 0x00, // Reserved + sizeof (EFI_ACPI_ASF_RMCP), // Length + + // Remote Control Capabilities supported Bit Masks + // ============================================= + // System Firmware Capabilities Bit Mask Started + // ============================================= + 0x21, // System Firmware Capabilities Bit Mask + // (two MSBytes are Rsvd, + + // Bit7 RSVD + // Bit6 Support Sleep Button LOCK + // Bit5 Support KBD LOCK + // Bit4-3 RSVD + // Bit2 Support Reset Button LOCK + // Bit1 Support Power Button LOCK + // Bit0 Support Verbosity/ Blank Screen + 0xF8, + // Bit7 Support Configration Data Reset + // Bit6 Support Verbosity/ Quiet + // Bit5 Support Verbosity/ Verbose + // Bit4 Support Force Progress Event + // Bit3 Support User Password Bypass + // Bit2:0 RSVD + 0x00, + 0x00, + // ============================================= + // Special Commands Bit Mask Started + // ============================================= + 0x00, // RSVD + 0x13, + // Bit7:5 RSVD + // Bit4 Support Force CD/DVD Boot Command + // Bit3 Support Force Diagnostic Boot Command + // Bit2 Support Force Hard Drive Safe-mode Boot Command + // Bit1 Support Force Hard Drive Boot Command + // Bit0 Support Force PXE Boot Command + // ============================================= + // System Capabilities Bit Mask Started + // ============================================= + 0xF0, // System Capabilities Bit Mask (Supports Reset, + // Power-Up,Power-Down, Power-Cycle Reset + // for compat and secure port. + 0x00, // Boot Option Complete Code + 0x57010000, // IANA ID for Intel Manufacturer + 0x00, // Special Command + 0x00, 0x00, // Special Command Parameter + 0x00, 0x01, // Boot Options + 0x00, 0x00, // OEM Parameters + + // + // ASF_ADDR + // + 0x84, // Type "ASF_ADDR", last record + 0x00, // Reserved + sizeof (EFI_ACPI_ASF_ADDR), // Length + 0x00, // SEEPROM Address + ASF_ADDR_DEVICE_ARRAY_LENGTH, // Number Of Devices + 0x5C, 0x68, 0x88, 0xC2, 0xD2, // Fixed SMBus Address (Heceta 6, 82573E device - static def (also an ARP addr), + 0xDC, 0xA0, 0xA2, 0xA4, 0xA6, // ICH Slave Device, SMB ARP, CK410, DB400/800, SDRAM SPD devices + 0xC8 // TEKOA Slave Device +}; + +EFI_STATUS +AsfBuildTbl( + IN EFI_EVENT Event, + IN VOID *Context +) +{ + EFI_STATUS Status; + UINTN AsfTableHandle=0; + EFI_ACPI_SUPPORT_PROTOCOL *AcpiSupport; + VOID *AsfStruc; + + AsfStruc = (VOID *)&ASF_TABLE; + + Status = gBS->LocateProtocol(&gAcpiSupportGuid, + NULL, + &AcpiSupport); + if (EFI_ERROR (Status)) + { + return EFI_ABORTED; + } + + Status = AcpiSupport->SetAcpiTable (AcpiSupport, + AsfStruc, + TRUE, + (EFI_ACPI_TABLE_VERSION_2_0|EFI_ACPI_TABLE_VERSION_1_0B), + &AsfTableHandle); + if (EFI_ERROR(Status)) + { + // Handle the error appropriately + return EFI_ABORTED; + } + + return Status; +} +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//*************************************************************************
\ No newline at end of file diff --git a/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.cif b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.cif new file mode 100644 index 0000000..bf83bbb --- /dev/null +++ b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.cif @@ -0,0 +1,12 @@ +<component> + name = "AsfTable" + category = ModulePart + LocalRoot = "Board\EM\MeWrapper\AmtWrapper\AsfTable" + RefName = "AsfTable" +[files] +"AsfTable.c" +"AsfTable.h" +"AsfTable.sdl" +"AsfTable.mak" +"AsfTable.dxs" +<endComponent> diff --git a/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.dxs b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.dxs new file mode 100644 index 0000000..1d031bb --- /dev/null +++ b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.dxs @@ -0,0 +1,66 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* +//********************************************************************** +// +// $Header: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.dxs 1 2/08/12 1:09a Klzhan $ +// +// $Revision: 1 $ +// +// $Date: 2/08/12 1:09a $ +// +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.dxs $ +// +// 1 2/08/12 1:09a Klzhan +// +// 1 2/25/11 1:44a Klzhan +// Initial Check-in +// +// 1 12/03/10 5:10a Klzhan +// Initial Check-in. +// +// +//********************************************************************** + +//<AMI_FHDR_START> +//---------------------------------------------------------------------------- +// +// Name: AsfTable.DXS +// +// Description: This file is the dependency file for the AsfTable driver +// +// +//---------------------------------------------------------------------------- +//<AMI_FHDR_END> + +DEPENDENCY_START + TRUE +DEPENDENCY_END + + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//*************************************************************************
\ No newline at end of file diff --git a/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.h b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.h new file mode 100644 index 0000000..09cfc72 --- /dev/null +++ b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.h @@ -0,0 +1,70 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* +//********************************************************************** +// +// $Header: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.h 1 2/08/12 1:09a Klzhan $ +// +// $Revision: 1 $ +// +// $Date: 2/08/12 1:09a $ +// +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.h $ +// +// 1 2/08/12 1:09a Klzhan +// +// 1 2/25/11 1:44a Klzhan +// Initial Check-in +// +// 1 12/03/10 5:10a Klzhan +// Initial Check-in. +// +// +//********************************************************************** + +//<AMI_FHDR_START> +//---------------------------------------------------------------------------- +// +// Name: AsfTable.h +// +// Description: Header file for ASF Acpi table +// +//---------------------------------------------------------------------------- +//<AMI_FHDR_END> +#ifndef _ASF_TABLE_H_ +#define _ASF_TABLE_H_ + +#include "Efi.h" +#include "EfiDriverLib.h" +#include "EfiCommonLib.h" +#include "AlertStandardFormatTable.h" + +#include EFI_PROTOCOL_DEFINITION (AcpiSupport) + +#endif +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2010, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//*************************************************************************
\ No newline at end of file diff --git a/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.mak b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.mak new file mode 100644 index 0000000..65f6576 --- /dev/null +++ b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.mak @@ -0,0 +1,79 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2010, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* +#********************************************************************** +# $Header: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.mak 1 2/08/12 1:09a Klzhan $ +# +# $Revision: 1 $ +# +# $Date: 2/08/12 1:09a $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/SharkBayRefCodes/ME/AmtWrapper/AsfTable/AsfTable.mak $ +# +# 1 2/08/12 1:09a Klzhan +# +# 1 2/25/11 1:44a Klzhan +# Initial Check-in +# +# 1 12/03/10 5:10a Klzhan +# Initial Check-in. +# +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: AsfTable.mak +# +# Description: +# +#<AMI_FHDR_END> +#********************************************************************** +EDK : AsfTable + +AsfTable : $(BUILD_DIR)\AsfTable.mak AsfTableBin + +$(BUILD_DIR)\AsfTable.mak : $(AsfTable_DIR)\$(@B).cif $(AsfTable_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(AsfTable_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +ASF_TABLE_INCLUDES=\ + $(EDK_INCLUDES)\ + $(MISCFRAMEWORK_INCLUDES)\ + $(ME_INCLUDES)\ + $(IndustryStandard_INCLUDES)\ + +AsfTableBin : $(EFIDRIVERLIB) $(EFICOMMONLIB) $(PRINTLIB) + $(MAKE) /$(MAKEFLAGS) $(EDK_DEFAULTS)\ + /f $(BUILD_DIR)\AsfTable.mak all\ + GUID=E72527CF-505B-4b50-99CD-A32467FA4AA4\ + "MY_INCLUDES=$(ASF_TABLE_INCLUDES)" \ + ENTRY_POINT=AsfTableEntryPoint \ + TYPE=BS_DRIVER LIBRARIES= \ + DEPEX1=$(AsfTable_DIR)\AsfTable.dxs\ + DEPEX1_TYPE=EFI_SECTION_DXE_DEPEX\ + COMPRESS=1\ + +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2010, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#*************************************************************************
\ No newline at end of file diff --git a/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.sdl b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.sdl new file mode 100644 index 0000000..b370431 --- /dev/null +++ b/Board/EM/MeWrapper/AmtWrapper/AsfTable/AsfTable.sdl @@ -0,0 +1,24 @@ +TOKEN + Name = "AsfTable_SUPPORT" + Value = "1" + Help = "Main switch to enable AsfTable support in Project" + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes +End + +PATH + Name = "AsfTable_DIR" +End + +MODULE + Help = "Includes AsfTable.mak to Project" + File = "AsfTable.mak" +End + +ELINK + Name = "$(BUILD_DIR)\AsfTable.ffs" + Parent = "FV_MAIN" + InvokeOrder = AfterParent +End
\ No newline at end of file |