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/SlpSupport.h | 207 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 Core/EM/SLP20/SlpSupport.h (limited to 'Core/EM/SLP20/SlpSupport.h') 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 ** +//** ** +//**************************************************************************** +//**************************************************************************** -- cgit v1.2.3