From 31bb486c913795c8b67d1c4dbaae2bdec4943fc9 Mon Sep 17 00:00:00 2001 From: raywu Date: Thu, 13 Sep 2018 16:11:56 +0800 Subject: SLP1.0 / SLP2.0 / Default Password / Logo / Fix Boot Order --- Core/EM/SLP20/Marker.bin | 1 + Core/EM/SLP20/PubKey.bin | 1 + Core/EM/SLP20/SlpSupport.c | 407 +++++++++++++++++++++++++++++++++++++++++++ Core/EM/SLP20/SlpSupport.chm | Bin 0 -> 41243 bytes Core/EM/SLP20/SlpSupport.cif | 15 ++ Core/EM/SLP20/SlpSupport.dxs | 73 ++++++++ Core/EM/SLP20/SlpSupport.h | 207 ++++++++++++++++++++++ Core/EM/SLP20/SlpSupport.mak | 118 +++++++++++++ Core/EM/SLP20/SlpSupport.sdl | 52 ++++++ Core/EM/Slp10/OemTable.asm | 67 +++++++ Core/EM/Slp10/Slp10.c | 125 +++++++++++++ Core/EM/Slp10/Slp10.chm | Bin 0 -> 24774 bytes Core/EM/Slp10/Slp10.cif | 14 ++ Core/EM/Slp10/Slp10.dxs | 18 ++ Core/EM/Slp10/Slp10.h | 104 +++++++++++ Core/EM/Slp10/Slp10.mak | 83 +++++++++ Core/EM/Slp10/Slp10.sdl | 43 +++++ 17 files changed, 1328 insertions(+) create mode 100644 Core/EM/SLP20/Marker.bin create mode 100644 Core/EM/SLP20/PubKey.bin create mode 100644 Core/EM/SLP20/SlpSupport.c create mode 100644 Core/EM/SLP20/SlpSupport.chm create mode 100644 Core/EM/SLP20/SlpSupport.cif create mode 100644 Core/EM/SLP20/SlpSupport.dxs create mode 100644 Core/EM/SLP20/SlpSupport.h create mode 100644 Core/EM/SLP20/SlpSupport.mak create mode 100644 Core/EM/SLP20/SlpSupport.sdl create mode 100644 Core/EM/Slp10/OemTable.asm create mode 100644 Core/EM/Slp10/Slp10.c create mode 100644 Core/EM/Slp10/Slp10.chm create mode 100644 Core/EM/Slp10/Slp10.cif create mode 100644 Core/EM/Slp10/Slp10.dxs create mode 100644 Core/EM/Slp10/Slp10.h create mode 100644 Core/EM/Slp10/Slp10.mak create mode 100644 Core/EM/Slp10/Slp10.sdl (limited to 'Core') diff --git a/Core/EM/SLP20/Marker.bin b/Core/EM/SLP20/Marker.bin new file mode 100644 index 0000000..8b3aeed --- /dev/null +++ b/Core/EM/SLP20/Marker.bin @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/Core/EM/SLP20/PubKey.bin b/Core/EM/SLP20/PubKey.bin new file mode 100644 index 0000000..2910e3c --- /dev/null +++ b/Core/EM/SLP20/PubKey.bin @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/Core/EM/SLP20/SlpSupport.c b/Core/EM/SLP20/SlpSupport.c new file mode 100644 index 0000000..0159473 --- /dev/null +++ b/Core/EM/SLP20/SlpSupport.c @@ -0,0 +1,407 @@ +//**************************************************************************** +//**************************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone (770)-246-8600 ** +//** ** +//**************************************************************************** +//**************************************************************************** + +//**************************************************************************** +// $Header: /Alaska/BIN/Modules/SLP/SlpSupport.c 12 8/03/11 2:45p Vyacheslava $ +// +// $Revision: 12 $ +// +// $Date: 8/03/11 2:45p $ +//**************************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/SLP/SlpSupport.c $ +// +// 12 8/03/11 2:45p Vyacheslava +// +// 11 8/01/11 3:25p Vyacheslava +// [TAG] EIP64110 +// [Category] Spec Update +// [Severity] Normal +// [Description] This file has been updated to be compliant with PI 1.2, +// and UEFI 2.3.1 specifications. +// +// 10 7/12/11 4:44p Vyacheslava +// +// 9 7/12/11 3:56p Vyacheslava +// +// 8 7/01/11 12:19p Vyacheslava +// [TAG] EIP63678 +// [Category] Improvement +// [Description] Added checking for dummy binaries. +// +// 7 7/01/11 12:00p Vyacheslava +// [TAG] EIP63678 +// [Category] New Feature +// [Description] Preserve the OEM Activation SLIC during the BIOS +// recovery path. +// [Files] SlpSupport.sdl +// SlpSupport.mak +// SlpSupport.c +// SlpSupport.dxs +// SlpSupport.h +// SlpSupport.cif +// +// 6 8/25/10 11:44a Vyacheslava +// Added comments. +// +// 5 5/18/10 4:15p Vyacheslava +// Update for OEM ID and OEM Table ID from the Marker binary. (EIP#38438) +// +// 4 8/19/09 10:47a Vyacheslava +// Added support for ACPI 3.0 (EIP#25335 ) +// +// 3 6/01/09 4:53p Vyacheslava +// EIP#22212: Synopsis: (1) SimpleBootFlag, (2) SLP, (3) CSPLibrary +// Description: Aptio Enhancement Guidelines for Engineers +// +// 2 10/09/07 3:55p Vyacheslava +// Fixed issue with token conversion. Added function CopyToken. +// +// 1 3/30/07 3:39p Felixp +// +//**************************************************************************** +// +// +// Name: SlpSupport.c +// +// Description: +// Updated the XSDT with the SLIC OEM Activation ACPI Table. +// +// +//**************************************************************************** + + +//--------------------------------------------------------------------------- + +#include +#include +#include +#include "SlpSupport.h" + +//--------------------------------------------------------------------------- + + +// +//---------------------------------------------------------------------------- +// +// Procedure: LocateAndLoadRawData +// +// Description: This fills the PubKey and Marker structures of SLIC table. +// +// Input: +// *FfsGuid - Pointer to GUID of the FFS file to read +// *Address - Address of the buffer to read data into +// Size - Size of the buffer +// +// Output: +// EFI_STATUS - Sucessful +// EFI_NOT_FOUND - Couldn't find the binaries +// +//---------------------------------------------------------------------------- +// + +EFI_STATUS LocateAndLoadRawData( + IN EFI_GUID *FfsGuid, + IN VOID *Address, + IN UINTN Size ) +{ + EFI_STATUS Status; + EFI_HANDLE *HandleBuffer = NULL; + UINTN NumberOfHandles; + UINTN Index; + UINT32 Authentication; + +#if PI_SPECIFICATION_VERSION >= 0x0001000A + EFI_GUID EfiFirmwareVolumeProtocolGuid = EFI_FIRMWARE_VOLUME2_PROTOCOL_GUID; + EFI_FIRMWARE_VOLUME2_PROTOCOL *FwVolumeProtocol = NULL; +#else + EFI_GUID EfiFirmwareVolumeProtocolGuid = EFI_FIRMWARE_VOLUME_PROTOCOL_GUID; + EFI_FIRMWARE_VOLUME_PROTOCOL *FwVolumeProtocol = NULL; +#endif + + // Locate the Firmware volume protocol + Status = pBS->LocateHandleBuffer( + ByProtocol, + &EfiFirmwareVolumeProtocolGuid, + NULL, + &NumberOfHandles, + &HandleBuffer + ); + if (EFI_ERROR(Status)) + return Status; + + // Find and read raw data + for (Index = 0; Index < NumberOfHandles; Index++) { + + Status = pBS->HandleProtocol( + HandleBuffer[Index], + &EfiFirmwareVolumeProtocolGuid, + &FwVolumeProtocol + ); + if (EFI_ERROR(Status)) + continue; + + Status = FwVolumeProtocol->ReadSection( + FwVolumeProtocol, + FfsGuid, + EFI_SECTION_RAW, + 0x0, + &Address, + &Size, + &Authentication + ); + if (Status == EFI_SUCCESS) + break; + } + + pBS->FreePool(HandleBuffer); + return Status; +} + + +// +//---------------------------------------------------------------------------- +// +// Procedure: PreserveSlicBinaries +// +// Description: This function preserves the the Marker and PubKey binaries. +// +// Input: VOID +// +// Output: EFI_STATUS +// +//---------------------------------------------------------------------------- +// + +EFI_STATUS PreserveSlicBinaries(VOID) +{ + EFI_STATUS Status = EFI_NOT_FOUND; + RECOVERY_IMAGE_HOB *RecoveryHob; + EFI_GUID HobListGuid = HOB_LIST_GUID; + EFI_GUID RecoveryHobGuid = AMI_RECOVERY_IMAGE_HOB_GUID; + EFI_GUID PubKeyGuid = OEM_SLP_PUBLIC_KEY_GUID; + EFI_GUID MarkerGuid = OEM_SLP_MARKER_GUID; + EFI_CONFIGURATION_TABLE *Table = pST->ConfigurationTable; + EFI_PHYSICAL_ADDRESS Addr; + UINTN i; + UINT8 *FwPubKeyPtr = NULL; + UINT8 *FwMarkerPtr = NULL; + UINT8 *RecPubKeyPtr = NULL; + UINT8 *RecMarkerPtr = NULL; + + // Find the Product Key place in the recovery HOB + for( i = 0; i < pST->NumberOfTableEntries; i++, Table++ ) { + + if ( !MemCmp(&Table->VendorGuid, &HobListGuid, sizeof(EFI_GUID)) ) { + + RecoveryHob = Table->VendorTable; + Status = FindNextHobByGuid(&RecoveryHobGuid, &RecoveryHob); + if (!EFI_ERROR(Status)) { + + // Find Public Key and Marker binaries in the Recovery image + Status = EFI_NOT_FOUND; + for ( Addr = RecoveryHob->Address; Addr < RecoveryHob->Address + FLASH_SIZE; Addr++ ) { + + // Find the Public Key binary GUID + if ( !MemCmp((UINT8*)Addr, &PubKeyGuid, sizeof(EFI_GUID)) ) + RecPubKeyPtr = (UINT8*)Addr; + + // Find the Marker binary GUID + else if ( !MemCmp((UINT8*)Addr, &MarkerGuid, sizeof(EFI_GUID)) ) + RecMarkerPtr = (UINT8*)Addr; + + // if all binaries are found then find original places in the Firmware + if ( RecPubKeyPtr != NULL && RecMarkerPtr != NULL ) { + + // Find Public Key and Marker binaries in the BIOS firmware + for ( Addr = FLASH_DEVICE_BASE_ADDRESS; Addr < FLASH_UPPER_ADDRESS; Addr++ ) { + + // Find the Public Key binary GUID + if ( !MemCmp((UINT8*)Addr, &PubKeyGuid, sizeof(EFI_GUID)) ) + FwPubKeyPtr = (UINT8*)Addr; + + // Find the Marker binary GUID + else if ( !MemCmp((UINT8*)Addr, &MarkerGuid, sizeof(EFI_GUID)) ) + FwMarkerPtr = (UINT8*)Addr; + + // Preserve the SLIC binaries + if ( FwPubKeyPtr != NULL && FwMarkerPtr != NULL ) { + + MemCpy( + RecPubKeyPtr, + FwPubKeyPtr, + sizeof(OEM_PUBLIC_KEY_STRUCTURE) + sizeof(EFI_FFS_FILE_HEADER) + sizeof(UINT16) + ); + + MemCpy( + RecMarkerPtr, + FwMarkerPtr, + sizeof(WINDOWS_MARKER_STRUCTURE) + sizeof(EFI_FFS_FILE_HEADER) + sizeof(UINT16) + ); + + Status = EFI_SUCCESS; + break; + } + } + break; + } + } + } + } + } + TRACE((TRACE_ALWAYS,"PreserveSlicBinaries: Status = %r\n",Status)); + return Status; +} + + +// +//---------------------------------------------------------------------------- +// +// Procedure: PublishSlicTable +// +// Description: This function publish SLIC table in the ACPI. +// +// Input: VOID +// +// Output: EFI_STATUS +// +//---------------------------------------------------------------------------- +// + +EFI_STATUS PublishSlicTable(VOID) +{ + EFI_STATUS Status; + EFI_GUID PubKeyGuid = OEM_SLP_PUBLIC_KEY_GUID; + EFI_GUID MarkerGuid = OEM_SLP_MARKER_GUID; + EFI_ACPI_SLP SlpTable = { + {SLIC_SIG, sizeof(EFI_ACPI_SLP), 0x01, 0x00, {0}, {0}, ACPI_OEM_REV, CREATOR_ID_AMI, CREATOR_REV_MS}, + {0}, + {0} + }; + EFI_ACPI_TABLE_PROTOCOL *AcpiTableProtocol = NULL; + UINTN TableKey = 0; + + // Locate SLP Public Key binary + Status = LocateAndLoadRawData( + &PubKeyGuid, + &SlpTable.PubKey, + sizeof(SlpTable.PubKey) + ); + if (EFI_ERROR(Status)) { + TRACE((TRACE_ALWAYS, "Slp Public Key Binaries Not Found!\n")); + return Status; + } + + // Locate SLP Marker binary + Status = LocateAndLoadRawData( + &MarkerGuid, + &SlpTable.WinMarker, + sizeof(SlpTable.WinMarker) + ); + if (EFI_ERROR(Status)) { + TRACE((TRACE_ALWAYS, "Slp Marker Binaries Not Found!\n")); + return Status; + } + + // The dummy SLIC will be not published + if ( SlpTable.WinMarker.StructType == 0xFFFFFFFF && SlpTable.PubKey.StructType == 0xFFFFFFFF ) { + TRACE((TRACE_ALWAYS, "SlpSupport: Found dummy binaries. The SLIC will be not published!\n")); + return EFI_ABORTED; + } + + // Copy OEM ID and OEM Table ID from Marker's binary to SLIC header + MemCpy( + (UINT8*)&SlpTable.Header.OemId, + (UINT8*)&SlpTable.WinMarker.sOEMID, + sizeof(SlpTable.WinMarker.sOEMID) + ); + MemCpy( + (UINT8*)&SlpTable.Header.OemTblId, + (UINT8*)&SlpTable.WinMarker.sOEMTABLEID, + sizeof(SlpTable.WinMarker.sOEMTABLEID) + ); + + // Locate the ACPI table protocol + Status = pBS->LocateProtocol( + &gEfiAcpiTableProtocolGuid, + NULL, + &AcpiTableProtocol + ); + if (EFI_ERROR(Status)) { + TRACE((TRACE_ALWAYS, "Unable to locate AcpiTableProtocol!\n")); + return Status; + } + + // Publish SLIC to ACPI table + Status = AcpiTableProtocol->InstallAcpiTable( + AcpiTableProtocol, + &SlpTable, + sizeof(EFI_ACPI_SLP), + &TableKey + ); + if (!EFI_ERROR(Status)) + TRACE((TRACE_ALWAYS, "SLIC table has been published.\n")); + + return Status; +} + + +// +//---------------------------------------------------------------------------- +// +// Procedure: SlpSupport_EntryPoint +// +// Description: This function is the entry point of the eModule. +// +// Input: +// ImageHandle - Image handle +// *SystemTable - Pointer to the system table +// +// Output: EFI_STATUS +// +//---------------------------------------------------------------------------- +// + +EFI_STATUS EFIAPI SlpSupport_EntryPoint( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable ) +{ + EFI_STATUS Status = EFI_SUCCESS; + + InitAmiLib(ImageHandle, SystemTable); + + // Check if it's a Recovery Mode then preserve the Marker and PubKey binaries + if (GetBootMode() == BOOT_IN_RECOVERY_MODE) + Status = PreserveSlicBinaries(); + if (!EFI_ERROR(Status)) + Status = PublishSlicTable(); + + return Status; +} + + +//**************************************************************************** +//**************************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone (770)-246-8600 ** +//** ** +//**************************************************************************** +//**************************************************************************** diff --git a/Core/EM/SLP20/SlpSupport.chm b/Core/EM/SLP20/SlpSupport.chm new file mode 100644 index 0000000..2178c61 Binary files /dev/null and b/Core/EM/SLP20/SlpSupport.chm differ diff --git a/Core/EM/SLP20/SlpSupport.cif b/Core/EM/SLP20/SlpSupport.cif new file mode 100644 index 0000000..10d9d5b --- /dev/null +++ b/Core/EM/SLP20/SlpSupport.cif @@ -0,0 +1,15 @@ + + name = "SlpSupport" + category = eModule + LocalRoot = "Core\EM\SLP20" + RefName = "SlpSupport" +[files] +"SlpSupport.sdl" +"SlpSupport.mak" +"SlpSupport.c" +"SlpSupport.dxs" = "dxs" +"Marker.bin" +"PubKey.bin" +"SlpSupport.chm" +"SlpSupport.h" + diff --git a/Core/EM/SLP20/SlpSupport.dxs b/Core/EM/SLP20/SlpSupport.dxs new file mode 100644 index 0000000..d45ab61 --- /dev/null +++ b/Core/EM/SLP20/SlpSupport.dxs @@ -0,0 +1,73 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* + +//***************************************************************************** +// $Header: /Alaska/BIN/Modules/SLP/SlpSupport.dxs 3 8/01/11 5:07p Vyacheslava $ +// +// $Revision: 3 $ +// +// $Date: 8/01/11 5:07p $ +//***************************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/SLP/SlpSupport.dxs $ +// +// 3 8/01/11 5:07p Vyacheslava +// +// 2 7/01/11 12:00p Vyacheslava +// [TAG] EIP63678 +// [Category] New Feature +// [Description] Preserve the OEM Activation SLIC during the BIOS +// recovery path. +// [Files] SlpSupport.sdl +// SlpSupport.mak +// SlpSupport.c +// SlpSupport.dxs +// SlpSupport.h +// SlpSupport.cif +// +// +//***************************************************************************** +// +// +// Name: SlpSupport.dxs +// +// Description: This file is the dependency file for SlpSupport eModule. +// +// +//***************************************************************************** + +//---------------------------------------------------------------------------- +// Header files for GUID definitions +//---------------------------------------------------------------------------- + +#include + +DEPENDENCY_START + EFI_ACPI_TABLE_PROTOCOL_GUID +DEPENDENCY_END + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* diff --git a/Core/EM/SLP20/SlpSupport.h b/Core/EM/SLP20/SlpSupport.h new file mode 100644 index 0000000..fd44e5d --- /dev/null +++ b/Core/EM/SLP20/SlpSupport.h @@ -0,0 +1,207 @@ +//**************************************************************************** +//**************************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone (770)-246-8600 ** +//** ** +//**************************************************************************** +//**************************************************************************** + +//**************************************************************************** +// $Header: /Alaska/BIN/Modules/SLP/SlpSupport.h 4 8/01/11 3:26p Vyacheslava $ +// +// $Revision: 4 $ +// +// $Date: 8/01/11 3:26p $ +//**************************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/SLP/SlpSupport.h $ +// +// 4 8/01/11 3:26p Vyacheslava +// [TAG] EIP64110 +// [Category] Spec Update +// [Severity] Normal +// [Description] This file has been updated to be compliant with PI 1.2, +// and UEFI 2.3.1 specifications. +// +// 3 7/01/11 12:00p Vyacheslava +// [TAG] EIP63678 +// [Category] New Feature +// [Description] Preserve the OEM Activation SLIC during the BIOS +// recovery path. +// [Files] SlpSupport.sdl +// SlpSupport.mak +// SlpSupport.c +// SlpSupport.dxs +// SlpSupport.h +// SlpSupport.cif +// +// 2 8/25/10 11:45a Vyacheslava +// Changed comments for better representation in the CHM file. +// +// 1 5/18/10 4:11p Vyacheslava +// +// +//**************************************************************************** +// +// +// Name: SlpSupport.h +// +// Description: SlpSupport Header file. +// +// +//**************************************************************************** + +#ifndef __SLP_SUPPORT__H__ +#define __SLP_SUPPORT__H__ +#ifdef __cplusplus +extern "C" { +#endif + +//------------------------------------------------------------------------ + +#include +#include +#include + +//------------------------------------------------------------------------ + +#define SLIC_SIG 0x43494c53 //"SLIC" Microsoft System Locked Preinstallation Table + +#define OEM_SLP_PUBLIC_KEY_GUID \ + { 0x996aa1e0, 0x1e8c, 0x4f36, 0xb5, 0x19, 0xa1, 0x70, 0xa2, 0x06, 0xfc, 0x14 } + +#define OEM_SLP_MARKER_GUID \ + { 0x69009842, 0x63f2, 0x43db, 0x96, 0x4b, 0xef, 0xad, 0x1c, 0x39, 0xec, 0x85 } + +#define FLASH_UPPER_ADDRESS 0xFFFFFFFF +#define FLASH_DEVICE_BASE_ADDRESS (FLASH_UPPER_ADDRESS-FLASH_SIZE+1) + +//------------------------------------------------------------------------ + +#pragma pack (1) + +// +//---------------------------------------------------------------------------- +// +// Name: OEM_PUBLIC_KEY_STRUCTURE +// +// Description: This structure comes out of the document: +// OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System. +// +// Fields: +// Name Type Description +// ------------------------------------------------------------------ +// StructType UINT32 0x00000000 = PubKey Structure. +// LicensingData UINT32 Length, in bytes, of OEM pub key struct (156). +// bType UINT8 Public Key Type [PUBLICKEYBLOB (6)]. +// bVersion UINT8 Version, currently 2 (7/27/2006). +// Reserved UINT16 Zero. +// aiKeyAlg UINT32 Key Algorithm. [CALG_RSA_SIGN (0x00002400)]. +// Magic UINT32 bytes: 'RSA1'. +// BitLen UINT32 1024 converted to hex. +// Pubexp UINT32 Exponent of Public Key, usually 257 converted to hex. +// Modulus UINT8 Array. Modulus, modulues of the public key 128 bytes. +// +//---------------------------------------------------------------------------- +// + +typedef struct { + UINT32 StructType; + UINT32 LicensingData; + UINT8 bType; + UINT8 bVersion; + UINT16 Reserved; + UINT32 aiKeyAlg; + UINT32 Magic; + UINT32 Bitlen; + UINT32 Pubexp; + UINT8 Modulus[128]; +} OEM_PUBLIC_KEY_STRUCTURE; + +// +//---------------------------------------------------------------------------- +// +// Name: WINDOWS_MARKER_STRUCTURE +// +// Description: This structure comes out of the document: +// OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System. +// +// Fields: +// Name Type Description +// ------------------------------------------------------------------ +// StructType UINT32 0x00000001 = Windows marker structure +// LicensingData UINT32 Length, in bytes of Windows Marker (182) +// dwVersion UINT32 Version of the Windows Marker (0x0002000) +// sOEMID UINT8 The OEMID value from XSDT and RSDT (must match). (6 bytes) +// sOEMTABLEID UINT8 the OEMTABLEID from XSDT and RSDT (must match). (8 bytes) +// sWindowsFlag UINT8 'WINDOWS ' (notice trailing space, not null terminated). (8 bytes) +// Reserved UINT8 Reserved for future use. (20 bytes) +// Signature UINT8 SHA256 Signature from the Windows Marker. (128 bytes) +// +//---------------------------------------------------------------------------- +// + +typedef struct { + UINT32 StructType; + UINT32 LicensingData; + UINT32 dwVersion; + UINT8 sOEMID[6]; + UINT8 sOEMTABLEID[8]; + UINT8 sWindowsFlag[8]; + UINT8 Reserved[20]; + UINT8 Signature[128]; +} WINDOWS_MARKER_STRUCTURE; + +// +//---------------------------------------------------------------------------- +// +// Name: EFI_ACPI_SLP +// +// Description: This structure comes out of the document: +// OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System. +// +// Fields: +// Name Type Description +// ------------------------------------------------------------------ +// Header EFI_ACPI_DESCRIPTION_HEADER Common ACPI table header +// PubKey OEM_PUBLIC_KEY_STRUCTURE See above for description +// WinMarker WINDOWS_MARKER_STRUCTURE See above for description +// +//---------------------------------------------------------------------------- +// + +typedef struct { + ACPI_HDR Header; + OEM_PUBLIC_KEY_STRUCTURE PubKey; + WINDOWS_MARKER_STRUCTURE WinMarker; +} EFI_ACPI_SLP; + +#pragma pack() + + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif + +//**************************************************************************** +//**************************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone (770)-246-8600 ** +//** ** +//**************************************************************************** +//**************************************************************************** diff --git a/Core/EM/SLP20/SlpSupport.mak b/Core/EM/SLP20/SlpSupport.mak new file mode 100644 index 0000000..80a41a0 --- /dev/null +++ b/Core/EM/SLP20/SlpSupport.mak @@ -0,0 +1,118 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2011, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** + +#********************************************************************** +# $Header: /Alaska/BIN/Modules/SLP/SlpSupport.mak 8 8/09/11 10:18a Vyacheslava $ +# $Revision: 8 $ +# $Date: 8/09/11 10:18a $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/BIN/Modules/SLP/SlpSupport.mak $ +# +# 8 8/09/11 10:18a Vyacheslava +# [TAG] EIP63678 +# [Description] The modules GUID has been changed. +# +# 7 7/01/11 12:00p Vyacheslava +# [TAG] EIP63678 +# [Category] New Feature +# [Description] Preserve the OEM Activation SLIC during the BIOS +# recovery path. +# [Files] SlpSupport.sdl +# SlpSupport.mak +# SlpSupport.c +# SlpSupport.dxs +# SlpSupport.h +# SlpSupport.cif +# +# 6 5/18/10 4:14p Vyacheslava +# Updated copiright header. +# +# 5 8/19/09 11:49a Vyacheslava +# Removed token USE_SOURCE_BINARIES (EIP#25334). +# +# 4 6/12/09 11:02a Vyacheslava +# EIP#23109: Synopsis: Tokens for SlpSupport eModule. +# Description: SlpSupport eModule needs to have tokens +# SLP_MARKER_ROM_FILENAME SLP_PUBKEY_ROM_FILENAME to make more flexible +# in changing Marker and Public Key files. +# +# 3 2/11/08 12:01p Felixp +# Make file bug fix. +# +# 2 5/30/07 6:24p Aaronp +# Changed mak file to allow for SDL token to include or exclude +# the Public Key binary and the Marker binary. This is necssary +# for supporting the AMISLP tool from the utilites group. +# +# 1 3/30/07 3:39p Felixp +# +#********************************************************************** +# +# +# Name: SlpSupport.mak +# +# Description: Make file for SlpSupport eModule. +# +# +#********************************************************************** + +all : SLP + +SLP20MARKER_GUID = 69009842-63F2-43db-964B-EFAD1C39EC85 +SLP20PUBKEY_GUID = 996AA1E0-1E8C-4f36-B519-A170A206FC14 + +SLP_BINARIES : $(BUILD_DIR)\SLP20Marker.ffs $(BUILD_DIR)\SLP20PubKey.ffs +SLP : $(BUILD_DIR)\SlpSupport.mak SlpSupportBin SLP_BINARIES + +$(BUILD_DIR)\SlpSupport.mak : $(SLP_SUPPORT_DIR)\SlpSupport.cif + $(CIF2MAK) $(SLP_SUPPORT_DIR)\SlpSupport.cif $(CIF2MAK_DEFAULTS) + +SlpSupportBin: $(AMIDXELIB) + $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\ + /f $(BUILD_DIR)\SlpSupport.mak all\ + GUID=952821AA-EACD-465b-B478-5429DFC9A747\ + ENTRY_POINT=SlpSupport_EntryPoint\ + TYPE=BS_DRIVER\ + "EXT_HEADERS=$(BUILD_DIR)\Token.h"\ + COMPRESS=1 + +$(BUILD_DIR)\SLP20Marker.ffs : $(SLP_MARKER_ROM_FILENAME) + $(MAKE) /f Core\FFS.mak \ + BUILD_DIR=$(BUILD_DIR) \ + GUID=$(SLP20MARKER_GUID) \ + TYPE=EFI_FV_FILETYPE_FREEFORM \ + BINFILE=$** FFSFILE=$@ COMPRESS=0 NAME=$(**B) + +$(BUILD_DIR)\SLP20PubKey.ffs : $(SLP_PUBKEY_ROM_FILENAME) + $(MAKE) /f Core\FFS.mak \ + BUILD_DIR=$(BUILD_DIR) \ + GUID=$(SLP20PUBKEY_GUID) \ + TYPE=EFI_FV_FILETYPE_FREEFORM \ + BINFILE=$** FFSFILE=$@ COMPRESS=0 NAME=$(**B) + +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2011, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** diff --git a/Core/EM/SLP20/SlpSupport.sdl b/Core/EM/SLP20/SlpSupport.sdl new file mode 100644 index 0000000..780efb5 --- /dev/null +++ b/Core/EM/SLP20/SlpSupport.sdl @@ -0,0 +1,52 @@ +TOKEN + Name = "SlpSupport_SUPPORT" + Value = "1" + Help = "Main switch to enable SlpSupport support in Project" + TokenType = Boolean + TargetMAK = Yes + Master = Yes + Token = "ACPI_SUPPORT" "=" "1" +End + +PATH + Name = "SLP_SUPPORT_DIR" +End + +MODULE + Help = "Includes SlpSupport.mak to Project" + File = "SlpSupport.mak" +End + +ELINK + Name = "$(BUILD_DIR)\SlpSupport.ffs" + Parent = "FV_MAIN" + InvokeOrder = AfterParent +End + +ELINK + Name = "$(BUILD_DIR)\Slp20Marker.ffs" + Parent = "FV_MAIN" + InvokeOrder = AfterParent +End + +ELINK + Name = "$(BUILD_DIR)\Slp20PubKey.ffs" + Parent = "FV_MAIN" + InvokeOrder = AfterParent +End + +TOKEN + Name = "SLP_MARKER_ROM_FILENAME" + Value = "$(SLP_SUPPORT_DIR)\Marker.bin" + Help = "SLP2.0 Marker key rom file" + TokenType = File + TargetMAK = Yes +End + +TOKEN + Name = "SLP_PUBKEY_ROM_FILENAME" + Value = "$(SLP_SUPPORT_DIR)\PubKey.bin" + Help = "SLP2.0 Public key rom file" + TokenType = File + TargetMAK = Yes +End diff --git a/Core/EM/Slp10/OemTable.asm b/Core/EM/Slp10/OemTable.asm new file mode 100644 index 0000000..0eb3902 --- /dev/null +++ b/Core/EM/Slp10/OemTable.asm @@ -0,0 +1,67 @@ +;************************************************************************* +;************************************************************************* +;** ** +;** (C)Copyright 1985-2009, American Megatrends, Inc. ** +;** ** +;** All Rights Reserved. ** +;** ** +;** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +;** ** +;** Phone: (770)-246-8600 ** +;** ** +;************************************************************************* +;************************************************************************* + +;***************************************************************************** +; $Header: /Alaska/SOURCE/Modules/Slp10/OemTable.asm 1 6/18/09 5:31p Vyacheslava $ +; +; $Revision: 1 $ +; +; $Date: 6/18/09 5:31p $ +;***************************************************************************** +; Revision History +; ---------------- +; $Log: /Alaska/SOURCE/Modules/Slp10/OemTable.asm $ +; +; 1 6/18/09 5:31p Vyacheslava +; Initial Creation +; +;***************************************************************************** +; +; +; Name: OemTable.asm +; +; Description: This is OEM table binary for Aptio Firmware Volume. +; +; +;***************************************************************************** + + INCLUDE token.equ + +.686p +.model flat +.data + +slp_string_size SIZESTR MKF_SLP_STRING + + DB '$ODB$', 0 + DW 001h + DW MKF_OEM_DATA_SPACE_SIZE + DB @CATSTR(,%MKF_SLP_STRING,) + DB [MKF_OEM_DATA_SPACE_SIZE - slp_string_size] DUP (0) + +end + +;************************************************************************* +;************************************************************************* +;** ** +;** (C)Copyright 1985-2009, American Megatrends, Inc. ** +;** ** +;** All Rights Reserved. ** +;** ** +;** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +;** ** +;** Phone: (770)-246-8600 ** +;** ** +;************************************************************************* +;************************************************************************* diff --git a/Core/EM/Slp10/Slp10.c b/Core/EM/Slp10/Slp10.c new file mode 100644 index 0000000..b83edd5 --- /dev/null +++ b/Core/EM/Slp10/Slp10.c @@ -0,0 +1,125 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* + +//***************************************************************************** +// $Header: /Alaska/SOURCE/Modules/Slp10/Slp10.c 1 6/18/09 5:31p Vyacheslava $ +// +// $Revision: 1 $ +// +// $Date: 6/18/09 5:31p $ +//***************************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/Slp10/Slp10.c $ +// +// 1 6/18/09 5:31p Vyacheslava +// Initial Creation +// +// +//***************************************************************************** +// +// +// Name: Slp10.c +// +// Description: Implementation of the SLP 1.0 eModule. +// +// +//***************************************************************************** + +//---------------------------------------------------------------------------- + +#include +#include +#include +#include "Slp10.h" + +//---------------------------------------------------------------------------- + +// +//---------------------------------------------------------------------------- +// +// Procedure: Slp10_EntryPoint +// +// Description: This function is the entry point of the Slp10 eModule. +// +// Parameter: +// ImageHandle - Image handle for this driver image. +// SystemTable - Pointer to the EFI system table. +// +// Return value: EFI_STATUS +// +//---------------------------------------------------------------------------- +// + +EFI_STATUS Slp10_EntryPoint( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable ) +{ + EFI_STATUS Status; + EFI_GUID EfiLegacyBiosExtProtocolGuid = EFI_LEGACY_BIOS_EXT_PROTOCOL_GUID; + EFI_GUID BiosFeaturesSectionGuid = BIOS_FEATURES_SECTION_GUID; + EFI_LEGACY_BIOS_EXT_PROTOCOL *LegacyBiosExtProtocol = NULL; + UINT8 *DataPtr = NULL; + UINTN Size = 0; + UINTN Address; + + InitAmiLib( ImageHandle, SystemTable ); + + // Get OEM data from Aptio FV + Status = ReadImageResource( + ImageHandle, + &BiosFeaturesSectionGuid, + &DataPtr, + &Size + ); + if (EFI_ERROR(Status)) + return Status; + + // Locate the Aptio extended Legacy Protocol + Status = pBS->LocateProtocol( + &EfiLegacyBiosExtProtocolGuid, + NULL, + &LegacyBiosExtProtocol + ); + ASSERT_EFI_ERROR(Status); + if (EFI_ERROR(Status)) + return Status; + + // Copy OEM Data to Legacy Table + Address = LegacyBiosExtProtocol->CopyLegacyTable( + ((BIOS_OEM_DATA*)DataPtr)->Data, // Pointer to SLP data + OEM_DATA_SPACE_SIZE, // Size of the data + 1, // Alignment + OEM_DATA_LOCATION_BIT // Location Attribute + ); + ASSERT_EFI_ERROR(Address); + + Status = pBS->FreePool(DataPtr); + ASSERT_EFI_ERROR(Status); + return Status; +} + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* diff --git a/Core/EM/Slp10/Slp10.chm b/Core/EM/Slp10/Slp10.chm new file mode 100644 index 0000000..f58c4ab Binary files /dev/null and b/Core/EM/Slp10/Slp10.chm differ diff --git a/Core/EM/Slp10/Slp10.cif b/Core/EM/Slp10/Slp10.cif new file mode 100644 index 0000000..8d7ed77 --- /dev/null +++ b/Core/EM/Slp10/Slp10.cif @@ -0,0 +1,14 @@ + + name = "Slp10" + category = eModule + LocalRoot = "Core\EM\Slp10\" + RefName = "Slp10" +[files] +"Slp10.sdl" +"Slp10.mak" +"Slp10.c" +"Slp10.dxs" +"OemTable.asm" +"Slp10.h" +"Slp10.chm" + diff --git a/Core/EM/Slp10/Slp10.dxs b/Core/EM/Slp10/Slp10.dxs new file mode 100644 index 0000000..4ce0411 --- /dev/null +++ b/Core/EM/Slp10/Slp10.dxs @@ -0,0 +1,18 @@ +// +//---------------------------------------------------------------------------- +// Name: Slp10.dxs +// +// Description: This file is the dependency file for Slp10 driver +// +//---------------------------------------------------------------------------- +// + +//---------------------------------------------------------------------------- +// Header files for GUID definitions +//---------------------------------------------------------------------------- + +#include + +DEPENDENCY_START + EFI_LEGACY_BIOS_PROTOCOL_GUID +DEPENDENCY_END diff --git a/Core/EM/Slp10/Slp10.h b/Core/EM/Slp10/Slp10.h new file mode 100644 index 0000000..8a6ed2b --- /dev/null +++ b/Core/EM/Slp10/Slp10.h @@ -0,0 +1,104 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* + +//***************************************************************************** +// $Header: /Alaska/SOURCE/Modules/Slp10/Slp10.h 1 6/18/09 5:31p Vyacheslava $ +// +// $Revision: 1 $ +// +// $Date: 6/18/09 5:31p $ +//***************************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Modules/Slp10/Slp10.h $ +// +// 1 6/18/09 5:31p Vyacheslava +// Initial Creation +// +// +//***************************************************************************** +// +// +// Name: Slp10.h +// +// Description: Internal header file of the Slp10 eModule. +// +// +//***************************************************************************** + +#ifndef _AMI_SLP10_MODULE_H +#define _AMI_SLP10_MODULE_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// {2EBE0275-6458-4af9-91ED-D3F4EDB100AA} +#define BIOS_FEATURES_SECTION_GUID \ + {0x2ebe0275, 0x6458, 0x4af9, 0x91, 0xed, 0xd3, 0xf4, 0xed, 0xb1, 0x0, 0xaa} + +#define OEM_DATA_LOCATION_BIT 0x80 + +#pragma pack(1) + +// +//---------------------------------------------------------------------------- +// Name: BIOS_OEM_DATA +// +// Description: This structure comes out of the AMI Utility Specification. +// +// Fields: +// Name Type Description +// --------------------------------------------------------------------------- +// Guid EFI_GUID Firmware Section GUID +// Identifier CHAR8 Identifier String "$ODB$" +// Flag UINT16 Data Flag +// Size UINT16 Data Size +// Data UINT8 Data Buffer (SLP String) +// +//---------------------------------------------------------------------------- +// + +typedef struct _BIOS_OEM_DATA { + EFI_GUID Guid; + CHAR8 Identifier[6]; + UINT16 Flag; + UINT16 Size; + UINT8 Data[OEM_DATA_SPACE_SIZE]; +} BIOS_OEM_DATA; + +#pragma pack() + +#ifdef __cplusplus +} +#endif + +#endif + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2009, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* diff --git a/Core/EM/Slp10/Slp10.mak b/Core/EM/Slp10/Slp10.mak new file mode 100644 index 0000000..13dbef2 --- /dev/null +++ b/Core/EM/Slp10/Slp10.mak @@ -0,0 +1,83 @@ +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2009, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* + +#***************************************************************************** +# $Header: /Alaska/SOURCE/Modules/Slp10/Slp10.mak 2 7/14/09 12:26p Vyacheslava $ +# +# $Revision: 2 $ +# +# $Date: 7/14/09 12:26p $ +#***************************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Modules/Slp10/Slp10.mak $ +# +# 2 7/14/09 12:26p Vyacheslava +# EIP#17468: Synopsis: customers are requesting support for SLP1.0. +# Description: Mandal, We have support for SLP2.0 but not SLP1.0. Core8 +# has support for both and customers ar requesting SLP1.0 support. Please +# let us know your plans for this. +# - Removed $(BUILD_DIR)\AmiHpLibrary.lib. +# +# 1 6/18/09 5:31p Vyacheslava +# Initial Creation +# +#***************************************************************************** +# +# +# Name: Slp10.mak +# +# Description: Make file for Slp10 eModule. +# +# +#***************************************************************************** + +all : Slp10 + +Slp10 : $(BUILD_DIR)\Slp10.mak $(BUILD_DIR)\OemTable.bin Slp10Bin + +SLP10_OBJECTS = $(BUILD_DIR)\$(Slp10_DIR)\Slp10.obj + +$(BUILD_DIR)\Slp10.mak : $(Slp10_DIR)\$(@B).cif $(Slp10_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(Slp10_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +$(BUILD_DIR)\OemTable.bin : $(Slp10_DIR)\OemTable.asm + $(ASM) /c /Fo$(BUILD_DIR)\ $(Slp10_DIR)\OemTable.asm + $(ASMLINK) $(BUILD_DIR)\OemTable.obj, $*.exe, $*.map,,, + exe2bin $*.exe $@ + +Slp10Bin : $(AMIDXELIB) + $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\ + /f $(BUILD_DIR)\Slp10.mak all\ + GUID=8E477676-55FD-48cf-9210-15A99B27D740\ + OBJECTS="$(SLP10_OBJECTS)" \ + ENTRY_POINT=Slp10_EntryPoint\ + RESOURCE=$(BUILD_DIR)\OemTable.bin\ + SECTION_GUID=2EBE0275-6458-4af9-91ED-D3F4EDB100AA\ + TYPE=BS_DRIVER\ + COMPRESS=1 + +#************************************************************************* +#************************************************************************* +#** ** +#** (C)Copyright 1985-2009, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#************************************************************************* +#************************************************************************* diff --git a/Core/EM/Slp10/Slp10.sdl b/Core/EM/Slp10/Slp10.sdl new file mode 100644 index 0000000..136d9b7 --- /dev/null +++ b/Core/EM/Slp10/Slp10.sdl @@ -0,0 +1,43 @@ +TOKEN + Name = Slp10_SUPPORT + Value = 1 + TokenType = Boolean + TargetEQU = Yes + TargetMAK = Yes + Master = Yes + Help = "Main switch to enable Slp10 support in Project" +End + +TOKEN + Name = "OEM_DATA_SPACE_SIZE" + Value = "0x3E" + Help = "Maximum OEM data space size." + TokenType = Integer + TargetEQU = Yes + TargetH = Yes +End + +TOKEN + Name = "SLP_STRING" + Value = "Copyright American Megatrends Inc. 1985-2009" + Help = "SLP string." + TokenType = Expression + TargetEQU = Yes +End + +PATH + Name = Slp10_DIR + Help = "Path to Slp10 Module in Project" +End + +MODULE + Help = "Includes Slp10.mak to Project" + File = "Slp10.mak" +End + +ELINK + Name = "$(BUILD_DIR)\Slp10.ffs" + Parent = "FV_MAIN" + InvokeOrder = AfterParent +End + -- cgit v1.2.3