American Megatrends, Inc.

SlpSupport

Copyright

Release Notes

© American Megatrends, Inc.


Copyright

American Megatrends, Inc.
5555 Oakbrook Parkway
Suite 200
Norcross, GA 30093 (USA)

Copyright (c) 1999-2014 American Megatrends, Inc. All Rights Reserved.

This publication contains proprietary information, which is protected by copyright. No part of this publication may be reproduced, transcribed, stored in a retrieval system, translated into any language or computer language, or transmitted in any form whatsoever without the prior written consent of the publisher, American Megatrends, Inc.

American Megatrends, Inc. retains the right to update, change, modify this publication at any time, without notice.

For Additional Information

Call American Megatrends BIOS Sales Department at 1-800-828-9264 for additional information.

Limitations of Liability

In no event shall American Megatrends be held liable for any loss, expenses, or damages of any kind whatsoever, whether direct, indirect, incidental, or consequential, arising from the design or use of this product or the support materials provided with the product.

Limited Warranty

No warranties are made, either expressed or implied, with regard to the contents of this work, its merchantability, or fitness for a particular use. American Megatrends assumes no responsibility for errors and omissions or for the uses made of the material contained herein or reader decisions based on such use.

Trademark and Copyright Acknowledgments

All product names used in this publication are for identification purposes only and are trademarks of their respective Companies.


Release Notes - NDA Required

Component Information:
Component Title: SlpSupport
Component Reference Name: SlpSupport
Component Type: eModule
Release Date: 2014-02-04
Source Control Label: 4.6.0_SlpSupport_3
Source Control Location: SS: $/Alaska/BIN/Modules/SLP

Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
OEM Activation 2.1 is an alternative to Windows Product Activation (WPA) that is available to qualifying OEMs. Instead of phone, Internet or key server activation, OEM Activation 2.1 prevents legitimately licensed Windows software from being installed onto non-licensed computers by associating the Windows operating system to the firmware of the physical computer. OEM Activation 2.1 is available only with OEM products, that is, OEM Activation 2.1 is not available with retail products. There is no difference in the OA 2.1 process for CPU architecture (IA-64, x64, or x86) or firmware architecture (BIOS, EFI, or UEFI). If an OEM does not implement OEM Activation 2.1, Windows defaults to WPA.
Filename | Description
SlpSupport.cif | eModule CIF file
SlpSupport.sdl | SDL file
SlpSupport.mak | Make file
SlpSupport.c | Main file
Marker.bin | OEM Activation 2.1 Marker binary file.
PubKey.bin | OEM Activation Public 2.1 Key binary file.
SlpSupport.dxs | Driver dependency file
SlpSupport.h | Header file
SlpSupport.chm | Help file

BIOS Information:
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.0 or older (SS: $/Alaska/BIN/Core/Compatibility/Forward/ForwardCompatibility.cif)
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-21
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): WinDDK 7600.16385.1; DDK 3790.1830
New features added in this label:
NONE
General Bug Fixes:
EIP 152566. Size of PubKey.bin was changed from 157 bytes to 156 as mentioned by the spec.
EIP addressed in this label:
EIP 152604. Chm file updated for a new label.
Files changed for EIP fixes:
SlpSupport.chm: EIP 152604.
PubKey.bin: EIP 152566.
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
Test Procedure for SLP20
Validation Testing:
NONE
Revision History
Release 4.6.0_SlpSupport_2.1
Release 4.6.0_SlpSupport_2.0
Release 4.5.5_SlpSupport_07

© American Megatrends Inc.


Function by File Name

AMIBIOS Function Reference

By File Name

The following is a list of the source files.
For a list in alphabetical order, see In Alphabetical Order.

  • SlpSupport.c
  • SlpSupport.dxs
  • SlpSupport.h
  • SlpSupport.mak
Built on 10:12:12 02/04/14


SlpSupport.c

Description:
Updated the XSDT with the SLIC OEM Activation ACPI Table.

The following functions are used in the file: SlpSupport.c.

Function | Description
LocateAndLoadRawData | This fills the PubKey and Marker structures of SLIC table.
PreserveSlicBinaries | This function preserves the the Marker and PubKey binaries.
PublishSlicTable | This function publish SLIC table in the ACPI.
SlpSupport_EntryPoint | This function is the entry point of the eModule.


LocateAndLoadRawData in the SlpSupport.c

Function : LocateAndLoadRawData

File: SlpSupport.c
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


PreserveSlicBinaries in the SlpSupport.c

Function : PreserveSlicBinaries

File: SlpSupport.c
Description:
This function preserves the the Marker and PubKey binaries.
Input:
VOID
Output:
EFI_STATUS


PublishSlicTable in the SlpSupport.c

Function : PublishSlicTable

File: SlpSupport.c
Description:
This function publish SLIC table in the ACPI.
Input:
VOID
Output:
EFI_STATUS


SlpSupport_EntryPoint in the SlpSupport.c

Function : SlpSupport_EntryPoint

File: SlpSupport.c
Description:
This function is the entry point of the eModule.
Input:
ImageHandle  - Image handle
*SystemTable - Pointer to the system table
Output:
EFI_STATUS


SlpSupport.dxs

Description:
This file is the dependency file for SlpSupport eModule.


SlpSupport.h

Description:
SlpSupport Header file.

The following data structures are used in the file: SlpSupport.h.

Variable | Description
EFI_ACPI_SLP | This structure comes out of the document: OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.
OEM_PUBLIC_KEY_STRUCTURE | This structure comes out of the document: OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.
WINDOWS_MARKER_STRUCTURE | This structure comes out of the document: OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.


EFI_ACPI_SLP in the SlpSupport.h

Variable : EFI_ACPI_SLP

File: SlpSupport.h
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

Description:
This structure comes out of the document:
OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.


OEM_PUBLIC_KEY_STRUCTURE in the SlpSupport.h

Variable : OEM_PUBLIC_KEY_STRUCTURE

File: SlpSupport.h
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.

Description:
This structure comes out of the document:
OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.


WINDOWS_MARKER_STRUCTURE in the SlpSupport.h

Variable : WINDOWS_MARKER_STRUCTURE

File: SlpSupport.h
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)

Description:
This structure comes out of the document:
OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.


SlpSupport.mak

Description:
Make file for SlpSupport eModule.


Functions in Alphabetical Order

In Alphabetical Order

The following topics provide a list in alphabetical order.
For a list by file name, see By File Name.

  • E
  • L
  • O
  • P
  • S
  • W


Functions in Alphabetical Order

E

Data Structure | Description
EFI_ACPI_SLP | This structure comes out of the document: OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.

Built on 10:12:11 02/04/14


Functions in Alphabetical Order

L

Function | Description
LocateAndLoadRawData | This fills the PubKey and Marker structures of SLIC table.

Built on 10:12:11 02/04/14


Functions in Alphabetical Order

O

Data Structure | Description
OEM_PUBLIC_KEY_STRUCTURE | This structure comes out of the document: OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.

Built on 10:12:11 02/04/14


Functions in Alphabetical Order

P

Function | Description
PreserveSlicBinaries | This function preserves the the Marker and PubKey binaries.
PublishSlicTable | This function publish SLIC table in the ACPI.


Functions in Alphabetical Order

S

Function | Description
SlpSupport_EntryPoint | This function is the entry point of the eModule.


Functions in Alphabetical Order

W

Data Structure | Description
WINDOWS_MARKER_STRUCTURE | This structure comes out of the document: OEM Activation version 2.0 for M$ Windows Vista (tm) Operating System.


General Information


Release Notes - NDA Required

Component Information:
Component Title: SlpSupport
Component Reference Name: SlpSupport
Component Type: eModule
Release Date: 2010-12-03
Source Control Label: 4.5.5_SlpSupport_07
Source Control Location: SS: $/Alaska/BIN/Modules/SLP/;
Component Description:
OEM Activation 2.1 is an alternative to Windows Product Activation (WPA) that is available to qualifying OEMs that fulfill the implementation requirements detailed in this document. Instead of phone, Internet or key server activation, OEM Activation 2.1 prevents legitimately licensed Windows software from being installed onto non-licensed computers by associating the Windows operating system to the firmware of the physical computer. OEM Activation 2.1 is available only with OEM products, that is, OEM Activation 2.1 is not available with retail products. There is no difference in the OA 2.1 process for CPU architecture (IA-64, x64, or x86) or firmware architecture (BIOS, EFI, or UEFI). If an OEM does not implement OEM Activation 2.1, Windows defaults to WPA, which does not require additional tasks.
Component file list
Filename | Description
SlpSupport.cif | Module Part CIF file
SlpSupport.sdl | SDL file
SlpSupport.mak | Make file
SlpSupport.c | The main file
SlpSupport.dxs | Dependency file
SLP20Maker.bin | Windows Marker binary file
SLP20PubKey.bin | OEM Signing Key Certificate binary file
SlpSupport.chm | CHM help file (this file)
SlpSupport.h | Header file

AMI Build Tools:
Visual eBios: RSS.5.68.0116, Dated: 2010-02-04
General Bug Fixes:
NONE
EIP addressed in this label:
49586
Release History:
12/03/10 - Label 4.5.5_SlpSupport_07. Update for CHM file. (EIP#49586).
08/25/10 - Label 4.5.5_SlpSupport_06. Update for CHM file about OEM Activation 2.1 support. (EIP#42957).
05/18/10 - Update for OEM ID and OEM Table ID from the Marker binary. (EIP#38438).
02/08/08 - Added information about NDA, and description of the SLIC ACPI table to CHM help file.
01/24/08 - Added CHM help file.
05/30/07 - Updated the XSDT with the SLIC (OEM Activation 2.0) ACPI Table.
03/30/07 - First label. SLP 2.0 Support.

© American Megatrends, Inc.


Release Notes - NDA Required

Component Information:
Component Title: SlpSupport
Component Reference Name: SlpSupport
Component Type: eModule
Release Date: 2011-07-08
Source Control Label: 4.6.0_SlpSupport_2.0
Source Control Location: SS: $/Alaska/BIN/Modules/SLP
Component Description:
OEM Activation 2.1 is an alternative to Windows Product Activation (WPA) that is available to qualifying OEMs that fulfill the implementation requirements detailed in this document. Instead of phone, Internet or key server activation, OEM Activation 2.1 prevents legitimately licensed Windows software from being installed onto non-licensed computers by associating the Windows operating system to the firmware of the physical computer. OEM Activation 2.1 is available only with OEM products, that is, OEM Activation 2.1 is not available with retail products. There is no difference in the OA 2.1 process for CPU architecture (IA-64, x64, or x86) or firmware architecture (BIOS, EFI, or UEFI). If an OEM does not implement OEM Activation 2.1, Windows defaults to WPA, which does not require additional tasks.
This is a caption
Filename | Description
SlpSupport.cif | eModule CIF file
SlpSupport.sdl | SDL file
SlpSupport.mak | Make file
SlpSupport.c | Main file
Marker.bin | OEM Activation 2.1 Marker binary file.
PubKey.bin | OEM Activation Public 2.1 Key binary file.
SlpSupport.dxs | Driver dependency file
SlpSupport.h | Header file
SlpSupport.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.0
Release Date: 2007/07/19
Source Control Label: 4.6.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI Build Tools:
Visual eBios: RSS.5.68.0116,Dated: 2010-02-04
New features added in this label:
Preserve the OEM Activation SLIC during the BIOS recovery path.
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#63678
Files changed for EIP fixes:
SlpSupport.cif
SlpSupport.sdl
SlpSupport.mak
SlpSupport.c
SlpSupport.h
SlpSupport.chm
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
PASSED
Validation Testing:
NONE
Revision History
Release 4.5.5_SlpSupport07

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: SlpSupport
Component Reference Name: SlpSupport
Component Type: eModule
Release Date: 2011-10-04
Source Control Label: 4.6.0_SlpSupport_2.1
Source Control Location: SS: $/Alaska/BIN/Modules/SLP
Component Description:
OEM Activation 2.1 is an alternative to Windows Product Activation (WPA) that is available to qualifying OEMs that fulfill the implementation requirements detailed in this document. Instead of phone, Internet or key server activation, OEM Activation 2.1 prevents legitimately licensed Windows software from being installed onto non-licensed computers by associating the Windows operating system to the firmware of the physical computer. OEM Activation 2.1 is available only with OEM products, that is, OEM Activation 2.1 is not available with retail products. There is no difference in the OA 2.1 process for CPU architecture (IA-64, x64, or x86) or firmware architecture (BIOS, EFI, or UEFI). If an OEM does not implement OEM Activation 2.1, Windows defaults to WPA, which does not require additional tasks.
This is a caption
Filename | Description
SlpSupport.cif | eModule CIF file
SlpSupport.sdl | SDL file
SlpSupport.mak | Make file
SlpSupport.c | Main file
Marker.bin | OEM Activation 2.1 Marker binary file.
PubKey.bin | OEM Activation Public 2.1 Key binary file.
SlpSupport.dxs | Driver dependency file
SlpSupport.h | Header file
SlpSupport.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.0
Release Date: 2007/07/19
Source Control Label: 4.6.0
Source Control Location: SS: $/Alaska/BIN/Core
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.0 or older (SS: $/Alaska/BIN/Core/Compatibility/Forward/ForwardCompatibility.cif)
AMI Build Tools:
Visual eBios: RSS.5.68.0116,Dated: 2010-02-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
Updated to be compliant with PI 1.2, and UEFI 2.3.1 specifications.
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#64110
Files changed for EIP fixes:
SlpSupport.chm
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
PASSED
Validation Testing:
NONE
Revision History
Release 4.6.0_SlpSupport_2.0
Release 4.5.5_SlpSupport_07

© American Megatrends Inc.


Test Procedure

Test Requirements: 1. A copy of the BIOS ROM file that can be tested. Note: The BIOS will be modified so a writable copy is required. 2. A copy of BQALAB's "SLP20Marker.bin" (writable copy). 3. A copy of BQALAB's "SLP20PubKey.bin" (writable copy). 4. A copy of AMISLP.EXE. NOTE: This test does not have to be run on the SUT. Test Requirements: 1. Copy AMISLP.EXE, BIOS, SLP20Marker.bin, and SLP20PubKey.bin files to a temporary directory. 2. Execute "AMISLP /D ROMFilename>OEMID.TXT" The output should be similar to: OEM ID = ALASKA OEM TABLE ID = A M I If the OEM Ids are not displayed, attach the output file and FAIL the test. 3. Execute "AMISLP /I ROMFilename SLP20PubKey.bin SLP20Marker.bin>INSERT.TXT" The output should be a) "Updating ROM image...Success!" or b) "Public Key File already exists in the Firmware Image" or c) similar to: OEM ID from firmware image = AMIINC OEM ID from Marker File = ALASKA OEM Table ID from firmware image = A.M.I. OEM Table ID from Marker File = A M I Files not inserted into firmware image because of mismatch OEM IDs. If so, attach the two output files and PASS the test. If the output reports the SLP driver is not available in the firmware image, attach the two output files and FAIL the test. Expected Results: AMISLP.EXE should be able to detect the driver in the BIOS and if not already in the BIOS and IDs match to insert it. Run time (hh:mm):