American Megatrends, Inc.

OemActivation

Copyright

Release Notes

© American Megatrends, Inc.


Copyright

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

Copyright (c) 1999-2013 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: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2013-07-31
Source Control Label: 4.6.4.0_OA_4.2
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Dependencies
ONE
Dependent Component Title: CSP Library
Dependent Component Reference Name: CSP Library
Dependent Source Control Label: 4.6.4.0_CSPLibrary_017
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Template/CSPLibrary;
TWO
Dependent Component Title: SMIFlash
Dependent Component Reference Name: SMIFlash
Dependent Source Control Label: 4.6.3.6_SMIFLASH_19
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/SMIFlash;
THREE
Dependent Component Title: ACPI
Dependent Component Reference Name: ACPI
Dependent Source Control Label: 4.6.4.0_ACPI_46
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Modules/ACPI/Template;
Protocol GUID's dependency:
EFI_ACPI_TABLE_PROTOCOL_GUID
EFI_SMM_BASE_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH_PROTOCOL_GUID
EFI_SMM_BASE2_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH2_PROTOCOL_GUID
Component Description:
The Microsoft Digital Marker enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation.
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file
ModulePart Name: SmmOemActivation
ModulePart Description: This part of code allows to update ACPI in the OS Runtime through the SW SMI for OEM Activation without rebooting the system.
Filename | Description
SmmOemActivation.cif | Module part CIF file
SmmOemActivation.c | Module part C file
SmmOemActivation.dxs | Module part Driver dependency file
SmmOemActivation.mak | Module part Make file
SmmOemActivation.sdl | Module part SDL file
BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.1 or older.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_39, Dated: 2012-04-04
Visual eBios: RSS.5.73.0244,Dated: 2013-03-19
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
Added security check for Runtime injection of Product Key through SMI
General Bug Fixes:
None
EIP addressed in this label:
EIP#125798
Files changed for EIP fixes:
OemActivation.chm
SmmOemActivation.c
Known issues and limitations in this label:
Make sure that EFI_SMM_SW_DISPATCH2_PROTOCOL protocol is ready to use in the PI 1.1 or greater.
You have to upgrade the ACPI module to label 4.6.4.0_ACPI_46 for this OemActivation label.
Remaining Issues:
NONE
Unit Testing:
OEM Activation 3.0 testing procedure
Validation Testing:
NONE
Release History:
Release 4.6.4.0_OA_4.1
Release 4.6.4.0_OA_4.0
Release 4.6.4.0_OA_3.3
Release 4.6.5_OemActivation_3.2
Release 4.6.5_OemActivation_3.1
Release 4.6.5_OemActivation_2.3
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2010-12-17
Source Control Label: 4.6.4_OemActivation_1.0
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
This is a caption
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
AMI Build Tools:
Visual eBios: RSS.5.68.0116, Dated: 2010-02-04
New features added in this label:
NONE
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#48520 Synopsis: Implementation of the Microsoft OEM Activation 3.0 eModule. Description: Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created “new” ACPI table within the PC’s BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
Files changed for EIP fixes:
NONE
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Revision History
12/17/10 - Added checking for CSP Library version. Removed testing stuff. Labeled 4.6.4_OemActivation_1.0
11/30/10 - Labeled 4.6.4_OemActivation_1.0_INT
11/18/10 - Initial creation of the OemActivation module

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2011-05-20
Source Control Label: 4.6.4_OemActivation_2.0
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
This is a caption
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
AMI Build Tools:
Visual eBios: RSS.5.68.0116, Dated: 2010-02-04
New features added in this label:
Update ACPI table in the OS runtime.
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#59717
Files changed for EIP fixes:
OemActivation.c
OemActivation.h
OemActivation.dxs
OemActivation.chm
OemActivation.sdl
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
PASSED
Validation Testing:
NONE
Revision History
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2011-06-10
Source Control Label: 4.6.5_OemActivation_2.3
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
This is a caption
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
AMI Build Tools:
Visual eBios: RSS.5.68.0116,Dated: 2010-02-04
New features added in this label:
Update ACPI table in the OS runtime.
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#59717
Files changed for EIP fixes:
OemActivation.c
OemActivation.h
OemActivationHook.c
OemActivation.chm
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
PASSED
Validation Testing:
PASSED
Revision History
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2011-07-08
Source Control Label: 4.6.5_OemActivation_3.1
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
This is a caption
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
AMI Build Tools:
Visual eBios: RSS.5.68.0116,Dated: 2010-02-04
New features added in this label:
Preserve the OA30 key during the BIOS recovery path.
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#62009
Files changed for EIP fixes:
OemActivation.c
OemActivation.chm
Known issues and limitations in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
PASSED
Validation Testing:
NONE
Revision History
Release 4.6.5_OemActivation_2.3
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2011-11-01
Source Control Label: 4.6.5_OemActivation_3.2
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
This is a caption
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.1 or older.
AMI Build Tools:
Visual eBios: RSS.5.68.0116,Dated: 2010-02-04
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:
OemActivation.c
OemActivation.h
OemActivation.dxe
OemActivation.chm
Known issues and limitations in this label:
This label is not tested with PI version 1.1 and 1.2, since the EFI_SMM_SW_DISPATCH2_PROTOCOL protocol is not ready.
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Revision History
Release 4.6.5_OemActivation_3.1
Release 4.6.5_OemActivation_2.3
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2011-11-01
Source Control Label: 4.6.4.0_OA_3.3
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation

Dependencies
ONE
Dependent Component Title: CSP Library
Dependent Component Reference Name: CSP Library
Dependent Source Control Label: 4.6.4.0_CSPLibrary_017
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Template/CSPLibrary;
TWO
Dependent Component Title: SMIFlash
Dependent Component Reference Name: SMIFlash
Dependent Source Control Label: 4.6.3.6_SMIFLASH_19
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/SMIFlash;
Protocol GUID's dependency:
EFI_ACPI_TABLE_PROTOCOL_GUID
EFI_SMM_BASE_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH_PROTOCOL_GUID
EFI_ACPI_TABLE_PROTOCOL_GUID
EFI_SMM_BASE2_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH2_PROTOCOL_GUID
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
This is a caption
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file
BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.1 or older.
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:
NONE
General Bug Fixes:
NONE
EIP addressed in this label:
EIP#76150
Files changed for EIP fixes:
OemActivation.chm
Known issues and limitations in this label:
Make sure that EFI_SMM_SW_DISPATCH2_PROTOCOL protocol is ready to use.
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Revision History
Release 4.6.5_OemActivation_3.2
Release 4.6.5_OemActivation_3.1
Release 4.6.5_OemActivation_2.3
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2012-01-11
Source Control Label: 4.6.4.0_OA_4.0
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation

Dependencies
ONE
Dependent Component Title: CSP Library
Dependent Component Reference Name: CSP Library
Dependent Source Control Label: 4.6.4.0_CSPLibrary_017
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Template/CSPLibrary;
TWO
Dependent Component Title: SMIFlash
Dependent Component Reference Name: SMIFlash
Dependent Source Control Label: 4.6.3.6_SMIFLASH_19
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/SMIFlash;
Protocol GUID's dependency:
EFI_ACPI_TABLE_PROTOCOL_GUID
EFI_SMM_BASE_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH_PROTOCOL_GUID
EFI_SMM_BASE2_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH2_PROTOCOL_GUID
Component Description:
Microsoft is in the process of developing a new digital form of the current Certificate of Authority (COA) sticker currently in use throughout the PC industry. This new feature, Microsoft Digital Marker, enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation by our mutual customers. Microsoft is asking our Digital Marker partners to assist us with a small pilot that will be used to ensure the Digital Marker can be successfully injected (added) to the BIOS/Firmware and tested with existing PC BIOS/Firmware versions.
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file
ModulePart Name: SmmOemActivation
ModulePart Description: This part of code allows to update ACPI in the OS Runtime through the SW SMI for OEM Activation without rebooting the system.
Filename | Description
SmmOemActivation.cif | Module part CIF file
SmmOemActivation.c | Module part C file
SmmOemActivation.dxs | Module part Driver dependency file
SmmOemActivation.mak | Module part Make file
SmmOemActivation.sdl | Module part SDL file
BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.1 or older.
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:
NONE
General Bug Fixes:
Compatibility with the PI version 1.2
EIP addressed in this label:
EIP#80094
Files changed for EIP fixes:
OemActivation.cif
OemActivation.c
OemActivation.chm
OemActivation.dxs
OemActivation.h
OemActivation.mak
OemActivation.sdl
SmmOemActivation.dxs
Known issues and limitations in this label:
Make sure that EFI_SMM_SW_DISPATCH2_PROTOCOL protocol is ready to use in the PI 1.1 or greater.
Remaining Issues:
NONE
Unit Testing:
OEM Activation 3.0 testing procedure
Validation Testing:
NONE
Revision History
Release 4.6.4.0_OA_3.3
Release 4.6.5_OemActivation_3.2
Release 4.6.5_OemActivation_3.1
Release 4.6.5_OemActivation_2.3
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: OemActivation
Component Reference Name: OemActivation
Component Type: eModule
Release Date: 2012-05-22
Source Control Label: 4.6.4.0_OA_4.1
Source Control Location: SS: $/Alaska/SOURCE/Modules/OemActivation
Dependencies
ONE
Dependent Component Title: CSP Library
Dependent Component Reference Name: CSP Library
Dependent Source Control Label: 4.6.4.0_CSPLibrary_017
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Chipset/Template/CSPLibrary;
TWO
Dependent Component Title: SMIFlash
Dependent Component Reference Name: SMIFlash
Dependent Source Control Label: 4.6.3.6_SMIFLASH_19
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/SMIFlash;
TREE
Dependent Component Title: ACPI
Dependent Component Reference Name: ACPI
Dependent Source Control Label: 4.6.4.0_ACPI_46
Dependent Source Control Location: SS: Alaska;$/Alaska/BIN/Modules/ACPI/Template;
Protocol GUID's dependency:
EFI_ACPI_TABLE_PROTOCOL_GUID
EFI_SMM_BASE_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH_PROTOCOL_GUID
EFI_SMM_BASE2_PROTOCOL_GUID
EFI_SMM_SW_DISPATCH2_PROTOCOL_GUID
Component Description:
The Microsoft Digital Marker enables an injection of a unique, SKU-specific, 5x5 product key in the to be created "new" ACPI table within the PC's BIOS/Firmware. This feature will ultimately allow for electronic OS licensing and product activation.
Filename | Description
OemActivation.cif | eModule CIF file
OemActivation.sdl | SDL file
OemActivation.mak | Make file
OemActivation.c | Main file
OemActivationHook.c | SW SMI hook file
OemActivation.dxs | Driver dependency file
OemActivation.h | Header file
OemActivation.chm | Help file
ModulePart Name: SmmOemActivation
ModulePart Description: This part of code allows to update ACPI in the OS Runtime through the SW SMI for OEM Activation without rebooting the system.
Filename | Description
SmmOemActivation.cif | Module part CIF file
SmmOemActivation.c | Module part C file
SmmOemActivation.dxs | Module part Driver dependency file
SmmOemActivation.mak | Module part Make file
SmmOemActivation.sdl | Module part SDL file
BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.0
Release Date: 2010/11/08
Source Control Label: 4.6.4.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
If NCB used to store the OEM Activation Product Key. BIOS Information:
AMI BIOS Core: Aptio Core 4.6.5.0
Release Date: 2011/03/28
Source Control Label: 4.6.5.0
Source Control Location: SS: $/Alaska/BIN/Core
AMI CSP Library CSP Library 4.6.4.0_CSPLibrary_017
SMI Flash SMIFlash 4.6.3.6_SMIFLASH_19
The ForwardCompatibility eModule must be added to the project for AMI BIOS Core version 4.6.5.1 or older.
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_38, Dated: 2011-11-11
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:
NONE
General Bug Fixes:
There is additional pointer to MSDM ACPI will be added to XSDT for each time AFU used to inject the product key. This issue is only actual if there is empty product key in the in the firmware (SmmOemActivation_SUPPORT=1).
The OA3MSDMvariable variable has improper GUID.
EIP addressed in this label:
EIP#89038
EIP#90324
Files changed for EIP fixes:
OemActivation.c
OemActivation.h
OemActivation.chm
SmmOemActivation.c
Known issues and limitations in this label:
Make sure that EFI_SMM_SW_DISPATCH2_PROTOCOL protocol is ready to use in the PI 1.1 or greater.
You have to upgrade the ACPI module to label 4.6.4.0_ACPI_46 for this OemActivation label.
Remaining Issues:
NONE
Unit Testing:
OEM Activation 3.0 testing procedure
Validation Testing:
NONE
Release History:
Release 4.6.4.0_OA_4.0
Release 4.6.4.0_OA_3.3
Release 4.6.5_OemActivation_3.2
Release 4.6.5_OemActivation_3.1
Release 4.6.5_OemActivation_2.3
Release 4.6.4_OemActivation_2.0
Release 4.6.4_OemActivation_1.0

© American Megatrends Inc.


Test Procedure

OEM Activation 3.0 test procedure

Category: OEM Activation 3.0 for Microsoft Windows 8
Sub Category:
Product: Generic Aptio Test

Test Objective: The purpose of this test is to validate OemActivation eModule.

Test Requirements:

  1. SUT with Microsoft Windows 8 installed.
  2. AFU utility version 2.39 or greater (afuwin64.exe and amifldrv64.sys).
    $/Alaska/ROMUtils/AFU/afuwin/64/afuwin64.zip
  3. The testing dm.bin file that contain these 49 bytes:
    01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
1D 00 00 00 33 59 56 34 5A 2D 35 55 4B 36 50 2D
36 53 48 35 50 2D 32 44 49 34 42 2D 32 45 4A 36
42
  4. The Microsoft MSDM tool OEMCheckMSDM.exe
  5. USB thumb drive with recovery image.

Test Procedures:

Unit test for the Product Key injection:
  1. Start SUT with BIOS on the system that has just been built (i.e. the key in the $FID table is not set).
  2. Boot to Windows 8.
  3. Run as administrator cmd.exe
  4. Run AfuWin64.exe with the dm.bin file:
    AfuWin64 /Adm.bin
  5. Reboot the system.
  6. Use the OEMCheckMSDM.exe utility to check MSDM ACPI table.
Unit testing for the Product Key preservation in the Recovery Mode:
  1. Start SUT in the Recovery Mode. SUT should load the recovery image from the USB thumb drive and pass through this mode normally.
  2. Restart SUT in the normal mode.
  3. Boot to Windows 8.
  4. Run as administrator cmd.exe
  5. Use the OEMCheckMSDM.exe utility to check MSDM ACPI table.
Unit test for the Product Key injection without reboot (SmmOemActivation_SUPPORT value=1):
  1. Start SUT with BIOS on the system that has just been built (i.e. the key in the $FID table is not set).
  2. Boot to Windows 8.
  3. Run as administrator cmd.exe
  4. Run AfuWin64.exe with the dm.bin file:
    AfuWin64 /Adm.bin
  5. Run OEMCheckMSDM.exe utility to check MSDM ACPI table.
Expected Result:
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Users\slava\Desktop\AfuWin64>afuwinx64.exe /adm.bin
+---------------------------------------------------------------------------+
|                 AMI Firmware Update Utility  v3.04.03                     |
|      Copyright (C)2012 American Megatrends Inc. All Rights Reserved.      |
+---------------------------------------------------------------------------+
 Reading flash ............... done
 Erasing OA Block ............ done
 Updating OA Block ........... done
 Verifying OA Block .......... done

C:\Users\slava\Desktop\AfuWin64>OEMCheckMSDM.exe

=======================================================
Checking MSDM table
Found MSDM table, print in hex format

4d 53 44 4d 55 00 00 00 03 15
41 4c 41 53 4b 41 41 20 4d 20
49 00 00 00 09 20 07 01 41 4d
49 20 13 00 01 00 01 00 00 00
00 00 00 00 01 00 00 00 00 00
00 00 1d 00 00 00 33 59 56 34
5a 2d 35 55 4b 36 50 2d 36 53
48 35 50 2d 32 44 49 34 42 2d
32 45 4a 36 42

Parse MSDM table now ...

SIGNATURE:        MSDM
Length:           85(0x55)
Revision:         3
CheckSum:         0x15
OEMID:            ALASKA
OEMTableID:       A M I
OEMRevision:      1072009
CreatorID:       AMI
CreatorRev:       65555

Printing MSDM payload in Hex format
01 00 00 00 00 00 00 00 01 00
00 00 00 00 00 00 1d 00 00 00
33 59 56 34 5a 2d 35 55 4b 36
50 2d 36 53 48 35 50 2d 32 44
49 34 42 2d 32 45 4a 36 42

MSDM table payload:
Version:           1
Reserved:          0
Type:              1
Reserved:          0
DataLength:        29
Product key:       3YV4Z-5UK6P-6SH5P-2DI4B-2EJ6B

C:\Users\slava\Desktop\AfuWin64>

Expected Results: All scenarios should work without error
Run time (hh:mm):

© 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.

  • OemActivation.c
  • OemActivation.dxs
  • OemActivation.h
  • OemActivation.mak
  • OemActivationHook.c
  • SmmOemActivation.c
  • SmmOemActivation.dxs
  • SmmOemActivation.mak
Built on 16:11:23 07/31/13


OemActivation.c

Description:
Microsoft OEM Activation 3.0

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

Function | Description
GetProductKey | This function locates the Product Key.
LocateSectionResource | This function locate resource binary by GUID.
OemActivation_EntryPoint | This function is the entry point of the eModule.
PreserveProductKey | This function preserves the Product Key.


GetProductKey in the OemActivation.c

Function : GetProductKey

File: OemActivation.c
Description:
This function locates the Product Key.
Input:
Address - pointer to returning address of the Product Key structure.
Output:
EFI_STATUS


LocateSectionResource in the OemActivation.c

Function : LocateSectionResource

File: OemActivation.c
Description:
This function locate resource binary by GUID.
Input:
pResourceGuid        - pointer to recourse GUID
pResourceSectionGuid - pointer to recourse section GUID
Address              - pointer to returning address of the resource
Output:
EFI_STATUS


OemActivation_EntryPoint in the OemActivation.c

Function : OemActivation_EntryPoint

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


PreserveProductKey in the OemActivation.c

Function : PreserveProductKey

File: OemActivation.c
Description:
This function preserves the Product Key.
Input:
VOID
Output:
EFI_STATUS


OemActivation.dxs

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


OemActivation.h

Description:
Header file for OEM Activation eModule.

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

Variable | Description
MSDM_STRUCTURE | This structure comes out of the document "M$ Digital Marker Pilot"


MSDM_STRUCTURE in the OemActivation.h

Variable : MSDM_STRUCTURE

File: OemActivation.h
Fields:

Name | Length | Description
Header | Standard | ACPI header
Version | 4 | 0x1
Reserved | 4 | 0x0
DataType | 4 | 0x1
DataReserved | 4 | 0x0
DataLength | 4 | 0x1D
Data | 29 | 5x5 Product Key, including "-" (BH3RN-B7FDM-C7WGT-4CR4X-6CKHM)

Description:
This structure comes out of the document "M$ Digital Marker Pilot"


OemActivation.mak

Description:
Make file for OemActivation eModule.


OemActivationHook.c

Description:
SW SMI hook.

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

Function | Description
OemActivationUpdateBlockTypeId | This function is SW SMI hook that sets Flash Block Description type for AMI AFU utility. (EIP#58139)


OemActivationUpdateBlockTypeId in the OemActivationHook.c

Function : OemActivationUpdateBlockTypeId

File: OemActivationHook.c
Description:
This function is SW SMI hook that sets Flash Block Description
type for AMI AFU utility. (EIP#58139)
Input:
SwSmiNum    - SW SMI value number
Buffer      - Flash descriptor address
Output:
VOID


SmmOemActivation.c

Description:
This part of code allows to update ACPI in the OS Runtime through
the SW SMI for OEM Activation without rebooting the system.

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

Function | Description
CheckAddressRange | Check address range to avoid TSEG area.
ChsumTbl | This function calculates a checksum of table starting at TblStart of length BytesCount and returns the checksum value.
GetTsegVar | This function stores TSEG address and size.
InSmmFunction | Registration of the SMI function
Oa3UpdateAcpiTable | This function will update ACPI table for OA3.
SmmOemActivation_EntryPoint | This function is the entry point of the module.
SwSmiOa3Function | Calling the SMI Interface The caller will write AL (the value 0xee) to the SMI Command Port as defined in the ACPI FADT. The SMI handler will update the callers' buffer(s) and return.


CheckAddressRange in the SmmOemActivation.c

Function : CheckAddressRange

File: SmmOemActivation.c
Description:
Check address range to avoid TSEG area.
Input:
Address - starting address
Range   - length of the area
Output:
EFI_SUCCESS             - Access granted
EFI_SECURITY_VIOLATION  - Access denied!


ChsumTbl in the SmmOemActivation.c

Function : ChsumTbl

File: SmmOemActivation.c
Description:
This function calculates a checksum of table starting at
TblStart of length BytesCount and returns the checksum value.
Input:
*TblStart   - Starting address of the memory area to checksum.
BytesCount  - Length in bytes of the memory area to checksum.
Output:
Checksum value starting from TblStart and ending at TblStart + BytesCount.


GetTsegVar in the SmmOemActivation.c

Function : GetTsegVar

File: SmmOemActivation.c
Description:
This function stores TSEG address and size.
Input:
VOID
Output:
VOID


InSmmFunction in the SmmOemActivation.c

Function : InSmmFunction

File: SmmOemActivation.c
Description:
Registration of the SMI function
Input:
ImageHandle - Image handle
SystemTable - Pointer to the system table
Output:
EFI_STATUS


Oa3UpdateAcpiTable in the SmmOemActivation.c

Function : Oa3UpdateAcpiTable

File: SmmOemActivation.c
Description:
This function will update ACPI table for OA3.
Input:
ProductKey - pointer to the Product Key
Output:
EFI_STATUS


SmmOemActivation_EntryPoint in the SmmOemActivation.c

Function : SmmOemActivation_EntryPoint

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


SwSmiOa3Function in the SmmOemActivation.c

Function : SwSmiOa3Function

File: SmmOemActivation.c
Description:
Calling the SMI Interface
The caller will write AL (the value 0xee) to the SMI Command Port as
defined in the ACPI FADT.
The SMI handler will update the callers' buffer(s) and return.
Input:
DispatchHandle
DispatchContext
Output:
VOID
Notes:
The function will clear the carry bit if it is successful (CF = 0).
If the function is unsuccessful, it will set the carry bit and set the
error code in the AH register as indicated by the error table below.
The function returns the following data in the provided parameter block.


SmmOemActivation.dxs

Description:
This file is the dependency file for OemActivation module.


SmmOemActivation.mak

Description:
Make file for SmmOemActivation module.


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.

  • C
  • G
  • I
  • L
  • M
  • O
  • P
  • S


Functions in Alphabetical Order

C

Function | Description
CheckAddressRange | Check address range to avoid TSEG area.
ChsumTbl | This function calculates a checksum of table starting at TblStart of length BytesCount and returns the checksum value.


Functions in Alphabetical Order

G

Function | Description
GetProductKey | This function locates the Product Key.
GetTsegVar | This function stores TSEG address and size.


Functions in Alphabetical Order

I

Function | Description
InSmmFunction | Registration of the SMI function


Functions in Alphabetical Order

L

Function | Description
LocateSectionResource | This function locate resource binary by GUID.


Functions in Alphabetical Order

M

Data Structure | Description
MSDM_STRUCTURE | This structure comes out of the document "M$ Digital Marker Pilot"


Functions in Alphabetical Order

O

Function | Description
Oa3UpdateAcpiTable | This function will update ACPI table for OA3.
OemActivation_EntryPoint | This function is the entry point of the eModule.
OemActivationUpdateBlockTypeId | This function is SW SMI hook that sets Flash Block Description type for AMI AFU utility. (EIP#58139)


Functions in Alphabetical Order

P

Function | Description
PreserveProductKey | This function preserves the Product Key.


Functions in Alphabetical Order

S

Function | Description
SmmOemActivation_EntryPoint | This function is the entry point of the module.
SwSmiOa3Function | Calling the SMI Interface The caller will write AL (the value 0xee) to the SMI Command Port as defined in the ACPI FADT. The SMI handler will update the callers' buffer(s) and return.


General Information