American Megatrends, Inc.

IdeSecurity

Copyright

Release Notes

© American Megatrends, Inc.


IdeSecurity

AMIBIOS Document References

Previous Release Notes

Release Notes 20.htm

Release Notes 21.htm

Release Notes 22.htm

Release Notes 23.htm

Release Notes 24.htm

Release Notes 25.htm

Release Notes 26.htm

Release Notes 27.htm

Release Notes 28.htm

Built on 17:33:49 04/30/15


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2011-12-26
Source Control Label: 4.6.3_HddSecurity_020
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Driver Dependencies
Idebus or Ahcibus
Protocol Dependencies
EFI_SMM_CONTROL_PROTOCOL_GUID or EFI_SMM_CONTROL2_PROTOCOL_GUID
File Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.h | Files that has Security and Password Related Functions and Protocols
IdeSecuritySetup.c | File for Setup Driver.
IdeSecurity.sd | File that contains the Setup Options and Information Displayed in Bios Setup
IdeSecurity.uni | Files that has Strings that are displayed in Post and Setup
IdeSecurity.dxs | Files that has Dependency of Security Module with Other Modules.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.mak | Make file becomes part of the BIOS build process
IDESMM.sdl | Contains BIOS build parameters.
IDESMM.c | Files that has Ide Security in Smm Mode Related Functions and Routines
IDESMM.h | Headers, Definitions, Macros and Function Prototypes are defined in this File.
InstallIdeSmi.c | Files that has Installs Smi for Ide Security to be used.
IDESMM.ffs | Ffs File created in 32 bit Build
IDESMMx64.ffs | Ffs File created in 64 bit Build
IDESMM.dxs | Files that has Dependency of Security SMM Module with Other Modules.
HddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
Hddpassword.cif | Component information file for the Module Part
Hddpassword.mak | Make file becomes part of the BIOS build process
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.c | Files that contains HddPassword screen support Related Functions and Routines
Hddpassword.h | File that contains HddPassword related Headers, Definitions, Macros and Function Prototypes.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
MASTER_PASSWORD_ENABLE | Boolean | Switch to Enable/Disable support for Master passwords
DISPLAY_MASTER_PASSWORD | Boolean | Switch to Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | Switch to Set Master Password Through Various Method.
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
FHPP | Integer | Asl Usage
DSSP | Integer | Asl Usage

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_PORT_DRIVE_TBL_MAP | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password

AMI Build Tools:
Tools Label: 4.5.5_Tools_34, Dated: 2010-07-07
Visual eBios: RSS.5.70.0171, Dated: 2010-07-07
Compiler Tool(s): Microsoft's 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#77142 - Added the function 'IdeNonDataCommandExp' in the 'IDE_BUS_PROTOCOL' and removed the existing function 'IdeNonDataCommand' for supporting the upper 24bits of LBA.

  • EIP#77527 - IdeSecurity, IdeAcoustic and IdeSmart changes should be done based on the Core Version checking.

  • EIP#75245 - RegisterHddNotification does not match AMITSE hook return values. Modified the function to match the AMITSE hook return values.

Files changed for EIP fixes:
  • Root\Core\em\HddSecurity\IdeSecurity.c (EIP#77142. #77527 )

  • Root\Core\em\HddSecurity\HddPassword\HddPassword.c (EIP#75245)

Known issues and limitations in this label:
  • When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.

Remaining Issues:
None
Unit Testing:
Hardware: HDD that support Security Feature.
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Test Report

Validation Test Report.
Release History:
4.6.3_HddSecurity_020

  • [TAG] - EIP77142
    [Category] - Improvement
    [Description] - Added the function 'IdeNonDataCommandExp' in the 'IDE_BUS_PROTOCOL' and removed the existing function 'IdeNonDataCommand' for supporting the upper 24bits of LBA.
    [Files] - Ata.c, IdeBus.c, Idebus.h, PIDEBus.h, Acoustic.c, IdeSecurity.c, IdeSMART.c

  • [TAG] - EIP77527
    [Category] - Improvement
    [Description] - IdeSecurity, IdeAcoustic and IdeSmart changes should be done based on the Core Version checking.
    [Files] - IdeSecurity.c, IdeSmart.c , Acoustic.c

  • [TAG] - EIP75245
    [Category] - Improvement
    [Description] - RegisterHddNotification does not match AMITSE hook return values. Modified the function to match the AMITSE hook return values.
    [Files] - Hddpassword.c

4.6.3_HddSecurity_019

  • [TAG] - EIP69246
    [Category] - Improvement
    [Description] - Made the SECURITY_SUPPORT as the Master token and removed the IdeSecurity_Support token.
    [Files] - IdeSecurity.c, IdeSecurity.h, IdeSecurity.mak, IdeSecurity.sdl

  • [TAG] - EIP72369
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - HDD_PASSWORD_ON_NVRAM SDL token default value is set to 1
    [RootCause] - HDD_PASSWORD_ON_NVRAM SDL token default value is set to 1 so that everytime password is saved in NVRAM but it is needed only when one wants to know the HDD password on every boot.
    [Solution] - HDD_PASSWORD_ON_NVRAM SDL token default value is set to 0.
    [Files] - IdeSecurity.sdl

  • [TAG] - EIP69247
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom]- Several IdeSecurity.sdl tokens are not working properly
    [RootCause] - Several IdeSecurity.sdl tokens are not working properly
    [Solution] - Removed unwanted SDL token and verified all the SDL token function.
    [Files] - IdeSecurity.c, IdeSecurity.sdl, IdeSecurity.sdl

  • [TAG] - EIP54315
    [Category] - Bug Fix
    [Severity] - Important
    [Symptom] - SugarBay IdeSecurity increase S3 Resume time
    [RootCause] - Setting the MASTER_PASSWORD_ENABLE sdl token in Ide security Module saves the password in Smm all the time in reboots. This causes the system to ask for master password even when it is not locked which causes Long Timeout in S3 resume.
    [Solution] - Fix by not saving the master pasword in SMM at the time of Set password. Only Unlock password will save validated password in SMM area.
    [Files] - IdeSecurity.c

  • [TAG] - EIP70918
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom] - On S3 resume system will throw blue screen error, when HDD password is set
    [RootCause] - Ld assume that the data is UINT64. But the actual data is UINT32.
    [Solution] - To display d should be enough as the DataId is UINT32
    [Files] - IdeSecurity.c

  • [TAG] - EIP70395
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom] - When an Empty Master Password string is entered for the first time(when no password was installed before), the IDEPasswordUpdateHdd returns a Boolean "TRUE"
    [RootCause] - SecurityDisablePassword function returns the status of SetDefaultMasterPassword function which is EFI_SUCCESS instead of returning the status of SecurityCommonRoutine which will fail.
    [Solution] - SecurityCommonRoutine function status returned as the status for SecurityDisablePassword function. [Files] - IdeSecurity.c

  • [TAG] - EIP69295
    [Category] - Improvement
    [Description] - The Timeout values used by IDE and AHCI drivers are made as SDL tokens, so that the timeout values can be varied.
    [Files] - IdeBusBoard.c, CORE_DXE.sdl, AhciSmm.h, AhciBus.h, IDESMM.h, Ata.c, Atapi.c, IdeBus.c, IdeBus.h, IdeBusMaster.c, IdeBusBoard.h

  • [TAG] - EIP67738
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - IdeSmm.c File has been changed in the previous version to remove AHCI Controller Init programming that issue controller reset in S3. This causes various AMD platforms to not resume from S3 properly.
    [RootCause] - IdeSmm.c File has been changed in the previous version to remove AHCI Controller Init programming that issue controller reset in S3. This causes various AMD platforms to not resume from S3 properly.
    [Solution] - Reverted the Idesmm.c file to previous version that will bring back the Ahci Controller initialization by issuing Controller reset
    [Files] - IDESMM.C

  • [TAG] - EIP69244
    [Category] - Improvement
    [Description] - The number of retry count for user and master password added based on the MAXIMUM_HDD_UNLOCK_ATTEMPTS SDL token value.
    [Files] - HddPassword.c , HddPassword.Sdl

  • [TAG] - EIP62381
    [Category] - Improvement
    [Description] - In IdeSecurity Module, display HDD number in Setup based on
    results from WhichIde() function of DiskInfoProtocol.
    [Files] - HddPassword.c, HddPassword.h, SBDxe.c, PIDEController.h

  • [TAG] - EIP 63320
    [Category]- BUG FIX
    [Severity]- Minor
    [Symptom] - Port1 HDD's password setting item is disappeared, if the device is connected to another controller.
    [RootCause]- When the second controller HDD detected and comes for the Password verfication, the already password validated HDD information is lost.
    [Solution] - Saved the existing data if it's already password verified and added to the new data
    [Files] - Hddpassword.c

  • [TAG] - EIP 67674
    [Category]- IMPROVEMENT
    [Description]- All buffers allocated from heap during password checking should be zeroed before freeing - security requirement
    [Files] - HddPassword.c

  • [TAG] - EIP 69521
    [Category]- IMPROVEMENT
    [Description]- Idesecurity module to be compatible with AMITSE BootOnly flavor
    [Files] - HddPassword.c

  • [TAG] - EIP71205
    [Description] - Idesecurity module throws build error with AMITSE Bootonly flavour.
    [Files] - HddPassword.c

  • [TAG] - EIP72999
    [Category] - Improvement
    [Description] - Modified the function to support the OVERRIDE_TSEIDEPasswordCheck SDL token
    [Files] - Hddpassword.c

  • [TAG] - EIP62381
    [Category] - Improvement
    [Description] - SB template version checking added to avoid the build error on old SB template project
    [Files] - HddPassword.c

4.6.3_HddSecurity_018
  • [TAG]- EIP 57341
    [Category]-IMPROVEMENT
    [Description]- Added Support for SMM PI 1.1 in HDDSecurity eModule.
    [Files]- IdeSecurity.c , IdeSecurity.h, IdeSecurity.dxs

  • [TAG] - EIP 56827
    [Category]- BUG FIX
    [Severity]- Minor
    [Symptom] - Buld error from IdeSmm.h
    [RootCause]- Invalid characters in IdeSmm.h
    [Solution] - Removed the Invalid Charater from IdeSmm.h
    [Files] - IdeSmm.h

  • [TAG] - EIP38288
    [Category] - Enhanced
    [Description] - Klocwork Issues II - Recovery
    [Files] - IdeSmm\InstallIdeSmi.c

  • [TAG] - EIP 37975
    [Category] -IMPROVEMENT
    [Description] - Klocwork Issues II - IDE/Ahci module
    [Files] - HddPassword.c

4.6.3_HddSecurity_017

[TAG] - EIP 52585
[Category] - BUG FIX
[Severity] - Minor
[Symptom] - HDD password can not be disabled in setup menu when turn on token "ALL_HDD_SAME_PW"
[RootCause] - Authenticate HDD only if it is locked,which fails when ALL_HDD_SAME_PW is set.
[Solution] - Removed the code that checks HDD locked state in IDEPasswordAuthenticateAllHdd().
[Files] - HddPassword.c

[TAG] - EIP 49732
[Category] - Improvement
[Description] - Build problem Resolved with Old AMITSE version.
[Files] - Build problem Resolved with Old AMITSE version.

[TAG] - EIP 52221
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - Under Aptio4.6.4.1, the HddSecurity "4.6.3_HddSecurity_016" will build failed.
[RootCause]- Goto Form error in UEFI2.0
[Solution] - Moved Goto Form inside the FormSet.
[Files] - IdeSecurity.sd

4.6.3_HddSecurity_016

[TAG] - EIP 48770
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - HddSecurity build error when disable the IDEBUS module..
[RootCause]- IdebusLib used with IdeSecurity Module.
[Solution] - Removed IdebusLib usage from source and mak file.
[Files] - Idesecurity.c, IdeSecurity.mak

[TAG]- EIP 48180
[Category]-IMPROVEMENT
[Description]- Update the IdeSecurity eModule to utilize Setup Customization
[Files]- IdeSecurity.sd

[TAG] EIP49675
[Category] Bug Fix
[Severity] Minor
[Symptom] Typos Misspellings in IDESecurity module
[RootCause] Typos Misspellings
[Solution] Correction in Typo
[Files] IdeSecurity.uni

[TAG] - EIP 46081
[Category] - Action Item
[Description] - 64 bit PCI config space exception in AHCI driver.
[Files] - IDESmm.c

[TAG] - EIP 46116
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - When enter the BIOS Setup :"security" page ,it will hang up.
[RootCause]- 1. Freepool function doesn't have proper input 2. Size variable not initilized.
[Solution] - 1. Removed using gBs pointer and used Lib Function 2. Size variable initilized with 0.
[Files] - Hddpassword.c

[TAG] - EIP50988
[Category] - BUG FIX
[Severity] - Important
[Symptom] - Hddpassword doesn't work properly with more than 1 HDD with ALL_HDD_SAME_PW set to 0.
[RootCause] - Not added the AMITSE changes for the implementation of ALL_HDD_SAME_PW token.
[Solution] - Changes in AMITSE module for the implementation of token ALL_HDD_SAME_PW moved to AmitseHddpassword.
[Files] - HddPassword.c

[TAG]- EIP 49732
[Category]-IMPROVEMENT
[Description]- Supported added for SETUP_PASSWORD_NON_CASE_SENSITIVE
[Files]- Hddpassword.c

4.6.3_HddSecurity_015

[TAG] - EIP 44603
[Category] - Enhancement
[Severity] - Minor
[Symptom] - No Hdd Password in Nvram once enable FORCE_HDD_PASSWORD_PROMPT
[RootCause]- Password not stored in NVRAM on enabling the FORCE_HDD_PASSWORD_PROMPT token.
[Solution] - Password will be stored in nvram based on HDD_PASSWORD_ON_NVRAM token.
[Files] - IdeSecurity.c, IdeSecurity.sdl

[TAG]- EIP 44182
[Category]-IMPROVEMENT
[Description]- Unable to build the project with HDDSecurity module and without AHCI module.
[Files]- IdeSecurity.h, IdeSmm.c

[TAG] - EIP 43790
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - The IDE_SECURITY_PWNV_GUID in IdeSecurity.h will cause compile failed in some case
[RootCause] - The definition of IDE_SECURITY_PWNV_GUID contains a semicolon in the end of line
[Solution] - Removed the SemiColon in the end of line
[Files] - IdeSecurity.h

[TAG]- EIP 43492
[Category]-IMPROVEMENT
[Description]- Change the INTEL_IDE_PROTOCOL into EFI_IDE_PROTOCOL in IdeSecurity.c
[Files]- IdeSecurity.c

[TAG]- EIP 43299
[Category]-IMPROVEMENT
[Description]- About IdeSecurity module. It use soft smi port 0xb2 directly.It will need to re-modify on all of AMD project.
1) Added the SDL token for Sw SMI port address.
2) Used Pciio protocol to get the device location and passed this information to SMM driver.
[Files]- IdeSecurity.c, IdeSmm.c, PideBus.h

[TAG]- EIP 43249
[Category]-IMPROVEMENT
[Description]- Non-Ascii character in comments causing build problem in japanese XP
[Files]- IdeSecurity.c,IDESMM.c, InstallIdeSmi, Ata.c, Atapi.c, IDEBusComponentName.c, IdeBusMaster.c, IdeHPA.c, IdePowerManagement.c

[TAG]- EIP 43525
[Category]-IMPROVEMENT
[Description]- ALL_HDD_SAME_PW SDL token default value should be set to 0.
[Files]- HddPassword.sdl

[TAG] - EIP 45593
[Category] - IMPROVEMENT
[Severity] - Minor
[Symptom] - Build Errors in ForceHDDPassword.c on new core 4.6.4.1 label
[RootCause]- IDE_CONTROLLER_PROTOCOL structure defined header not included
[Solution] - Include the respective header(PIDEController.h)
[Files] - ForceHddPassword.c

[TAG]- EIP 43492
[Category]-IMPROVEMENT
[Description]- Added the INTEL_IDE_PROTOCOL also to support old Core and drivers.
[Files]- IdeSecurity.c
NOTE: Pidebus.h Source Safe Version 16 should be used for this label to build.
4.6.3_HddSecurity_014

[TAG]- EIP40151
[Category]- NEW FEATURE
[Description]- If system has two HDDs, User need set two HDDs password separately with master and user password. We want to simply the procedure, if user set master or user password, it will set two HDDs with same password. While un-lock the HDD password, user just need input one Master/User password to un-lock HDD.
[Files]- IdeSecurity.sd, IdeSecurity.uni
4.6.3_HddSecurity_013

[TAG] - EIP 40528
[Category]- BUG FIX
[Severity]- Important
[Symptom]- Need do HDD PSW reset when warmboot
[RootCause]- When SATA mode changed from AHCI to IDE and with Warm boot Hdd password is not asked in POST with FORCE_HDD_PASSWORD sdl token set.
[Solution]- Issue Port reset to SATA ports when system reboots from Setup with FORCE_HDD_PASSWORD sdl token is set.
[Files] - ForceHddPassword Added. HddPassword.cif, Hddpassword.sdl, hddpassword.mak modified.

[TAG] - None
[Category]- IMPROVEMENT
[Description]- Modified the Hddpassword build procedure, so that customer can add their password oem files and build without modifying the Mak file
[Files]- HddPassword.mak

[TAG] - EIP 43059
[Category]- BUG FIX
[Severity]- Important
[Symptom]- Build Errors in HddPassword.c on non INTEL_IDE_PROTOCOL Projects.
[RootCause]- Hddpassword.c included the PIdebus.h . PIdebus.h uses the IDE_CONTROLLER_PROTOCOL protocol.
[Solution]- Before Pidebus.h included, included the PIDEController.h also. .
[Files] - Hddpassword.c

[TAG] - EIP42594
[Category]- BUG FIX
[Severity]- Minor
[Symptom]- [IdeSecurity]IdeSecConfig variable not set when there is on HDD connected
[RootCause]- IdeSecConfig variable is not set when no HDD is present, thus the HDD count value (IdeSecConfig.Count) checking fails in IdeSecurity.sd and displays the label always.
[Solution]- Initialised the structure IdeSecConfig to zero if no HDD is present.
[Files]- HddPassword.c
  • Test Report:
    - Tested HDD password in IDE and AHCI mode.
    • 4.6.3_HddSecurity_012
    1) Build error in "4.6.3_HddSecurity_011" idesecurity label. EIP#39531
    4.6.3_HddSecurity_011
    1) Device names are not displayed when built in UEFI2.1 mode. EIP#38473
    2) Removed setup questions when SETUP_SAME_SYS_HDD_PW is on. They are not
    used in this case
    3) Klocwork Issues II - IDE/Ahci module. EIP#37975
    4.6.3_HddSecurity_010
    1) Issue: Same Structure definied in Hddpassword and Amitse.
    Solution: Amitse created tsecommon.h with all the common definition.
    EIP: 27339
    2) UEFI2.1 compliance change
    EIP: 34744
    3)Once SETUP_SAME_SYS_HDD_PW is ON, AHCI mode fails to boot OS
    with specific Hard Drive.
    EIP: 36288
    NOTE:THIS VERSION OF LABEL SHOULD BE USED WITH AMITSE LABEL 4.6.2_TSE_2_01_1203_beta OR ABOVE.
    4.6.3_HddSecurity_009
    Refer to EIP 33848: LegacyBios protocol is not needed.
    Files Modified:
    Core\EM\HddSecurity\
    IdeSecurity.c
    IdeSecurity.h
    IdeSecurity.dxs
    4.6.3_HddSecurity_008a
    Update CHM file and coding standard.
    Files Modified:
    Core\EM\HddSecurity\
    IdeSecurity.c
    IdeSecurity.h
    IdeSecuritySetup.c
    IdeSMM.c
    IdeSMM.h
    Core\EM\HddSecurity\HddPassword\
    HddPassword.h
    HddPassword.c
    4.6.3_HddSecurity_008
    Files Modified:
    Core\EM\HddSecurity\
    1)IdeSecurity.c - CloseEvent funtion used instead of a static variable in callback routines - EIP 27065
    2)IDESMM.c - Correct S3 resume hanging problem when IDE_PASSWORD_LENGTH is set to some value other than 32 (EIP 27989).
    3) Correct S3 resume hanging problem in AHCI mode (EIP 29827).
    NOTE: For acoustic support, IDE_SETUP_PROTOCOL protocol definition are defined in PIDEBus.h(Ver 6) and PAHCIbus.h(Ver 2).
    4.6.3_HddSecurity_007
    1)EIP 22925: Request to set HDD password length by token.
    Solution: Token added to IdeSecurity.sdl, and definition removed from IdeSecurity.h
    2)The data structure AMI_IFR_MSGBOX in HddPassword.h and MessageBox.h are not the same
    EIP 27157
    4.6.3_HddSecurity_006A
    Update Identify Data before checking the Security Status of the Hard Disk.
    1)x64 mode compilation error Resolved.
    Eip:22710
    2)Remove unused files from IDEsecurity module.
    EIP:22790
    4.6.3_HddSecurity_006
    1)SmmProtocols located on the remove HDD password SMI also.EIP: 21668
    2)HDDpassword module part added. This is for AMITSE 2.0.IdeSecurity Module.
    NOTE:
    If your project doesn’t have AMITSE2.0 , you need to disable the Hddpassword module part on this driver.
    4.6.3_HddSecurity_005
    1)Remove HDD password doesn’t work for AHCI mode – EIP 19935
    2)EIP19618 removed dependency on foundation.lib
    3)Added FORCE_HDD_PASSWORD_PROMPT token and its associated FHPP ASL token
    4)HDD password support in RAID mode EIP:20421

    © American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2012-06-09
Source Control Label: 4.6.3_HddSecurity_021
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
ONE
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.5.2
Dependent Source Control Location: SS:ALASKA;$/Alaska/Source/Core/Modules/IdeBus;
TWO
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.h | Files that has Security and Password Related Functions and Protocols
IdeSecuritySetup.c | File for Setup Driver.
IdeSecurity.sd | File that contains the Setup Options and Information Displayed in Bios Setup
IdeSecurity.uni | Files that has Strings that are displayed in Post and Setup
IdeSecurity.dxs | Files that has Dependency of Security Module with Other Modules.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.mak | Make file becomes part of the BIOS build process
IDESMM.sdl | Contains BIOS build parameters.
IDESMM.c | Files that has Ide Security in Smm Mode Related Functions and Routines
IDESMM.h | Headers, Definitions, Macros and Function Prototypes are defined in this File.
InstallIdeSmi.c | Files that has Installs Smi for Ide Security to be used.
IDESMM.ffs | Ffs File created in 32 bit Build
IDESMMx64.ffs | Ffs File created in 64 bit Build
IDESMM.dxs | Files that has Dependency of Security SMM Module with Other Modules.
HddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
Hddpassword.cif | Component information file for the Module Part
Hddpassword.mak | Make file becomes part of the BIOS build process
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.c | Files that contains HddPassword screen support Related Functions and Routines
Hddpassword.h | File that contains HddPassword related Headers, Definitions, Macros and Function Prototypes.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
MASTER_PASSWORD_ENABLE | Boolean | Switch to Enable/Disable support for Master passwords
DISPLAY_MASTER_PASSWORD | Boolean | Switch to Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | Switch to Set Master Password Through Various Method.
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
FHPP | Integer | Asl Usage
DSSP | Integer | Asl Usage

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_PORT_DRIVE_TBL_MAP | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
USER_PASSWORD_RETRY_ATTEMPTS | Integer | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_39, Dated: 2012-01-04
Visual eBios: RSS.5.72.0220, Dated: 2012-01-04
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
EIP #79637 - Enhanced Erase Mode not Working
EIP #78432 - The password set for OEM_MASTER_PASSWORD_TAG token is not authenticated when the token SETUP_PASSWORD_NON_CASE_SENSITIVE is set to 1.
EIP #78274 - When the the token ALL_HDD_SAME_PW is set to 1 and no HDD is connected to SUT, Set User Password and Set Master Password links are displayed in security page.
EIP #83239 - If SETUP_SAME_SYS_HDD_PW is set, and Hdd Security is not disabled when Administrator password removed
EIP #81680 - The password set for DEFAULT_MASTER_PASSWORD_TAG token is not authenticated when the token SETUP_PASSWORD_NON_CASE_SENSITIVE is set to 1.
EIP #89271 - HDD Security string not displayed properly on multilanguage

EIP Addressed
EIP #79637 - Enhanced Erase Mode not Working
EIP #78432 - The password set for OEM_MASTER_PASSWORD_TAG token is not authenticated when the token SETUP_PASSWORD_NON_CASE_SENSITIVE is set to 1.
EIP #78274 - When the the token ALL_HDD_SAME_PW is set to 1 and no HDD is connected to SUT, Set User Password and Set Master Password links are displayed in security page.
EIP #83239 - If SETUP_SAME_SYS_HDD_PW is set, and Hdd Security is not disabled when Administrator password removed
EIP #81680 - The password set for DEFAULT_MASTER_PASSWORD_TAG token is not authenticated when the token SETUP_PASSWORD_NON_CASE_SENSITIVE is set to 1.
EIP #76872 - If user password are all wrong, then try master password(no need to press 'ESC').
EIP #89271 - HDD Security string not displayed properly on multilanguage
Files Changed for General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
Root\Core\em\HddSecurity\IdeSecurity.c (EIP #79637, #78432)
Root\Core\em\HddSecurity\IdeSecurity.sd (EIP #78274)
Root\Core\em\HddSecurity\IdeSecurity.chm (EIP #83239)
Root\Core\em\HddSecurity\HddPassword\HddPassword.c (EIP #76872, #81680, #89271)
Root\Core\em\HddSecurity\HddPassword\HddPassword.sdl (EIP #76872)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
Issue(s) with a Description
NONE
Unit Testing:
DOCUMENT ANY UNIT TESTING DONE BY ENGINEERING
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
DOCUMENT ANY BQA TESTING RESULTS
Here is the Quality Assurance System Test Plan
Here is the Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_021

  • [TAG] - EIP79637
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - Enhanced Erase Mode not Working
    [RootCause] - IdeSecurity Module SecurityEraseUnit did not handle Bit1 of Control Word to identify if it is a normal erase or Enhanced erase
    [Solution] - [IdeSecurity Module]SIECURITY ERASE UNIT command needs Enhanced mode support Code changed from Control &= 0x1; // Bit0 is valid to Control &= 0x3; // Bit0 and Bit 1 is valid to make EnhancedErase functional.
    [Files] - IdeSecurity.c

  • [TAG] - EIP78432
    [Category] - Bug Fix
    [Symptom] - The password set for OEM_MASTER_PASSWORD_TAG token is not authenticated when the token SETUP_PASSWORD_NON_CASE_SENSITIVE is set to 1.
    [RootCause] - When SETUP_PASSWORD_NON_CASE_SENSITIVE token is 1, input password is always converted to Uppercase but OEM_MASTER_PASSWORD_TAG is in lower case.
    [Solution] - OEM_MASTER_PASSWORD_TAG is converted into Uppercase before storing in memory.
    [Files] - IdSecurity.c

  • [TAG] - EIP78274
    [Category] - Bug Fix
    [Symptom] - When the the token ALL_HDD_SAME_PW is set to 1 and no HDD is connected to SUT, Set User Password and Set Master Password links are displayed in security page.
    [RootCause] - When ALL_HDD_SAME_PW token is 1 ,not checking the presence of hard disk.
    [Solution] - When ALL_HDD_SAME_PW token is 1,checking harddisk is present or not and if not present suppress the links.
    [Files] - IdeSecurity.sd

  • [TAG] - EIP83239
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - If SETUP_SAME_SYS_HDD_PW is set, and Hdd Security is not disabled when Administrator password removed
    [RootCause] - With setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state, Flashing the bios cause Prompt Password in Post due to the reason Bios user password is stored by using en encoding method when hard disk password is sent as such received from user
    [Solution] - This is a lImitation thas has been mentioned in the Chm File
    [Files] - Idesecurity.chm

  • [TAG] - EIP76872
    [Category] - Improvement
    [Description] - If user password are all wrong, then try master password(no need to press 'ESC').
    [Files] - HddPassword.c, HddPassword.sdl

  • [TAG] - EIP81680
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - The password set for DEFAULT_MASTER_PASSWORD_TAG token is not authenticated when the token SETUP_PASSWORD_NON_CASE_SENSITIVE is set to 1.
    [RootCause] - When the master password is not installed, Master password Prompt window should not displayed
    [Solution] - Removed master password prompt window, when the master password is not installed
    [Files] - HddPassword.c

  • [TAG] - EIP89271
    [Category] - Bug Fix
    [Symptom] - HDD Security string not displayed properly on multilanguage
    [RootCause] - Languages not initilized by AMITSE
    [Solution] - Languages is now initilized .Hddsecurity string is displayed properly for multilanguage.
    [Files] - HddPassword.c

4.6.3_HddSecurity_020

  • [TAG] - EIP77142
    [Category] - Improvement
    [Description] - Added the function 'IdeNonDataCommandExp' in the 'IDE_BUS_PROTOCOL' and removed the existing function 'IdeNonDataCommand' for supporting the upper 24bits of LBA.
    [Files] - Ata.c, IdeBus.c, Idebus.h, PIDEBus.h, Acoustic.c, IdeSecurity.c, IdeSMART.c

  • [TAG] - EIP77527
    [Category] - Improvement
    [Description] - IdeSecurity, IdeAcoustic and IdeSmart changes should be done based on the Core Version checking.
    [Files] - IdeSecurity.c, IdeSmart.c , Acoustic.c

  • [TAG] - EIP75245
    [Category] - Improvement
    [Description] - RegisterHddNotification does not match AMITSE hook return values. Modified the function to match the AMITSE hook return values.
    [Files] - Hddpassword.c

4.6.3_HddSecurity_019

  • [TAG] - EIP69246
    [Category] - Improvement
    [Description] - Made the SECURITY_SUPPORT as the Master token and removed the IdeSecurity_Support token.
    [Files] - IdeSecurity.c, IdeSecurity.h, IdeSecurity.mak, IdeSecurity.sdl

  • [TAG] - EIP72369
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - HDD_PASSWORD_ON_NVRAM SDL token default value is set to 1
    [RootCause] - HDD_PASSWORD_ON_NVRAM SDL token default value is set to 1 so that everytime password is saved in NVRAM but it is needed only when one wants to know the HDD password on every boot.
    [Solution] - HDD_PASSWORD_ON_NVRAM SDL token default value is set to 0.
    [Files] - IdeSecurity.sdl

  • [TAG] - EIP69247
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom]- Several IdeSecurity.sdl tokens are not working properly
    [RootCause] - Several IdeSecurity.sdl tokens are not working properly
    [Solution] - Removed unwanted SDL token and verified all the SDL token function.
    [Files] - IdeSecurity.c, IdeSecurity.sdl, IdeSecurity.sdl

  • [TAG] - EIP54315
    [Category] - Bug Fix
    [Severity] - Important
    [Symptom] - SugarBay IdeSecurity increase S3 Resume time
    [RootCause] - Setting the MASTER_PASSWORD_ENABLE sdl token in Ide security Module saves the password in Smm all the time in reboots. This causes the system to ask for master password even when it is not locked which causes Long Timeout in S3 resume.
    [Solution] - Fix by not saving the master pasword in SMM at the time of Set password. Only Unlock password will save validated password in SMM area.
    [Files] - IdeSecurity.c

  • [TAG] - EIP70918
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom] - On S3 resume system will throw blue screen error, when HDD password is set
    [RootCause] - Ld assume that the data is UINT64. But the actual data is UINT32.
    [Solution] - To display d should be enough as the DataId is UINT32
    [Files] - IdeSecurity.c

  • [TAG] - EIP70395
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom] - When an Empty Master Password string is entered for the first time(when no password was installed before), the IDEPasswordUpdateHdd returns a Boolean "TRUE"
    [RootCause] - SecurityDisablePassword function returns the status of SetDefaultMasterPassword function which is EFI_SUCCESS instead of returning the status of SecurityCommonRoutine which will fail.
    [Solution] - SecurityCommonRoutine function status returned as the status for SecurityDisablePassword function. [Files] - IdeSecurity.c

  • [TAG] - EIP69295
    [Category] - Improvement
    [Description] - The Timeout values used by IDE and AHCI drivers are made as SDL tokens, so that the timeout values can be varied.
    [Files] - IdeBusBoard.c, CORE_DXE.sdl, AhciSmm.h, AhciBus.h, IDESMM.h, Ata.c, Atapi.c, IdeBus.c, IdeBus.h, IdeBusMaster.c, IdeBusBoard.h

  • [TAG] - EIP67738
    [Category] - Bug Fix
    [Severity] - Normal
    [Symptom] - IdeSmm.c File has been changed in the previous version to remove AHCI Controller Init programming that issue controller reset in S3. This causes various AMD platforms to not resume from S3 properly.
    [RootCause] - IdeSmm.c File has been changed in the previous version to remove AHCI Controller Init programming that issue controller reset in S3. This causes various AMD platforms to not resume from S3 properly.
    [Solution] - Reverted the Idesmm.c file to previous version that will bring back the Ahci Controller initialization by issuing Controller reset
    [Files] - IDESMM.C

  • [TAG] - EIP69244
    [Category] - Improvement
    [Description] - The number of retry count for user and master password added based on the MAXIMUM_HDD_UNLOCK_ATTEMPTS SDL token value.
    [Files] - HddPassword.c , HddPassword.Sdl

  • [TAG] - EIP62381
    [Category] - Improvement
    [Description] - In IdeSecurity Module, display HDD number in Setup based on
    results from WhichIde() function of DiskInfoProtocol.
    [Files] - HddPassword.c, HddPassword.h, SBDxe.c, PIDEController.h

  • [TAG] - EIP 63320
    [Category]- BUG FIX
    [Severity]- Minor
    [Symptom] - Port1 HDD's password setting item is disappeared, if the device is connected to another controller.
    [RootCause]- When the second controller HDD detected and comes for the Password verfication, the already password validated HDD information is lost.
    [Solution] - Saved the existing data if it's already password verified and added to the new data
    [Files] - Hddpassword.c

  • [TAG] - EIP 67674
    [Category]- IMPROVEMENT
    [Description]- All buffers allocated from heap during password checking should be zeroed before freeing - security requirement
    [Files] - HddPassword.c

  • [TAG] - EIP 69521
    [Category]- IMPROVEMENT
    [Description]- Idesecurity module to be compatible with AMITSE BootOnly flavor
    [Files] - HddPassword.c

  • [TAG] - EIP71205
    [Description] - Idesecurity module throws build error with AMITSE Bootonly flavour.
    [Files] - HddPassword.c

  • [TAG] - EIP72999
    [Category] - Improvement
    [Description] - Modified the function to support the OVERRIDE_TSEIDEPasswordCheck SDL token
    [Files] - Hddpassword.c

  • [TAG] - EIP62381
    [Category] - Improvement
    [Description] - SB template version checking added to avoid the build error on old SB template project
    [Files] - HddPassword.c

4.6.3_HddSecurity_018
  • [TAG]- EIP 57341
    [Category]-IMPROVEMENT
    [Description]- Added Support for SMM PI 1.1 in HDDSecurity eModule.
    [Files]- IdeSecurity.c , IdeSecurity.h, IdeSecurity.dxs

  • [TAG] - EIP 56827
    [Category]- BUG FIX
    [Severity]- Minor
    [Symptom] - Buld error from IdeSmm.h
    [RootCause]- Invalid characters in IdeSmm.h
    [Solution] - Removed the Invalid Charater from IdeSmm.h
    [Files] - IdeSmm.h

  • [TAG] - EIP38288
    [Category] - Enhanced
    [Description] - Klocwork Issues II - Recovery
    [Files] - IdeSmm\InstallIdeSmi.c

  • [TAG] - EIP 37975
    [Category] -IMPROVEMENT
    [Description] - Klocwork Issues II - IDE/Ahci module
    [Files] - HddPassword.c

4.6.3_HddSecurity_017

[TAG] - EIP 52585
[Category] - BUG FIX
[Severity] - Minor
[Symptom] - HDD password can not be disabled in setup menu when turn on token "ALL_HDD_SAME_PW"
[RootCause] - Authenticate HDD only if it is locked,which fails when ALL_HDD_SAME_PW is set.
[Solution] - Removed the code that checks HDD locked state in IDEPasswordAuthenticateAllHdd().
[Files] - HddPassword.c

[TAG] - EIP 49732
[Category] - Improvement
[Description] - Build problem Resolved with Old AMITSE version.
[Files] - Build problem Resolved with Old AMITSE version.

[TAG] - EIP 52221
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - Under Aptio4.6.4.1, the HddSecurity "4.6.3_HddSecurity_016" will build failed.
[RootCause]- Goto Form error in UEFI2.0
[Solution] - Moved Goto Form inside the FormSet.
[Files] - IdeSecurity.sd

4.6.3_HddSecurity_016

[TAG] - EIP 48770
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - HddSecurity build error when disable the IDEBUS module..
[RootCause]- IdebusLib used with IdeSecurity Module.
[Solution] - Removed IdebusLib usage from source and mak file.
[Files] - Idesecurity.c, IdeSecurity.mak

[TAG]- EIP 48180
[Category]-IMPROVEMENT
[Description]- Update the IdeSecurity eModule to utilize Setup Customization
[Files]- IdeSecurity.sd

[TAG] EIP49675
[Category] Bug Fix
[Severity] Minor
[Symptom] Typos Misspellings in IDESecurity module
[RootCause] Typos Misspellings
[Solution] Correction in Typo
[Files] IdeSecurity.uni

[TAG] - EIP 46081
[Category] - Action Item
[Description] - 64 bit PCI config space exception in AHCI driver.
[Files] - IDESmm.c

[TAG] - EIP 46116
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - When enter the BIOS Setup :"security" page ,it will hang up.
[RootCause]- 1. Freepool function doesn't have proper input 2. Size variable not initilized.
[Solution] - 1. Removed using gBs pointer and used Lib Function 2. Size variable initilized with 0.
[Files] - Hddpassword.c

[TAG] - EIP50988
[Category] - BUG FIX
[Severity] - Important
[Symptom] - Hddpassword doesn't work properly with more than 1 HDD with ALL_HDD_SAME_PW set to 0.
[RootCause] - Not added the AMITSE changes for the implementation of ALL_HDD_SAME_PW token.
[Solution] - Changes in AMITSE module for the implementation of token ALL_HDD_SAME_PW moved to AmitseHddpassword.
[Files] - HddPassword.c

[TAG]- EIP 49732
[Category]-IMPROVEMENT
[Description]- Supported added for SETUP_PASSWORD_NON_CASE_SENSITIVE
[Files]- Hddpassword.c

4.6.3_HddSecurity_015

[TAG] - EIP 44603
[Category] - Enhancement
[Severity] - Minor
[Symptom] - No Hdd Password in Nvram once enable FORCE_HDD_PASSWORD_PROMPT
[RootCause]- Password not stored in NVRAM on enabling the FORCE_HDD_PASSWORD_PROMPT token.
[Solution] - Password will be stored in nvram based on HDD_PASSWORD_ON_NVRAM token.
[Files] - IdeSecurity.c, IdeSecurity.sdl

[TAG]- EIP 44182
[Category]-IMPROVEMENT
[Description]- Unable to build the project with HDDSecurity module and without AHCI module.
[Files]- IdeSecurity.h, IdeSmm.c

[TAG] - EIP 43790
[Category]- BUG FIX
[Severity]- Minor
[Symptom] - The IDE_SECURITY_PWNV_GUID in IdeSecurity.h will cause compile failed in some case
[RootCause] - The definition of IDE_SECURITY_PWNV_GUID contains a semicolon in the end of line
[Solution] - Removed the SemiColon in the end of line
[Files] - IdeSecurity.h

[TAG]- EIP 43492
[Category]-IMPROVEMENT
[Description]- Change the INTEL_IDE_PROTOCOL into EFI_IDE_PROTOCOL in IdeSecurity.c
[Files]- IdeSecurity.c

[TAG]- EIP 43299
[Category]-IMPROVEMENT
[Description]- About IdeSecurity module. It use soft smi port 0xb2 directly.It will need to re-modify on all of AMD project.
1) Added the SDL token for Sw SMI port address.
2) Used Pciio protocol to get the device location and passed this information to SMM driver.
[Files]- IdeSecurity.c, IdeSmm.c, PideBus.h

[TAG]- EIP 43249
[Category]-IMPROVEMENT
[Description]- Non-Ascii character in comments causing build problem in japanese XP
[Files]- IdeSecurity.c,IDESMM.c, InstallIdeSmi, Ata.c, Atapi.c, IDEBusComponentName.c, IdeBusMaster.c, IdeHPA.c, IdePowerManagement.c

[TAG]- EIP 43525
[Category]-IMPROVEMENT
[Description]- ALL_HDD_SAME_PW SDL token default value should be set to 0.
[Files]- HddPassword.sdl

[TAG] - EIP 45593
[Category] - IMPROVEMENT
[Severity] - Minor
[Symptom] - Build Errors in ForceHDDPassword.c on new core 4.6.4.1 label
[RootCause]- IDE_CONTROLLER_PROTOCOL structure defined header not included
[Solution] - Include the respective header(PIDEController.h)
[Files] - ForceHddPassword.c

[TAG]- EIP 43492
[Category]-IMPROVEMENT
[Description]- Added the INTEL_IDE_PROTOCOL also to support old Core and drivers.
[Files]- IdeSecurity.c
NOTE: Pidebus.h Source Safe Version 16 should be used for this label to build.
4.6.3_HddSecurity_014

[TAG]- EIP40151
[Category]- NEW FEATURE
[Description]- If system has two HDDs, User need set two HDDs password separately with master and user password. We want to simply the procedure, if user set master or user password, it will set two HDDs with same password. While un-lock the HDD password, user just need input one Master/User password to un-lock HDD.
[Files]- IdeSecurity.sd, IdeSecurity.uni
4.6.3_HddSecurity_013

[TAG] - EIP 40528
[Category]- BUG FIX
[Severity]- Important
[Symptom]- Need do HDD PSW reset when warmboot
[RootCause]- When SATA mode changed from AHCI to IDE and with Warm boot Hdd password is not asked in POST with FORCE_HDD_PASSWORD sdl token set.
[Solution]- Issue Port reset to SATA ports when system reboots from Setup with FORCE_HDD_PASSWORD sdl token is set.
[Files] - ForceHddPassword Added. HddPassword.cif, Hddpassword.sdl, hddpassword.mak modified.

[TAG] - None
[Category]- IMPROVEMENT
[Description]- Modified the Hddpassword build procedure, so that customer can add their password oem files and build without modifying the Mak file
[Files]- HddPassword.mak

[TAG] - EIP 43059
[Category]- BUG FIX
[Severity]- Important
[Symptom]- Build Errors in HddPassword.c on non INTEL_IDE_PROTOCOL Projects.
[RootCause]- Hddpassword.c included the PIdebus.h . PIdebus.h uses the IDE_CONTROLLER_PROTOCOL protocol.
[Solution]- Before Pidebus.h included, included the PIDEController.h also. .
[Files] - Hddpassword.c

[TAG] - EIP42594
[Category]- BUG FIX
[Severity]- Minor
[Symptom]- [IdeSecurity]IdeSecConfig variable not set when there is on HDD connected
[RootCause]- IdeSecConfig variable is not set when no HDD is present, thus the HDD count value (IdeSecConfig.Count) checking fails in IdeSecurity.sd and displays the label always.
[Solution]- Initialised the structure IdeSecConfig to zero if no HDD is present.
[Files]- HddPassword.c
  • Test Report:
    - Tested HDD password in IDE and AHCI mode.
    • 4.6.3_HddSecurity_012
    1) Build error in "4.6.3_HddSecurity_011" idesecurity label. EIP#39531
    4.6.3_HddSecurity_011
    1) Device names are not displayed when built in UEFI2.1 mode. EIP#38473
    2) Removed setup questions when SETUP_SAME_SYS_HDD_PW is on. They are not
    used in this case
    3) Klocwork Issues II - IDE/Ahci module. EIP#37975
    4.6.3_HddSecurity_010
    1) Issue: Same Structure definied in Hddpassword and Amitse.
    Solution: Amitse created tsecommon.h with all the common definition.
    EIP: 27339
    2) UEFI2.1 compliance change
    EIP: 34744
    3)Once SETUP_SAME_SYS_HDD_PW is ON, AHCI mode fails to boot OS
    with specific Hard Drive.
    EIP: 36288
    NOTE:THIS VERSION OF LABEL SHOULD BE USED WITH AMITSE LABEL 4.6.2_TSE_2_01_1203_beta OR ABOVE.
    4.6.3_HddSecurity_009
    Refer to EIP 33848: LegacyBios protocol is not needed.
    Files Modified:
    Core\EM\HddSecurity\
    IdeSecurity.c
    IdeSecurity.h
    IdeSecurity.dxs
    4.6.3_HddSecurity_008a
    Update CHM file and coding standard.
    Files Modified:
    Core\EM\HddSecurity\
    IdeSecurity.c
    IdeSecurity.h
    IdeSecuritySetup.c
    IdeSMM.c
    IdeSMM.h
    Core\EM\HddSecurity\HddPassword\
    HddPassword.h
    HddPassword.c
    4.6.3_HddSecurity_008
    Files Modified:
    Core\EM\HddSecurity\
    1)IdeSecurity.c - CloseEvent funtion used instead of a static variable in callback routines - EIP 27065
    2)IDESMM.c - Correct S3 resume hanging problem when IDE_PASSWORD_LENGTH is set to some value other than 32 (EIP 27989).
    3) Correct S3 resume hanging problem in AHCI mode (EIP 29827).
    NOTE: For acoustic support, IDE_SETUP_PROTOCOL protocol definition are defined in PIDEBus.h(Ver 6) and PAHCIbus.h(Ver 2).
    4.6.3_HddSecurity_007
    1)EIP 22925: Request to set HDD password length by token.
    Solution: Token added to IdeSecurity.sdl, and definition removed from IdeSecurity.h
    2)The data structure AMI_IFR_MSGBOX in HddPassword.h and MessageBox.h are not the same
    EIP 27157
    4.6.3_HddSecurity_006A
    Update Identify Data before checking the Security Status of the Hard Disk.
    1)x64 mode compilation error Resolved.
    Eip:22710
    2)Remove unused files from IDEsecurity module.
    EIP:22790
    4.6.3_HddSecurity_006
    1)SmmProtocols located on the remove HDD password SMI also.EIP: 21668
    2)HDDpassword module part added. This is for AMITSE 2.0.IdeSecurity Module.
    NOTE:
    If your project doesn’t have AMITSE2.0 , you need to disable the Hddpassword module part on this driver.
    4.6.3_HddSecurity_005
    1)Remove HDD password doesn’t work for AHCI mode – EIP 19935
    2)EIP19618 removed dependency on foundation.lib
    3)Added FORCE_HDD_PASSWORD_PROMPT token and its associated FHPP ASL token
    4)HDD password support in RAID mode EIP:20421

    © American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2012-12-10
Source Control Label: 4.6.3_HddSecurity_022
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
ONE
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.5.2
Dependent Source Control Location: SS:ALASKA;$/Alaska/Source/Core/Modules/IdeBus;
TWO
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.h | Files that has Security and Password Related Functions and Protocols
IdeSecuritySetup.c | File for Setup Driver.
IdeSecurity.sd | File that contains the Setup Options and Information Displayed in Bios Setup
IdeSecurity.uni | Files that has Strings that are displayed in Post and Setup
IdeSecurity.dxs | Files that has Dependency of Security Module with Other Modules.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.mak | Make file becomes part of the BIOS build process
IDESMM.sdl | Contains BIOS build parameters.
IDESMM.c | Files that has Ide Security in Smm Mode Related Functions and Routines
IDESMM.h | Headers, Definitions, Macros and Function Prototypes are defined in this File.
InstallIdeSmi.c | Files that has Installs Smi for Ide Security to be used.
IDESMM.dxs | Files that has Dependency of Security SMM Module with Other Modules.
HddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
Hddpassword.cif | Component information file for the Module Part
Hddpassword.mak | Make file becomes part of the BIOS build process
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.c | Files that contains HddPassword screen support Related Functions and Routines
Hddpassword.h | File that contains HddPassword related Headers, Definitions, Macros and Function Prototypes.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
MASTER_PASSWORD_ENABLE | Boolean | Switch to Enable/Disable support for Master passwords
DISPLAY_MASTER_PASSWORD | Boolean | Switch to Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | Switch to Set Master Password Through Various Method.
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
FHPP | Integer | Asl Usage
DSSP | Integer | Asl Usage

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_PORT_DRIVE_TBL_MAP | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
USER_PASSWORD_RETRY_ATTEMPTS | Integer | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40, Dated: 2012-06-21
Visual eBios: RSS.5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
EIP #92050 - In setup, Hdd Security User and Master password status string displayed as Set or Not Set instead of Installed or Not Installed.

EIP Addressed
EIP #92050 - In setup, Hdd Security User and Master password status string displayed as Set or Not Set instead of Installed or Not Installed.
EIP #99649 - Made IDEPasswordUpdateHdd() symmetric with IDEPasswordAuthenticateHdd() when token SETUP_PASSWORD_NON_CASE_SENSITIVE is set
Files Changed for General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
Root\Core\em\HddSecurity\IdeSecurity.sd (EIP #92050)
Root\Core\em\HddSecurity\IdeSecurity.uni (EIP #92050)
Root\Core\em\HddSecurity\HddPassword\HddPassword.c (EIP #99649)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
Issue(s) with a Description
NONE
Unit Testing:
DOCUMENT ANY UNIT TESTING DONE BY ENGINEERING
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
DOCUMENT ANY BQA TESTING RESULTS
Here is the Quality Assurance System Test Plan
Here is the Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_022

  • [TAG] - EIP92050
    [Category] - Bug Fix
    [Severity] - Minor
    [Symptom] - In setup, Hdd Security User and Master password status string displayed as Set or Not Set instead of Installed or Not Installed.
    [RootCause] - In setup, Hdd Security User and Master password status string displayed as Set or Not Set instead of Installed or Not Installed.
    [Solution] - Changed the sd and UNI string tokens to be unique to Module
    [Files] - IdeSecuirty.sd, IdeSecuirty.uni

  • [TAG] - EIP99649
    [Category] - Improvement
    [Description] - Made IDEPasswordUpdateHdd() symmetric with IDEPasswordAuthenticateHdd() when token SETUP_PASSWORD_NON_CASE_SENSITIVE is set
    [Files] - HddPassword.c

Release_4.6.3_HddSecurity_021
Release_4.6.3_HddSecurity_020

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2013-05-02
Source Control Label: 4.6.3_HddSecurity_023
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
ONE
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.5.2
Dependent Source Control Location: SS:ALASKA;$/Alaska/Source/Core/Modules/IdeBus;
TWO
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.h | Files that has Security and Password Related Functions and Protocols
IdeSecuritySetup.c | File for Setup Driver.
IdeSecurity.sd | File that contains the Setup Options and Information Displayed in Bios Setup
IdeSecurity.uni | Files that has Strings that are displayed in Post and Setup
IdeSecurity.dxs | Files that has Dependency of Security Module with Other Modules.
IdeSecurityCommon.sd | Ide Security in Setup.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.mak | Make file becomes part of the BIOS build process
IDESMM.sdl | Contains BIOS build parameters.
IDESMM.c | Files that has Ide Security in Smm Mode Related Functions and Routines
IDESMM.h | Headers, Definitions, Macros and Function Prototypes are defined in this File.
IDESMM.dxs | Files that has Dependency of Security SMM Module with Other Modules.
HddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
Hddpassword.cif | Component information file for the Module Part
Hddpassword.mak | Make file becomes part of the BIOS build process
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.c | Files that contains HddPassword screen support Related Functions and Routines
Hddpassword.h | File that contains HddPassword related Headers, Definitions, Macros and Function Prototypes.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
MASTER_PASSWORD_ENABLE | Boolean | Switch to Enable/Disable support for Master passwords
DISPLAY_MASTER_PASSWORD | Boolean | Switch to Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | Switch to Set Master Password Through Various Method.
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
DSSP | Integer | Asl Usage

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_PORT_DRIVE_TBL_MAP | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
USER_PASSWORD_RETRY_ATTEMPTS | Integer | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_40, Dated: 2012-06-21
Visual eBios: RSS.5.73.0239, Dated: 2012-06-21
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
EIP #114278 - IdeSecurity eModule Master Token name changed to HDD_SECURITY_SUPPORT
EIP #108583 - support set HDD password in same page
EIP #112188 - Help string for Set User Password and Set Master Password is updated.
EIP #109495 - HddSecurity driver needs to be updated for PI specification 1.2
EIP #113655 - Invoke TSEIDEPasswordCheck() function only if password is set to the HDD and also to remove the unnecessary save screen in IDEPasswordCheck() of HDD security module.
EIP #117159 - Proper error message displayed when the Password count expired
Files Changed for General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
Root\Core\em\HddSecurity\IdeSecurity.cif (EIP #108583)
Root\Core\em\HddSecurity\IdeSecurity.sdl (EIP #108583, #114278)
Root\Core\em\HddSecurity\IdeSecurity.mak (EIP #108583)
Root\Core\em\HddSecurity\IdeSecuritySetup.c (EIP #108583)
Root\Core\em\HddSecurity\IdeSecurity.uni (EIP #108583, #112188)
Root\Core\em\HddSecurity\IdeSecurityCommon.sd (EIP #108583)
Root\Core\em\HddSecurity\IdeSmm\IDESMM.cif (EIP #109495)
Root\Core\em\HddSecurity\IdeSmm\IDESMM.sdl (EIP #114278)
Root\Core\em\HddSecurity\IdeSmm\IDESMM.h (EIP #109495)
Root\Core\em\HddSecurity\IdeSmm\IDESMM.c (EIP #109495)
Root\Core\em\HddSecurity\IdeSmm\IDESMM.DXS (EIP #109495)
Root\Core\em\HddSecurity\HddPassword\HddPassword.mak (EIP #108583)
Root\Core\em\HddSecurity\HddPassword\HddPassword.sdl (EIP #108583)
Root\Core\em\HddSecurity\HddPassword\HddPassword.c (EIP #108583, #113655, #117159)
Root\Core\em\HddSecurity\HddPassword\HddPassword.h (EIP #108583)
Root\Core\em\HddSecurity\HddPassword\HddPassword.uni (EIP #117159)
Root\Core\em\HddSecurity\HddPassword\HddSecTokens.c (EIP #117159)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
Issue(s) with a Description
NONE
Unit Testing:
DOCUMENT ANY UNIT TESTING DONE BY ENGINEERING
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
DOCUMENT ANY BQA TESTING RESULTS
Here is the Quality Assurance System Test Plan
Here is the Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_023

Note: Add TSE changes for this label from EIP#122164
  • [TAG] EIP114278
    [Category] Improvement
    [Description] IdeSecurity eModule Master Token name changed to HDD_SECURITY_SUPPORT
    [Files] IdeSecurity.sdl, IdeSmm.sdl

  • [TAG] EIP108583
    [Category] New Feature
    [Description] support set HDD password in same page
    [Files] IdeSecurity.cif, IdeSecurity.mak, IdeSecurity.sdl, IdeSecurity.uni, IdeSecurityCommon.sd, IdeSecuritySetup.c, HddPassword.c, HddPassword.h, HddPassword.mak, HddPassword.sdl

  • [TAG] EIP112188
    [Category] Improvement
    [Description] Help string for Set User Password and Set Master Password is updated.
    [Files] IdeSecurity.uni

  • [TAG] EIP109495
    [Category] Improvement
    [Description] HddSecurity driver needs to be updated for PI specification 1.2
    [Files] IdeSmm.c, IdeSmm.dxs, IdeSmm.h, IdeSmm.cif

  • [TAG] EIP113655
    [Category] Improvement
    [Description] Invoke TSEIDEPasswordCheck() function only if password is set to the HDD and also to remove the unnecessary save screen in IDEPasswordCheck() of HDD security module.
    [Files] HddPassword.c

  • [TAG] EIP117159
    [Category] Improvement
    [Description] Proper error message displayed when the Password count expired
    [Files] HddPassword.c, HddPassword.uni, HddSecTokens.c

Please add TSE Source module to avoid build errors, when SECUITY_SETUP_ON_SAME_PAGE token is 1

Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021
Release_4.6.3_HddSecurity_020

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2013-12-04
Source Control Label: 4.6.3_HddSecurity_024
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
ONE
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.3_IdeBus_06 and above
Dependent Source Control Location: SS:ALASKA;$/Alaska/SOURCE/Core/Modules/IdeBus;
TWO
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020 and above
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;
THREE
Dependent Component Title: Core
Dependent Component Reference Name: Core
Dependent Source Control Label: 4.6.5.5
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Core;4.6.5.5
Dependent Binary Control Location: SS: Alaska;$/Alaska/BIN/Core;4.6.5.5

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.chm | CHM file for the eModule
IdeSecurity.dxs | Dependency expression for IDESecurity driver.
IdeSecurity.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IdeSecurity driver.
IdeSecurity.sd | Ide Security in Setup.
IdeSecurity.uni | Contains the unicode string definitions for the strings in IdeSecurity.sd.
IdeSecurityBdsCall.c | Description: This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeSecurityCommon.sd | Ide Security in Setup.
IdeSecuritySetup.c | Ide Security Setup Routines.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.mak | Make file for the Idesmm component.
IDESMM.sdl | Contains BIOS build parameters.
IDESMM.c | Provide functions to unlock HDD password during S3 resume
IDESMM.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IDESMM Component
IDESMM.dxs | Dependency file for the IDE SMM.
AmiTseHddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
AmiTseHddPassword.cif | Component information file for the Module Part
ForceHddPassword.c | Send Disable Software Preservation command when the FORCE_HDD_PASSWORD_PROMPT token is set to 1.
Hddpassword.c | Contains BIOS build parameters.
Hddpassword.c | Files that contains HddPassword screen support Related Functions and Routines
Hddpassword.h | Header file for the HddPassword.
Hddpassword.mak | Make file for the Hddpassword.obj.
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.uni | Strings related to Hdd password.
HddSecTokens.c | This file does not add any code. It has, all the string tokens that are used by Minisetup, to fake the usage to strgather.exe. Add to this list, the new string tokens that are defined in AmiTSEStrstr.uni and to be used by Minisetup.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
MASTER_PASSWORD_ENABLE | Boolean | Enables support for Master passwords
DISPLAY_MASTER_PASSWORD | Boolean | Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | Switch to Set Master Password Through Various Method.
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
DSSP | Integer | Asl Usage
IDE_SECURITY_PLUG_IN | Boolean | If this token value is 1, OEM .sd file will be added.

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_LOCATE_AHCI_SMM | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
USER_PASSWORD_RETRY_ATTEMPTS | Boolean | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
USER_PASSWORD_RETRY_ATTEMPTS | Integer | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-01
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
EIP #123442 - Create a new Plug-In way in the IdeSecurity Module for OEM append sd file into
EIP #122239 - IdeSmm should be part of the SMM driver
EIP #123088 - Added the Wrapper function to pass HDD status and flag to show maximum unlocking attempt is reached.
EIP #106423 - HddPassword Support in UEFI Raid and Legacy Raid. And also taken care where there is no Conin Device available in the post
Files Changed for General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
Root\Core\em\HddSecurity\IdeSecurity.cif (EIP #106423)
Root\Core\em\HddSecurity\IdeSecurity.sdl (EIP #106423, #123442)
Root\Core\em\HddSecurity\IdeSecurity.mak (EIP #123442, #106423)
Root\Core\em\HddSecurity\IdeSMM.mak (EIP #122239)
Root\Core\em\HddSecurity\AmiTseHddPassword\HddPassword.c (EIP #106423, #123088)
Root\Core\em\HddSecurity\IdeSecurityBdsCall.c (EIP #106423)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
NONE
Unit Testing:
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
Here is the Quality Assurance System Test Plan
Here is the Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_024
  • [TAG] EIP106423
    [Category] Improvement
    [Description] HddPassword Support in UEFI Raid and Legacy Raid.
    [Files] IdeSecurity.cif,IdeSecurity.sdl,IdeSecurity.mak,IdeSecurityBdsCall.c,HddPassword.c, Ahcibus.c, Pidebus.h

  • [TAG] EIP123442
    [Category] Improvement
    [Description] Create a new Plug-In way in the IdeSecurity Module for OEM append sd file into
    [Files] IdeSecurity.sdl, IdeSecurity.mak

  • [TAG] EIP122239
    [Category] Improvement
    [Description] IdeSmm should be part of the SMM driver.
    [Files] IdeSmm.mak

  • [TAG] EIP123088
    [Category] Improvement
    [Description] Added the Wrapper function to pass HDD status and flag to show maximum unlocking attempt is reached
    [Files] HddPassword.c

Please add TSE Source module to avoid build errors, when SECUITY_SETUP_ON_SAME_PAGE token is 1

Release_4.6.3_HddSecurity_023
Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2014-04-04
Source Control Label: 4.6.3_HddSecurity_025
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
ONE
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.3_IdeBus_06 and above
Dependent Source Control Location: SS:ALASKA;$/Alaska/SOURCE/Core/Modules/IdeBus;
TWO
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020 and above
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;
THREE
Dependent Component Title: Core
Dependent Component Reference Name: Core
Dependent Source Control Label: 4.6.5.5
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Core;4.6.5.5
Dependent Binary Control Location: SS: Alaska;$/Alaska/BIN/Core;4.6.5.5

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.chm | CHM file for the eModule
IdeSecurity.dxs | Dependency expression for IDESecurity driver.
IdeSecurity.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IdeSecurity driver.
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sd | Ide Security in Setup.
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.uni | Contains the unicode string definitions for the strings in IdeSecurity.sd.
IdeSecurityBdsCall.c | Description: This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeSecurityCommon.sd | Ide Security in Setup.
IdeSecuritySetup.c | Ide Security Setup Routines.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.c | Provide functions to unlock HDD password during S3 resume
IDESMM.DXS | Dependency file for the IDE SMM.
IDESMM.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IDESMM Component
IDESMM.mak | Make file for the Idesmm component.
IDESMM.sdl | Contains BIOS build parameters.
AmiTseHddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
HddPassword.cif | Component information file for the Module Part
ForceHddPassword.c | Send Disable Software Preservation command when the FORCE_HDD_PASSWORD_PROMPT token is set to 1.
Hddpassword.c | Provides the Hddpassword Screen support in the setup.
Hddpassword.h | Header file for the HddPassword
Hddpassword.mak | Make file for the Hddpassword.obj.
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.uni | Strings related to Hdd password.
HddSecTokens.c | This file does not add any code. It has, all the string tokens that are used by Minisetup, to fake the usage to strgather.exe. Add to this list, the new string tokens that are defined in AmiTSEStrstr.uni and to be used by Minisetup.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
MASTER_PASSWORD_ENABLE | Boolean | Enables support for Master passwords
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
DISPLAY_MASTER_PASSWORD | Boolean | Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | OFF - (Default) Master Password is set by the user through Setup Interface \ ON - Master Password for all HDDs are set from the OEM_MASTER_PASSWORD_TAG which contains the string provided by the OEM.(Only Applicable when DISPLAY_MASTER_PASSWORD is Disabled)
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DSSP | Integer | Asl Usage
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
IDE_SECURITY_PLUG_IN | Boolean | If this token value is 1, OEM .sd file will be added.

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_LOCATE_AHCI_SMM | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
USER_PASSWORD_RETRY_ATTEMPTS | Boolean | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-01
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #143275 - Aptio 4.x - Gray out option for the user password when the HDD is in frozen state
EIP #127356 - Flash NVRAM seems to cause HDD can't be unlocked when S3 resume
EIP #152490 - Build Error in HddSecurity module when enabling DISPLAY_MASTER_PASSWORD sdl token
EIP #158001 - Update the CHM file for Aptio 4.x latest HddSecurity module with Core module dependency.
EIP #124591 - Assert issue after Hdd locked.
EIP #160499 - Do not get HDD password variable if HDD is in lock state
Files Changed for General Bug Fixes and EIP Addressed in this Label:

EIP Addressed
Root\Core\em\HddSecurity\IdeSecurity.c (EIP #143275, #127356, #124591, #160499)
Root\Core\em\HddSecurity\IdeSecurity.uni (EIP #143275)
Root\Core\em\HddSecurity\IDESMM.c (EIP #127356)
Root\Core\em\HddSecurity\Hddpassword\HddPassword.c (EIP #127356)
Root\Core\em\HddSecurity\IdeSecurity.sd (EIP #152490)
Root\Core\em\HddSecurity\IdeSecurity.chm (EIP #158001)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
NONE
Unit Testing:
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
Here is the Quality Assurance System Test Plan
Here is the Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_025
  • [TAG] EIP143275
    [Category] Improvement
    [Description] Aptio 4.x - Gray out option for the user password when the HDD is in frozen state
    [Files] IdeSecurity.c, IdeSecurity.uni

  • [TAG] EIP127356
    [Category] Improvement
    [Description] Flash NVRAM seems to cause HDD can't be unlocked when S3 resume
    [Files] IdeSecurity.c, IDESMM.c, HddPassword.c, AhciBus.c, AhciBus.h

  • [TAG] EIP152490
    [Category] Improvement
    [Description] Resolved the build Error in HddSecurity module when enabling DISPLAY_MASTER_PASSWORD sdl token
    [Files] IdeSecurity.sd

  • [TAG] EIP158001
    [Category] Improvement
    [Description] Update the CHM file for Aptio 4.x latest HddSecurity module with Core module dependency.
    [Files] IdeSecurity.chm

  • [TAG] EIP124591
    [Category] Improvement
    [Description] Before sending the freeze lock command for the HDD, check the Hdd security status (locked or unlocked) and if the hdd is unlocked state, send the freeze lock command to hdd
    [Files] IdeSecurity.c

  • [TAG] EIP160499
    [Category] Improvement
    [Description] Do not get HDD password variable if HDD is in lock state
    [Files] IdeSecurity.c

Please add TSE Source module to avoid build errors, when SECUITY_SETUP_ON_SAME_PAGE token is 1

Release_4.6.3_HddSecurity_024
Release_4.6.3_HddSecurity_023
Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2014-06-17
Source Control Label: 4.6.3_HddSecurity_026
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
ONE
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.3_IdeBus_06 and above
Dependent Source Control Location: SS:ALASKA;$/Alaska/SOURCE/Core/Modules/IdeBus;
TWO
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020 and above
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;
THREE
Dependent Component Title: Core
Dependent Component Reference Name: Core
Dependent Source Control Label: 4.6.5.5
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Core;4.6.5.5
Dependent Binary Control Location: SS: Alaska;$/Alaska/BIN/Core;4.6.5.5

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.chm | CHM file for the eModule
IdeSecurity.dxs | Dependency expression for IDESecurity driver.
IdeSecurity.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IdeSecurity driver.
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sd | Ide Security in Setup.
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.uni | Contains the unicode string definitions for the strings in IdeSecurity.sd.
IdeSecurityBdsCall.c | Description: This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeSecurityCommon.sd | Ide Security in Setup.
IdeSecuritySetup.c | Ide Security Setup Routines.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.c | Provide functions to unlock HDD password during S3 resume
IDESMM.DXS | Dependency file for the IDE SMM.
IDESMM.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IDESMM Component
IDESMM.mak | Make file for the Idesmm component.
IDESMM.sdl | Contains BIOS build parameters.
AmiTseHddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
HddPassword.cif | Component information file for the Module Part
ForceHddPassword.c | Send Disable Software Preservation command when the FORCE_HDD_PASSWORD_PROMPT token is set to 1.
Hddpassword.c | Provides the Hddpassword Screen support in the setup.
Hddpassword.h | Header file for the HddPassword
Hddpassword.mak | Make file for the Hddpassword.obj.
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.uni | Strings related to Hdd password.
HddSecTokens.c | This file does not add any code. It has, all the string tokens that are used by Minisetup, to fake the usage to strgather.exe. Add to this list, the new string tokens that are defined in AmiTSEStrstr.uni and to be used by Minisetup.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
MASTER_PASSWORD_ENABLE | Boolean | Enables support for Master passwords
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
DISPLAY_MASTER_PASSWORD | Boolean | Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | OFF - (Default) Master Password is set by the user through Setup Interface \ ON - Master Password for all HDDs are set from the OEM_MASTER_PASSWORD_TAG which contains the string provided by the OEM.(Only Applicable when DISPLAY_MASTER_PASSWORD is Disabled)
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DSSP | Integer | Asl Usage
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
IDE_SECURITY_PLUG_IN | Boolean | If this token value is 1, OEM .sd file will be added.

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_LOCATE_AHCI_SMM | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
USER_PASSWORD_RETRY_ATTEMPTS | Boolean | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-01
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #151848 - Clear HDD security data related variable when secuirty disabled
EIP #172445 - Runtime attribute set for the some of the variable used by Aptio-4 HddSecurity driver and needs to be reviewed
EIP #172443 - RaidDriverBlockingStatus" is using gEfiGlobalVariableGuid that violates UEFI 2.4 spec in IdeSecurityBdsCall.c and Runtime attribute set of this variable need to be removed
Files Changed for General Bug Fixes and EIP Addressed in this Label:
Root\Core\em\HddSecurity\IdeSecurity.c (EIP #151848, #172445)
Root\Core\em\HddSecurity\IdeSecurityBdsCall.c (EIP #172443)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
NONE
Unit Testing:
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
Here is the Quality Assurance System Test Plan
Here is the Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_026
  • [TAG] EIP151848
    [Category] Improvement
    [Description] [HDD security]Clear HDD security data related variable when secuirty disabled
    [Files] IdeSecurity.c

  • [TAG] EIP172445
    [Category] Improvement
    [Description] Runtime attribute set for the some of the variable used by Aptio-4 HddSecurity driver and needs to be reviewed
    [Files] IdeSecurity.c

  • [TAG] EIP172443
    [Category] Improvement
    [Description] RaidDriverBlockingStatus" is using gEfiGlobalVariableGuid that violates UEFI 2.4 spec in IdeSecurityBdsCall.c and Runtime attribute set of this variable need to be removed
    [Files] IdeSecurityBdsCall.c, AhciBus.c

Please add TSE Source module to avoid build errors, when SECUITY_SETUP_ON_SAME_PAGE token is 1

Release_4.6.3_HddSecurity_025
Release_4.6.3_HddSecurity_024
Release_4.6.3_HddSecurity_023
Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2014-12-12
Source Control Label: 4.6.3_HddSecurity_027
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
IdeBus
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.3_IdeBus_06 and above
Dependent Source Control Location: SS:ALASKA;$/Alaska/SOURCE/Core/Modules/IdeBus;
AHCI
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020 and above
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;
Core
Dependent Component Title: Core
Dependent Component Reference Name: Core
Dependent Source Control Label: 4.6.5.5
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Core;4.6.5.5
Dependent Binary Control Location: SS: Alaska;$/Alaska/BIN/Core;
AmiBufferValidationLib
Dependent Component Title: AmiBufferValidationLib
Dependent Component Reference Name: AmiBufferValidationLib
Dependent Source Control Label: AmiBufferValidationLib_01
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib;

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.chm | CHM file for the eModule
IdeSecurity.dxs | Dependency expression for IDESecurity driver.
IdeSecurity.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IdeSecurity driver.
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sd | Ide Security in Setup.
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.uni | Contains the unicode string definitions for the strings in IdeSecurity.sd.
IdeSecurityBdsCall.c | Description: This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeSecurityCommon.sd | Ide Security in Setup.
IdeSecuritySetup.c | Ide Security Setup Routines.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.c | Provide functions to unlock HDD password during S3 resume
IDESMM.DXS | Dependency file for the IDE SMM.
IDESMM.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IDESMM Component
IDESMM.mak | Make file for the Idesmm component.
IDESMM.sdl | Contains BIOS build parameters.
AmiTseHddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
HddPassword.cif | Component information file for the Module Part
ForceHddPassword.c | Send Disable Software Preservation command when the FORCE_HDD_PASSWORD_PROMPT token is set to 1.
Hddpassword.c | Provides the Hddpassword Screen support in the setup.
Hddpassword.h | Header file for the HddPassword
Hddpassword.mak | Make file for the Hddpassword.obj.
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.uni | Strings related to Hdd password.
HddSecTokens.c | This file does not add any code. It has, all the string tokens that are used by Minisetup, to fake the usage to strgather.exe. Add to this list, the new string tokens that are defined in AmiTSEStrstr.uni and to be used by Minisetup.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
MASTER_PASSWORD_ENABLE | Boolean | Enables support for Master passwords
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
DISPLAY_MASTER_PASSWORD | Boolean | Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | OFF - (Default) Master Password is set by the user through Setup Interface \ ON - Master Password for all HDDs are set from the OEM_MASTER_PASSWORD_TAG which contains the string provided by the OEM.(Only Applicable when DISPLAY_MASTER_PASSWORD is Disabled)
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DSSP | Integer | Asl Usage
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
IDE_SECURITY_PLUG_IN | Boolean | If this token value is 1, OEM .sd file will be added.

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_LOCATE_AHCI_SMM | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
USER_PASSWORD_RETRY_ATTEMPTS | Boolean | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-01
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #193600 - Security Enhancement for SMIHandler in HddSecurity module
EIP #178239 - S3 Resume fails when HDD password is set where platform have more than one AHCI controller
EIP #181548 - Implement event signaling during HDD Passwords Prompt.
EIP #182213 - Use System table conout Clearscreen instead of ClearScreen() from TSE to avoid active buffer updation.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
Root\Core\em\HddSecurity\IDESMM.c (EIP #193600, #178239)
Root\Core\em\HddSecurity\IDESMM.SDL (EIP #193600)
Root\Core\em\HddSecurity\IDESMM.mak (EIP #193600)
Root\Core\em\HddSecurity\Hddpassword\HddPassword.c (EIP #181548, #182213)
Root\Core\em\HddSecurity\Hddpassword\HddPassword.h (EIP #181548)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
NONE
Unit Testing:
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
Quality Assurance System Test Plan
Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_027
  • [TAG] EIP193600
    [Category] Improvement
    [Description] Security Enhancement for SMIHandler in HddSecurity module
    [Files] IDESMM.mak, IDESMM.h, IDESMM.c

  • [TAG] EIP178239
    [Category] Improvement
    [Description] S3 Resume fails when HDD password is set where platform have more than one AHCI controller
    [Files] AhciSmm.c,AhciSmm.sdl,IDESMM.c

  • [TAG] EIP181548
    [Category] Improvement
    [Description] Implement event signaling during HDD Passwords Prompt.
    [Files] HddPassword.c,HddPassword.h

  • [TAG] EIP182213
    [Category] Improvement
    [Description] Use System table conout Clearscreen instead of ClearScreen() from TSE to avoid active buffer updation.
    [Files] HddPassword.c

Please add TSE Source module to avoid build errors, when SECUITY_SETUP_ON_SAME_PAGE token is 1

Release_4.6.3_HddSecurity_026
Release_4.6.3_HddSecurity_025
Release_4.6.3_HddSecurity_024
Release_4.6.3_HddSecurity_023
Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2015-04-24
Source Control Label: 4.6.3_HddSecurity_028
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
IdeBus
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.3_IdeBus_06 and above
Dependent Source Control Location: SS:ALASKA;$/Alaska/SOURCE/Core/Modules/IdeBus;
AHCI
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020 and above
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;
Core
Dependent Component Title: Core
Dependent Component Reference Name: Core
Dependent Source Control Label: 4.6.5.5
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Core;4.6.5.5
Dependent Binary Control Location: SS: Alaska;$/Alaska/BIN/Core;
AmiBufferValidationLib
Dependent Component Title: AmiBufferValidationLib
Dependent Component Reference Name: AmiBufferValidationLib
Dependent Source Control Label: AmiBufferValidationLib_01
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib;

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting. If the project follows P.I. 1.2 specification,we use SMM communication protocol to unlock HDD during S3 resume.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.chm | CHM file for the eModule
IdeSecurity.dxs | Dependency expression for IDESecurity driver.
IdeSecurity.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IdeSecurity driver.
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sd | Ide Security in Setup.
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.uni | Contains the unicode string definitions for the strings in IdeSecurity.sd.
IdeSecurityBdsCall.c | Description: This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeSecurityCommon.sd | Ide Security in Setup.
IdeSecuritySetup.c | Ide Security Setup Routines.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.c | Provide functions to unlock HDD password during S3 resume
IDESMM.DXS | Dependency file for the IDE SMM.
IDESMM.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IDESMM Component
IDESMM.mak | Make file for the Idesmm component.
IDESMM.sdl | Contains BIOS build parameters.
AmiTseHddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
HddPassword.cif | Component information file for the Module Part
ForceHddPassword.c | Send Disable Software Preservation command when the FORCE_HDD_PASSWORD_PROMPT token is set to 1.
Hddpassword.c | Provides the Hddpassword Screen support in the setup.
Hddpassword.h | Header file for the HddPassword
Hddpassword.mak | Make file for the Hddpassword.obj.
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.uni | Strings related to Hdd password.
HddSecTokens.c | This file does not add any code. It has, all the string tokens that are used by Minisetup, to fake the usage to strgather.exe. Add to this list, the new string tokens that are defined in AmiTSEStrstr.uni and to be used by Minisetup.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
MASTER_PASSWORD_ENABLE | Boolean | Enables support for Master passwords
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
DISPLAY_MASTER_PASSWORD | Boolean | Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | OFF - (Default) Master Password is set by the user through Setup Interface \ ON - Master Password for all HDDs are set from the OEM_MASTER_PASSWORD_TAG which contains the string provided by the OEM.(Only Applicable when DISPLAY_MASTER_PASSWORD is Disabled)
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DSSP | Integer | Asl Usage
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
IDE_SECURITY_PLUG_IN | Boolean | If this token value is 1, OEM .sd file will be added.

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_LOCATE_AHCI_SMM | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
USER_PASSWORD_RETRY_ATTEMPTS | Boolean | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-01
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
EIP#212319 - System hang while SW_SMI_AHCI_LOCATE_AHCI_SMM SMI trigger after enable SmmChkEn bit

EIP Addressed
EIP #208331 - Avoid sending freeze Lock command to the device if the HDD already in frozen state
Files Changed for General Bug Fixes and EIP Addressed in this Label:
Root\Core\em\HddSecurity\IDESMM.c (EIP #212319)
Root\Core\em\HddSecurity\IdeSecurity.h (EIP #212319)
Root\Core\em\HddSecurity\IdeSecurity.c (EIP #212319, #208331)
Root\Core\em\HddSecurity\AmiTseHddpassword\HddPassword.c (EIP #208331)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
NONE
Unit Testing:
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
Quality Assurance System Test Plan
Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_028
  • TAG] EIP208331
    [Category] Improvement
    [Description] Avoid sending freeze Lock command to the device if the HDD already in frozen state
    [Files] IdeSecurity.c,HddPassword.c

  • [TAG] EIP212319
    [Category] Bug Fix
    [Severity] Normal
    [Symptom] System hang while SW_SMI_AHCI_LOCATE_AHCI_SMM SMI trigger after enable SmmChkEn bit
    [RootCause] Bootservice call used inside IdeSmm driver which causes the Exception
    [Solution] Changes made not to use BootService calls inside IdeSmm driver
    [Files] IdeSecurity.h,IdeSecurity.c,IDESMM.c

Please add TSE Source module and AmiVfr.h changes from EIP#108583 for details,
when SECUITY_SETUP_ON_SAME_PAGE token is 1.

Release_4.6.3_HddSecurity_027
Release_4.6.3_HddSecurity_026
Release_4.6.3_HddSecurity_025
Release_4.6.3_HddSecurity_024
Release_4.6.3_HddSecurity_023
Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021

© American Megatrends Inc.


IdeSecurity

AMIBIOS Document References

Previous Validation Test Reports

Validation Test Report 20.htm

Validation Test Report 21.htm

Validation Test Report 22.htm

Validation Test Report 23.htm

Validation Test Report 24.htm

Validation Test Report 25.htm

Validation Test Report 26.htm

Validation Test Report 27.htm

Validation Test Report 28.htm


IDESecurity TEST REPORT

IdeSecurity module has been validated under following test cases and conditions.

Hardware

  • HDD that supports Security Feature.

Platforms Tested:

  • HuronRiver - Core Label 4.6.4.1
  • Piketon - Project Label (INT)4.6.5_DH55HC_21

Test Case:

Following test cases has been validated in different SATA modes.

  • HuronRiver - Core Label 4.6.4.1

    • Test Case | IDE | AHCI | RAID
    In Aptio Setup Utility - Security Tab,
    Each HDD will have HDD security page that
    has User password and Master password
    option to enter the password.     		PASS PASS PASS
    HDD password Validation | PASS | PASS | PASS
    HDD password on S3 resume | PASS | PASS | PASS
    Remove HDD password | PASS | PASS | PASS
    HDD set to be Frozen State after booting to windows | PASS | PASS | PASS
    HDD password should be validated before
    Raid option ROM gets invoked     		N/A N/A PASS

  • Piketon - Project Label (INT)4.6.5_DH55HC_21

    • Test Case | IDE | AHCI | RAID
    In Aptio Setup Utility - Security Tab,
    Each HDD will have HDD security page that
    has User password and Master password
    option to enter the password.     		PASS PASS PASS
    HDD password Validation | PASS | PASS | PASS
    HDD password on S3 resume | PASS | PASS | N/T
    Remove HDD password | PASS | PASS | PASS
    HDD set to be Frozen State after booting to windows | PASS | PASS | N/T
    HDD password should be validated before
    Raid option ROM gets invoked     		N/A N/A N/T


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label (INT)_a_4.6.3_HddSecurity_021

Platform Information Form :

Board Information - Chief River
BIOS Information (Label, Path) - Labeled '4.6.5.3_VEB_1APTJ020'; Path 'SS: Alaska;$/Alaska/Projects/Intel/IvyBridge/PantherPoint_ChiefRiver_Crb_1APTJ/ChiefRiver.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

The following BQA Tests have been validated in UEFI 2.3.1 BIOS Versions
Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:To display Master Password, set MASTER_PASSWORD_ENABLE and DISPLAY_MASTER_PASSWORD token to 1 in project

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:***For this label, set USER_PASSWORD_RETRY_ATTEMPTS token to 5

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:With new token USER_PASSWORD_RETRY_ATTEMPTS set to 3 after 3 times wrong user password. Master password will invoke in POST, type "oemm" password will accept.

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update:***Unable to launch RAID option ROM in BIOS

Platform Information Form :

Board Information - Bromolow
BIOS Information (Label, Path) - Labeled'4.6.4.1_VEB_1AOSX015'; Path 'SS: Alaska;$/Alaska/Projects/Intel/SandyBridge/CougarPoint_Bromolow_Crb_1AOSX/Bromolow.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

The following BQA Tests have been validated in UEFI 2.3.1 BIOS Versions
Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:To display Master Password, set MASTER_PASSWORD_ENABLE and DISPLAY_MASTER_PASSWORD token to 1 in project

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:***For this label, set USER_PASSWORD_RETRY_ATTEMPTS token to 5

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update:*** Video Driver is not available

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update:*** Video Driver is not available

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update:*** Video Driver is not available

Platform Information Form :

Board Information - AMD Dory CRB
BIOS Information (Label, Path) - Labeled'4.6.5.3_VEB_1AOUQ_015'; Path 'SS: Alaska;$/Alaska/Projects/AMD/AgesaV5/OrochiPI/Dory_1AOUQ/Dory.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

The following BQA Tests have been validated in UEFI 2.3.1 BIOS Versions
Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- U/T
Status Update: ***Unable to install Win 7 to check Security Enabled

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:To display Master Password, set MASTER_PASSWORD_ENABLE and DISPLAY_MASTER_PASSWORD token to 1 in project

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:***For this label, set USER_PASSWORD_RETRY_ATTEMPTS token to 5

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- U/T
Status Update:***Unable to install Win 7 to check Security Frozen State

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update:***Unable to install Win 7, shows error while instillation

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update:***Unable to install Win 7 Native IDE Mode,shows error while instillation

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update:***Unable to install WIn7


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label (INT)_a_4.6.3_HddSecurity_022

Platform Information Form :

Board Information - Chief River
BIOS Information (Label, Path) - Labeled '4.6.5.3_VEB_1APTJ025'; Path 'SS: Alaska;$/Alaska/Projects/Intel/IvyBridge/PantherPoint_ChiefRiver_Crb_1APTJ/ChiefRiver.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

The following BQA Tests have been validated in UEFI 2.3.1 BIOS Versions
Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update:No RAID drivers for Win 7

Platform Information Form :

Board Information - AMD Dory CRB
BIOS Information (Label, Path) - Labeled'4.6.5.3_VEB_1AOUQ_016'; Path 'SS: Alaska;$/Alaska/Projects/AMD/AgesaV5/OrochiPI/Dory_1AOUQ/Dory.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

The following BQA Tests have been validated in UEFI 2.3.1 BIOS Versions
Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update: Tested with token x64_BUILD 0/1

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- < PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- U/T
Status Update: BIOS not supported

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update: Set USER_PASSWORD_RETRY_ATTEMPTS token to 5

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update: BIOS not supported

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update: Drivers is not available

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update: Drivers is not available

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update: BIOS is not Supportede


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label (INT)_a_4.6.3_HddSecurity_023

Platform Information Form :

Board Information - Chief River
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1APTJ027'; Path 'SS: Alaska;$/Alaska/Projects/Intel/IvyBridge/PantherPoint_ChiefRiver_Crb_1APTJ/ChiefRiver.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- PASS
Status Update:

Test token support set HDD password in same page---- PASS
Status Update:

Platform Information Form :

Board Information - SugarBay
BIOS Information (Label, Path) - Labeled'4.6.5.4_VEB_1AOQI001';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update: Tested with token x64_BUILD 0/1

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- < PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- U/T
Status Update:Unable to soft reset the system.

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- U/T
Status Update:Unable to soft reset the system.

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update:System hangs on resume

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update:System hangs on resume

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update:System hangs on resume

Test token support set HDD password in same page---- PASS
Status Update:


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label (INT)_a_4.6.3_HddSecurity_024

Platform Information Form :

Board Information - Chief River
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1APTJ029'; Path 'SS: Alaska;$/Alaska/Projects/Intel/IvyBridge/PantherPoint_ChiefRiver_Crb_1APTJ/ChiefRiver.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- PASS
Status Update:

Test token support set HDD password in same page---- PASS
Status Update:

Platform Information Form :

Board Information - SharkbayBay
BIOS Information (Label, Path) - Labeled'4.6.5.4_VEB_1AQPM032';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build
REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- FAIL
Status Update:
HDD is not frozen when we reboot to Setup from SHELL or OS.Opened EIP #145114.
REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- FAIL
Status Update:
HDD is not frozen when we reboot to Setup from SHELL or OS.Opened EIP #145114.
REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- FAIL
Status Update:
HDD is not frozen when we reboot to Setup from SHELL or OS.Opened EIP #145114.
REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- FAIL
Status Update:
HDD is not frozen when we reboot to Setup from SHELL or OS.Opened EIP #145114.
Test token support set HDD password in same page---- PASS
Status Update:


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label 4.6.3_HddSecurity_025

Platform Information Form :

Board Information - SharkBay
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1AQPM034'; Path 'SS: Alaska;$/Alaska/Projects/Intel/Haswell/LynxPoint_SharkBay-MB_Crb_1AQPM/SharkBay.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

REF-31718: .N/A 32 Bit Project Compile---- BLOCKED
Status Update: 32 bit build is not supported in this platform.

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- PASS
Status Update:

Test token support set HDD password in same page---- PASS
Status Update:

Platform Information Form :

Board Information - SugarBay
BIOS Information (Label, Path) - Labeled'4.6.5.4_VEB_1AOQI001';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

REF-31718: .N/A 32 Bit Project Compile---- PASS
Status Update:

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- U/T
Status Update: Unable to soft reset the system.

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update: Unable to soft reset the system.

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- U/T
Status Update: RAID mode is not supported in this platform.

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- U/T
Status Update: RAID mode is not supported in this platform.

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update: Drivers not available to support S3 resume.

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update: Drivers not available to support S3 resume.

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update: Drivers not available to support S3 resume.

Test token support set HDD password in same page---- PASS
Status Update:


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label 4.6.3_HddSecurity_026

Platform Information Form :

Board Information - SharkBay
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1AQPM035'; Path 'SS: Alaska;$/Alaska/Projects/Intel/Haswell/LynxPoint_SharkBay-MB_Crb_1AQPM/SharkBay.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

REF-31718: .N/A 32 Bit Project Compile---- U/T
Status Update: 32 bit build is not supported in this platform.

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update: Test pass in SharkBay 1AQPM032 project.

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update: Soft reset is not supported in this platform. Test is pass in ChiefRiver 1APTJ029 project.

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update: Soft reset is not supported in this platform. Test is pass in ChiefRiver 1APTJ029 project.

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update: Unable to install OS if HddSecurity password set for HDD in project 1AQPM035. Test PASS in 1AQPM032 project.

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update: Unable to install OS if HddSecurity password set for HDD in project 1AQPM035. Test PASS in 1AQPM032 project.

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update: Unable to install OS if HddSecurity password set for HDD in project 1AQPM035. Test PASS in 1AQPM032 project.

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update: Tested in SharkBay 1AQPM032 project.

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update: Tested in SharkBay 1AQPM032 project.

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- PASS
Status Update: Tested in SharkBay 1AQPM032 project.

Test token support set HDD password in same page---- PASS
Status Update:

Platform Information Form :

Board Information - SugarBay
BIOS Information (Label, Path) - Labeled'4.6.5.4_VEB_1AOQI001';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

REF-31718: .N/A 32 Bit Project Compile---- PASS
Status Update:

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- U/T
Status Update: Soft reset is not supported in this platform. Test is pass in ChiefRiver 1APTJ029 project.

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update: Soft reset is not supported in this platform. Test is pass in ChiefRiver 1APTJ029 project.

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- U/T
Status Update: RAID mode is not supported in this platform.

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- U/T
Status Update: RAID mode is not supported in this platform.

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update: Drivers not available to support S3 resume.

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update: Drivers not available to support S3 resume.

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update: Drivers not available to support S3 resume.

Test token support set HDD password in same page---- PASS
Status Update:


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label 4.6.3_HddSecurity_027

Platform Information Form :

Board Information - Chief River
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1APTJ030'; Path 'SS: Alaska;$/Alaska/Projects/Intel/IvyBridge/PantherPoint_ChiefRiver_Crb_1APTJ/ChiefRiver.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Description
#RAID Option ROM is Launched.
Configuration:
Board: ChiefRiver
BIOS ID: 1APTJ030
Processor: Ivy Bridge E0
PCH: PantherPoint C1
RAM: 2GB DDR3

Build

REF-31718: .N/A 32 Bit Project Compile---- Untestable
Status Update: IA32 is not supported

REF-37927: .N/A Linux - Test ROM build---- Untestable
Status Update: Not applicable for Aptio 4 testing

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

REF-37351: CPP Check---- Untestable
Status Update: Not applicable for Aptio 4 testing

EFI

REF-40478EFI connect\disconnect drivers in shell---- PASS
Status Update: Password Set to HDD and performed testing

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update: Step 15: Max User password attempt is 3 not 5

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- Untestable
Status Update: RAID option rom not dispatched.

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update: MAXIMUM_HDD_UNLOCK_ATTEMPTS is 5 but for User Password attempt is 3 and Master password is 2.

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- Untestable
Status Update: One SATA port is working state

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- Untestable
Status Update: RAID option rom is not launched

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- Untestable
Status Update: RAID option rom is not launched


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label (INT)_a_4.6.3_HddSecurity_028

Platform Information Form :

Board Information - Sharkbay
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1AQPM'; Path 'SS: Alaska;$/Alaska/Projects/Intel/Haswell/Sharkbay_Crb_1AQPM/Sharkbay.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build

REF-31718: .N/A 32 Bit Project Compile---- Untestable
Status Update: IA32 is not supported

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update: Step 15: Max User password attempt is 3 not 5

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update: MAXIMUM_HDD_UNLOCK_ATTEMPTS is 5 but for User Password attempt is 3 and Master password is 2.

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- PASS
Status Update:

REF-42677: N/A SCT test for HddSecurity---- PASS
Status Update:

Board Information - SugarBay
BIOS Information (Label, Path) - Labeled'4.6.5.5_SugarBayPkg_006'; Path 'SS: Alaska/Projects/Intel/IeiSugarbay/IeiSugarbay_Crb_1ASBI/IeiSugarbay.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

The following BQA Tests have been validated in UEFI 2.3.1 BIOS Versions
 REF-31718: .N/A 32 Bit Project Compile---- PASS
Status Update:

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security
REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- U/T
Status Update: This platform doesn't support soft reset.

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- U/T
Status Update: This platform doesn't support soft reset.

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- U/T
Status Update: RAID mode is not supported in this platform.

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- U/T
Status Update: RAID mode is not supported in this platform.

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- U/T
Status Update: Driver not available to support S3 resume in this platform.

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- U/T
Status Update: Driver not available to support S3 resume in this platform.

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- U/T
Status Update: Driver not available to support S3 resume in this platform.

REF-42677: N/A SCT test for HddSecurity---- PASS
Status Update:


Copyright

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

Copyright (c) 1999-2015 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: IdeSecurity
Component Reference Name: IdeSecurity
Component Type: eModule
Release Date: 2015-04-30
Source Control Label: 4.6.3_HddSecurity_029
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/HddSecurity;
Dependencies
Component Dependencies
IdeBus
Dependent Component Title: IdeBus
Dependent Component Reference Name: IdeBus
Dependent Source Control Label: 4.6.3_IdeBus_06 and above
Dependent Source Control Location: SS:ALASKA;$/Alaska/SOURCE/Core/Modules/IdeBus;
AHCI
Dependent Component Title: AHCI
Dependent Component Reference Name: AHCI
Dependent Source Control Label: 4.6.3_AhciSrc_020 and above
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AHCI;
Core
Dependent Component Title: Core
Dependent Component Reference Name: Core
Dependent Source Control Label: 4.6.5.5
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Core;4.6.5.5
Dependent Binary Control Location: SS: Alaska;$/Alaska/BIN/Core;
AmiBufferValidationLib
Dependent Component Title: AmiBufferValidationLib
Dependent Component Reference Name: AmiBufferValidationLib
Dependent Source Control Label: AmiBufferValidationLib_01
Dependent Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib;

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: SMM CONTROL PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL_PROTOCOL_GUID
TWO
Dependent Protocol Name: SMM CONTROL2 PROTOCOL
Dependent Protocol GUID: EFI_SMM_CONTROL2_PROTOCOL_GUID
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
The IdeSecurity Module can be added to an EFI BIOS to support HDD Password Set, Unlock, Remove in Normal, Ahci and Raid mode. IdeSecurity module supports both Master and User password. Before booting to OS, HDD will be set to frozen state. On S3 resume HDD will be unlocked using the HDD Password we entered while system booting. If the project follows P.I. 1.2 specification, SMM communication protocol will be used to unlock HDD during S3 resume.
Filename | Description
Main Component | Root\Core\em\HddSecurity
IdeSecurity.cif | Component information file for the eModule
IdeSecurity.c | Files that has Security and Password Related Functions and Protocols
IdeSecurity.chm | CHM file for the eModule
IdeSecurity.dxs | Dependency expression for IDESecurity driver.
IdeSecurity.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IdeSecurity driver.
IdeSecurity.mak | Make file becomes part of the BIOS build process
IdeSecurity.sd | Ide Security in Setup.
IdeSecurity.sdl | Contains BIOS build parameters.
IdeSecurity.uni | Contains the unicode string definitions for the strings in IdeSecurity.sd.
IdeSecurityBdsCall.c | Description: This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeSecurityCommon.sd | Ide Security in Setup.
IdeSecuritySetup.c | Ide Security Setup Routines.
IDESMM
ModulePart 		Root\Core\em\HddSecurity - Provide functions to unlock HDD password during S3 resume.
IDESMM.cif | Component information file for the Module Part
IDESMM.c | Provide functions to unlock HDD password during S3 resume
IDESMM.DXS | Dependency file for the IDE SMM.
IDESMM.h | This file contains the Includes, Definitions, typedefs, Variable and External Declarations, Structure and function prototypes needed for the IDESMM Component
IDESMM.mak | Make file for the Idesmm component.
IDESMM.sdl | Contains BIOS build parameters.
AmiTseHddPassword
ModulePart 		Root\Core\em\HddSecurity\HddPassword - Provides the Hddpassword Screen support in the setup.
HddPassword.cif | Component information file for the Module Part
ForceHddPassword.c | Send Disable Software Preservation command when the FORCE_HDD_PASSWORD_PROMPT token is set to 1.
Hddpassword.c | Provides the Hddpassword Screen support in the setup.
Hddpassword.h | Header file for the HddPassword
Hddpassword.mak | Make file for the Hddpassword.obj.
Hddpassword.sdl | Contains BIOS build parameters.
Hddpassword.uni | Strings related to Hdd password.
HddSecTokens.c | This file does not add any code. It has, all the string tokens that are used by Minisetup, to fake the usage to strgather.exe. Add to this list, the new string tokens that are defined in AmiTSEStrstr.uni and to be used by Minisetup.
BIOS Parameters
IdeSecurity Module Parameters:
Parameter Name | Type | Description
HDD_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd Security support in Project
Security_Support | Boolean | Main switch to enable IdeSecurity support in Project
MASTER_PASSWORD_ENABLE | Boolean | Enables support for Master passwords
IDE_PASSWORD_LENGTH | Integer | Default maximum IDE password length.
DISPLAY_MASTER_PASSWORD | Boolean | Displays Master Password in the Setup Security Page
OEM_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password
OEM_DEFAULT_MASTER_PASSWORD | Expression | OFF - (Default) Master Password is set by the user through Setup Interface \ ON - Master Password for all HDDs are set from the OEM_MASTER_PASSWORD_TAG which contains the string provided by the OEM.(Only Applicable when DISPLAY_MASTER_PASSWORD is Disabled)
DEFAULT_MASTER_PASSWORD_REVISION | Expression | Default Master password revision code value
DISABLED_MASTER_PASSWORD_REVISION | Expression | Disabled Master password revision code to be set.\0000h/0FFFFh - Not supported
DEFAULT_MASTER_PASSWORD_TAG | Expression | Tag Contains the Default Password String provided by OEM to set as Master Password when disabled
MASTER_PASSWORD_REVISION_SWITCH | Expression | Switch that opts to change Master password revision code value
CHANGED_MASTER_PASSWORD_REVISION | Expression | Changed Master password revision code value
DISABLE_SOFT_SET_PREV | Boolean | Switch to Enable/Disable SATA Software Setting Preservation feature
DSSP | Integer | Asl Usage
FORCE_HDD_PASSWORD_PROMPT | Boolean | Set to 1 to always prompt for HDD password (in AHCI mode).
HDD_PASSWORD_ON_NVRAM | Boolean | Save the Hdd Password on Nvram.
SECUITY_SETUP_ON_SAME_PAGE | Boolean | Multiple HDD Security setting displayed on same page. To enable this token, AMITSE Source should be present in the project.
FHPP | Integer | Asl Usage
IDE_SECURITY_PLUG_IN | Boolean | If this token value is 1, OEM .sd file will be added.

IDESMM Module Parameters:
Parameter Name | Type | Description
IDESMM_SUPPORT | Boolean | Main switch to enable IDESMM support in Project
SW_SMI_HDD_PASSWORD_SAVE | Integer | Value of Hdd Password Save trigger Smi
SW_SMI_HDD_UNLOCK_PASSWORD | Integer | Value of Hdd Password Unlock trigger Smi
SW_SMI_HDD_PASSWORD_REMOVE | Integer | Value of Hdd Password Remove trigger Smi
SW_SMI_HDD_MISC_SMM_FEATURES | Integer | Value of Hdd Password Misc features trigger Smi
SW_SMI_AHCI_LOCATE_AHCI_SMM | Integer | Value of Ahci port Drive table Mapping trigger Smi

AmiTseHddPassword Module Parameters:
Parameter Name | Type | Description
SETUP_IDE_SECURITY_SUPPORT | Boolean | Main switch to enable Hdd password Screen in Project
SETUP_ASK_MASTER_PASSWORD | Boolean | Enable / Disable IDE Master password support
SETUP_SAME_SYS_HDD_PW | Boolean | Enable to have Admin password as IDE password
USER_PASSWORD_RETRY_ATTEMPTS | Boolean | Maximum number of attempts allowed to the HDD User Password. This token value should be less than or equal to MAXIMUM_HDD_UNLOCK_ATTEMPTS token. If all the attempts by user password failed then (MAXIMUM_HDD_UNLOCK_ATTEMPTS - USER_PASSWORD_RETRY_ATTEMPTS) attempts will be given to Master password
MAXIMUM_HDD_UNLOCK_ATTEMPTS | Integer | Maximum number of attempts in POST in which the user has to enter the HDD User Password/Master Password to unlock the HDD.This token value should not exceed 5 times because the ATA SECURITY UNLOCK command fails even if the correct User/Master password is entered on the sixth time because the ATA Security Expire Count is 5
ALL_HDD_SAME_PW | Boolean | 1-Enable to have one password for all HDD drives,0-Different HDD could have different password
OVERRIDE_FramePwdCallbackIdePasswordUpdate | Boolean | set to 1 if oem wants to override the FramePwdCallbackIdePasswordUpdate function from Board module.
OVERRIDE_PopupPwdAuthenticateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdAuthenticateIDEPwd function from Board module.
OVERRIDE_PopupPwdUpdateIDEPwd | Boolean | set to 1 if oem wants to override the PopupPwdUpdateIDEPwd function from Board module.

AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-01
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft's Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
EIP#215937 - System hang while SmmCommunication SMI trigger after enable SmmChkEn bit

EIP Addressed
NONE
Files Changed for General Bug Fixes and EIP Addressed in this Label:
Root\Core\em\HddSecurity\IDESMM.c (EIP #215937)
Known Limitations and Erratas in this label:
When bios with setup token SETUP_SAME_SYS_HDD_PW set to 1 is flashed and harddisk is in security enabled state, when Hard Disk in locked state. Now if someone flashes a Bios image with SETUP_SAME_SYS_HDD_PW set to 0 but in this case on post prompt will ask HDD password to unlock. When user enters the already set bios user password previously hard disk wont unlock. The reason is Bios user password is stored by using en encoding method when hard disk password is sent as such received from user.
Remaining Issues:
NONE
Unit Testing:
1. Aptio Setup Utility, in Security Tab, Each HDD will have HDD security page that has User password and Master password option to enter the password.
IDE AHCI RAID
HDD password Validation
HDD password on S3 resume
Remove Hdd password
On Raid mode, Hdd password should be validated before Raid option rom gets invoked
2. Entering Invalid password 3 times HDD will be locked and Bios booting process will be continue, But unable to use the HDD.
3. HDD set to be Frozen State when it boots to windows.
Validation Testing:
Quality Assurance System Test Plan
Quality Assurance Test Results
Release History:
4.6.3_HddSecurity_029
  • [TAG] EIP215937
    [Category] Bug Fix
    [Severity] Important
    [Symptom] System hang while SmmCommunication SMI trigger after enable SmmChkEn bit
    [RootCause] Bootservice call is used inside IDESMM driver
    [Solution] Avoided using BootService call inide IDESMM driver
    [Files] IDESMM.c

Please add TSE Source module and AmiVfr.h changes from EIP#108583 for details,
when SECUITY_SETUP_ON_SAME_PAGE token is 1.

Release_4.6.3_HddSecurity_028
Release_4.6.3_HddSecurity_027
Release_4.6.3_HddSecurity_026
Release_4.6.3_HddSecurity_025
Release_4.6.3_HddSecurity_024
Release_4.6.3_HddSecurity_023
Release_4.6.3_HddSecurity_022
Release_4.6.3_HddSecurity_021

© American Megatrends Inc.


Release Notes - NDA Required

Validation Test Report for IdeSecurity Label (INT)_a_4.6.3_HddSecurity_029

Platform Information Form :

Board Information - Sharkbay
BIOS Information (Label, Path) - Labeled '4.6.5.4_VEB_1AQPM'; Path 'SS: Alaska;$/Alaska/Projects/Intel/Haswell/Sharkbay_Crb_1AQPM/Sharkbay.veb';
Chipset Information (Type, Stepping) -
CPU Information (Type, Stepping) -
Memory Info (Manufacturer, Speed, Configuration) -
Graphics (Please specify which one in used) -
Chipset driver Version -
Graphics drive Version -

Build

REF-31718: .N/A 32 Bit Project Compile---- Untestable
Status Update: This project doesn't support IA32 compilation.

REF-31549: .N/A Test ROM Build---- PASS
Status Update:

Hdd Security

REF-33719: .N/A Always prompt for HDD password---- PASS
Status Update:

REF-33720: Windows 7 x64 BIOS User password as HDD User password---- PASS
Status Update:

REF-33717: .N/A Disable SATA Software Setting Preservation---- PASS
Status Update:

REF-33715: .N/A Disable support for Master password---- PASS
Status Update:

REF-33718: .N/A Enable SATA Software Setting Preservation---- PASS
Status Update:

REF-33714: .N/A Enable support for Master password---- PASS
Status Update:

REF-33705: .N/A HDD Password Validation in AHCI Mode---- PASS
Status Update: Step 15:

REF-33704: .N/A HDD Password Validation in IDE Mode---- PASS
Status Update:

REF-33706: .N/A HDD Password Validation in RAID Mode---- PASS
Status Update:

REF-33703: .N/A HDD Security in Setup---- PASS
Status Update:

REF-33721: .N/A Maximum Hdd Unlock Attempts---- PASS
Status Update:

REF-33716: .N/A Maximum User Password Length---- PASS
Status Update:

REF-33723: .N/A OEM Default Master Password Tag---- PASS
Status Update:

REF-33722: .N/A One Password for all HDD drives---- PASS
Status Update:

REF-33708: .N/A Remove HDD password in AHCI Mode---- PASS
Status Update:

REF-33707: .N/A Remove HDD password in IDE Mode---- PASS
Status Update:

REF-33709: .N/A Remove HDD password in RAID Mode---- PASS
Status Update:

REF-33710: Windows 7 x64 Security Frozen State---- PASS
Status Update:

REF-42674: .N/A Test multiple HDD Security setting on same page---- PASS
Status Update:

REF-42675: .N/A validate user and master password in POST---- PASS
Status Update:

REF-33712: Windows 7 x64 Windows 7 S3 Resume in AHCI Mode---- PASS
Status Update:

REF-33711: Windows 7 x64 Windows 7 S3 Resume in IDE Mode---- PASS
Status Update:

REF-33713: Windows 7 x64 Windows 7 S3 Resume in RAID Mode---- PASS
Status Update:


Function by File Name

AMIBIOS Function Reference

By File Name

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

  • ForceHddPassword.c
  • HddPassword.c
  • HddPassword.h
  • HddPassword.mak
  • HddSecTokens.c
  • IdeSecurity.c
  • IdeSecurity.dxs
  • IdeSecurity.h
  • IdeSecurity.mak
  • IdeSecurity.sd
  • IdeSecurityBdsCall.c
  • IdeSecurityCommon.sd
  • IdeSecuritySetup.c
  • IDESMM.c
  • IDESMM.DXS
  • IDESMM.h
  • IDESMM.mak


ForceHddPassword.c

Description:
Send Disable Software Preservation command when the
FORCE_HDD_PASSWORD_PROMPT token is set to 1

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

Function | Description
DisableSoftwarePreservation | Send the Disable software Preservation


DisableSoftwarePreservation in the ForceHddPassword.c

Function : DisableSoftwarePreservation

File: ForceHddPassword.c
Description:
Send the Disable software Preservation
Input:
None
Output:
None


HddPassword.c

Description:
Provides the Hddpassword Screen support in the setup.

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

Function | Description
AMI_CheckIDEPassword | Get the password and Validate the HDD password
CheckSecurityStatus | return the Security Status Information
FramePwdCallbackIdePasswordUpdate | function to update the ide password
HddNotificationFunction | Hdd notification function gets called when HddSecurityEnd Protocol get installed.
HddPasswordDPCopy | Copy the Device path to another Memory buffer
HddPasswordDPGetLastNode | Returns pointer on very last DP node before END_OF_DEVICE_PATH node
HddPasswordDPLength | return the Device path Length
HddPasswordGetDeviceName | Return the Drive String Name
HddSecuritySignalProtocolEvent | Internal function that installs/uninstall protocol with a specified GUID and NULL interface. Such protocols can be used as event signaling mechanism.
HDDStatus | Returns EFI_SUCCESS and sets *bHddStatus = TRUE if number of attempt to unlock HDD has reached MAXIMUM_HDD_UNLOCK_ATTEMPTS.
IDEPasswordAuthenticate | Hook function to validate IDE Password for the HDDs based on the token ALL_HDD_SAME_PW
IDEPasswordAuthenticateAllHdd | Validates the Ide password for all the HDDs Present.
IDEPasswordAuthenticateHdd | Validates the Ide password for the current HDD alone.
IDEPasswordCheck | Validate the HDD password
IDEPasswordGetDataPtr | Get the Ide password Data pointer
IDEPasswordGetLocked | Return Hdd Locked Information
IDEPasswordGetName | Get the Hdd name
IDEPasswordUpdate | Hook function to update the password for the HDDs based on the token ALL_HDD_SAME_PW.
IDEPasswordUpdateAllHdd | Updates the HDD password for all the HDDs present.
IDEPasswordUpdateHdd | Updates the HDD password for the current HDD alone.
IDEPasswordvices | Send Frezze command all the HDD
IDESecurityProtocolInit | Locate the Security Protocols and return the information
IDEUpdateConfig | Hook function to Initialize the structure IDE_SECURITY_CONFIG for the HDDs based on the token ALL_HDD_SAME_PW.
IDEUpdateConfigAllHdd | Initializes the structure IDE_SECURITY_CONFIG for all the HDDs present if the data pointer to the structure IDE_SECURITY_DATA is initialized already.
IDEUpdateConfigHdd | Initializes the structure IDE_SECURITY_CONFIG for the current HDD if the data pointer to the structure IDE_SECURITY_DATA is initialized already.
PasswordHiiAddString | Add the String to HiiDatabase
PopupPwdAuthenticateIDEPwd | Function to authenticate the IDE password
PopupPwdUpdateIDEPwd | function to update the setup config page after IDE password update
PrivateHiiAddString | Add the String to Hii Database using HiiString Protocol
RegisterHddNotification | Register the Protocol call back event
SearchTseHardDiskField | function to search TSE hard disk field.
SetHDDPassword | Set the HDD password
UnlockHDD | Unlock the HDD


AMI_CheckIDEPassword in the HddPassword.c

Function : AMI_CheckIDEPassword

File: HddPassword.c
Description:
Get the password and Validate the HDD password
Input:
UINT16 PromptToken,
VOID *DataPtr
Output:
none


CheckSecurityStatus in the HddPassword.c

Function : CheckSecurityStatus

File: HddPassword.c
Description:
return the Security Status Information
Input:
none
Output:
none


FramePwdCallbackIdePasswordUpdate in the HddPassword.c

Function : FramePwdCallbackIdePasswordUpdate

File: HddPassword.c
Description:
function to update the ide password
Input:
CONTROL_DATA *control : Selected password control data,
        VOID *saveData : New password
Output:
EFI_STATUS


HddNotificationFunction in the HddPassword.c

Function : HddNotificationFunction

File: HddPassword.c
Description:
Hdd notification function gets called when HddSecurityEnd Protocol get installed.
Input:
   EFI_EVENT Event - Event to signal
   void HddRegContext - Event specific context (pointer to NotifyRegisteration
Output:
none


HddPasswordDPCopy in the HddPassword.c

Function : HddPasswordDPCopy

File: HddPassword.c
Description:
Copy the Device path to another Memory buffer
Input:
EFI_DEVICE_PATH_PROTOCOL *pDp
Output:
none


HddPasswordDPGetLastNode in the HddPassword.c

Function : HddPasswordDPGetLastNode

File: HddPassword.c
Description:
Returns pointer on very last DP node before END_OF_DEVICE_PATH node
Input:
none
Output:
none


HddPasswordDPLength in the HddPassword.c

Function : HddPasswordDPLength

File: HddPassword.c
Description:
return the Device path Length
Input:
none
Output:
none


HddPasswordGetDeviceName in the HddPassword.c

Function : HddPasswordGetDeviceName

File: HddPassword.c
Description:
Return the Drive String Name
Input:
EFI_HANDLE Controller - the handle of the drive
CHAR16 **wsName - returned pointer to the drive string
Output:
BOOLEAN - TRUE - drive string has been found and is in wsName
   - FALSE - drive string has not been found
Notes:
it is the caller's responsibility to deallocate the space used for
wsName


HddSecuritySignalProtocolEvent in the HddPassword.c

Function : HddSecuritySignalProtocolEvent

File: HddPassword.c
Description:
Internal function that installs/uninstall protocol
with a specified GUID and NULL interface.
Such protocols can be used as event signaling mechanism.
Input:
ProtocolGuid Pointer to the protocol GUID.
Output:
None.


HDDStatus in the HddPassword.c

Function : HDDStatus

File: HddPassword.c
Description:
Returns EFI_SUCCESS and sets *bHddStatus = TRUE if number of
attempt to unlock HDD has reached MAXIMUM_HDD_UNLOCK_ATTEMPTS.
Input:
VOID *DataPtr
Output:
BOOLEAN *bHddStatus


IDEPasswordAuthenticate in the HddPassword.c

Function : IDEPasswordAuthenticate

File: HddPassword.c
Description:
Hook function to validate IDE Password for the HDDs based on
the token ALL_HDD_SAME_PW
Input:
CHAR16 *Password,
VOID* Ptr,
BOOLEAN bCheckUser
Output:
none


IDEPasswordAuthenticateAllHdd in the HddPassword.c

Function : IDEPasswordAuthenticateAllHdd

File: HddPassword.c
Description:
Validates the Ide password for all the HDDs Present.
Input:
CHAR16 *Password,
VOID* Ptr,
BOOLEAN bCheckUser
Output:
none


IDEPasswordAuthenticateHdd in the HddPassword.c

Function : IDEPasswordAuthenticateHdd

File: HddPassword.c
Description:
Validates the Ide password for the current HDD alone.
Input:
CHAR16 *Password,
VOID* Ptr,
BOOLEAN bCheckUser
Output:
none


IDEPasswordCheck in the HddPassword.c

Function : IDEPasswordCheck

File: HddPassword.c
Description:
Validate the HDD password
Input:
none
Output:
none


IDEPasswordGetDataPtr in the HddPassword.c

Function : IDEPasswordGetDataPtr

File: HddPassword.c
Description:
Get the Ide password Data pointer
Input:
none
Output:
none


IDEPasswordGetLocked in the HddPassword.c

Function : IDEPasswordGetLocked

File: HddPassword.c
Description:
Return Hdd Locked Information
Input:
UINTN       Index
Output:
none


IDEPasswordGetName in the HddPassword.c

Function : IDEPasswordGetName

File: HddPassword.c
Description:
Get the Hdd name
Input:
none
Output:
none


IDEPasswordUpdate in the HddPassword.c

Function : IDEPasswordUpdate

File: HddPassword.c
Description:
Hook function to update the password for the HDDs based
on the token ALL_HDD_SAME_PW.
Input:
UINT32 Index,
CHAR16 *Password,
BOOLEAN bCheckUser
Output:
none


IDEPasswordUpdateAllHdd in the HddPassword.c

Function : IDEPasswordUpdateAllHdd

File: HddPassword.c
Description:
Updates the HDD password for all the HDDs present.
Input:
UINT32 Index,
CHAR16 *Password,
BOOLEAN bCheckUser
Output:
none


IDEPasswordUpdateHdd in the HddPassword.c

Function : IDEPasswordUpdateHdd

File: HddPassword.c
Description:
Updates the HDD password for the current HDD alone.
Input:
UINT32 Index,
CHAR16 *Password,
BOOLEAN bCheckUser
Output:
none


IDEPasswordvices in the HddPassword.c

Function : IDEPasswordvices

File: HddPassword.c
Description:
Send Frezze command all the HDD
Input:
none
Output:
none


IDESecurityProtocolInit in the HddPassword.c

Function : IDESecurityProtocolInit

File: HddPassword.c
Description:
Locate the Security Protocols and return the information
Input:
none
Output:
none


IDEUpdateConfig in the HddPassword.c

Function : IDEUpdateConfig

File: HddPassword.c
Description:
Hook function to Initialize the structure IDE_SECURITY_CONFIG
for the HDDs based on the token ALL_HDD_SAME_PW.
Input:
IDE_SECURITY_CONFIG *ideSecConfig
UINTN value
Output:
none


IDEUpdateConfigAllHdd in the HddPassword.c

Function : IDEUpdateConfigAllHdd

File: HddPassword.c
Description:
Initializes the structure IDE_SECURITY_CONFIG for all the
HDDs present if the data pointer to the structure
IDE_SECURITY_DATA is initialized already.
Input:
IDE_SECURITY_CONFIG *ideSecConfig
UINTN value
Output:
none


IDEUpdateConfigHdd in the HddPassword.c

Function : IDEUpdateConfigHdd

File: HddPassword.c
Description:
Initializes the structure IDE_SECURITY_CONFIG for the current
HDD if the data pointer to the structure IDE_SECURITY_DATA is
initialized already.
Input:
IDE_SECURITY_CONFIG *ideSecConfig
UINTN value
Output:
none


PasswordHiiAddString in the HddPassword.c

Function : PasswordHiiAddString

File: HddPassword.c
Description:
Add the String to HiiDatabase
Input:
IN EFI_HII_HANDLE HiiHandle,
IN CHAR16 *     String
Output:
none


PopupPwdAuthenticateIDEPwd in the HddPassword.c

Function : PopupPwdAuthenticateIDEPwd

File: HddPassword.c
Description:
Function to authenticate the IDE password
Input:
POPUP_PASSWORD_DATA *popuppassword,
        BOOLEAN *AbortUpdate,
        VOID *data
Output:
EFI_STATUS


PopupPwdUpdateIDEPwd in the HddPassword.c

Function : PopupPwdUpdateIDEPwd

File: HddPassword.c
Description:
function to update the setup config page after IDE password update
Input:
None
Output:
None


PrivateHiiAddString in the HddPassword.c

Function : PrivateHiiAddString

File: HddPassword.c
Description:
Add the String to Hii Database using HiiString Protocol
Input:
IN EFI_HII_HANDLE HiiHandle,
IN CHAR16 *     String
Output:
none


RegisterHddNotification in the HddPassword.c

Function : RegisterHddNotification

File: HddPassword.c
Description:
Register the Protocol call back event
Input:
VOID
Output:
VOID


SearchTseHardDiskField in the HddPassword.c

Function : SearchTseHardDiskField

File: HddPassword.c
Description:
function to search TSE hard disk field.
Input:
IN OUT BOOLEAN *pbCheckUser : Password type - User/Master,
IN OUT BOOLEAN *pEnabledBit : Password is set / not,
IN OUT UINT8 *pHardDiskNumber : HDD index,
IN VOID *data
Output:
None


SetHDDPassword in the HddPassword.c

Function : SetHDDPassword

File: HddPassword.c
Description:
Set the HDD password
Input:
none
Output:
none


UnlockHDD in the HddPassword.c

Function : UnlockHDD

File: HddPassword.c
Description:
Unlock the HDD
Input:
none
Output:
none


HddPassword.h

Description:
Header file for the HddPassword


HddPassword.mak

Description:
Make file for the Hddpassword.obj


HddSecTokens.c

Description:
This file does not add any code. It has, all the string tokens that
are used by Minisetup, to fake the usage to strgather.exe. Add to
this list, the new string tokens that are defined in
AmiTSEStrstr.uni and to be used by Minisetup


IdeSecurity.c

Description:
IDE Security Support

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

Function | Description
CommonNonDataHook | Common Hook which Calls Non Data Command.
CommonPioDataHook | Common Hook which Calls Pio Data Command.
CommonReadWritePioHook | Common Hook which Calls Read Write PIO.
ConvertHddDataIdToString | Converts Integer HDD Data Id to String.
EncodeDecodePassword | Encodes/Decodes Password.
GatherIdeInfo | Gathers Ide Device's Bus,Func,Device & PM/PS/SM/SS Info.
IdeBusCallbackBootScript | Saves the IDE registers in a boot script.
IdeBusMiscSmmFeatureCallback | Saves the IDE registers in a boot script.
IdeSecurityEntryPoint | This function is the entry point for IDE SECURITY Driver.
InstallSecurityInterface | Checks whether the device supports Security mode or not. If yes, installs SecurityProtocol.
LocateAhciSmmServiceEvent | Generates the SwSMI to Locate the AhciSMM Protocol that is used by IdeSMM.
OEMSetMasterPassword | Sets the Default Password String provided by OEM as Master Password. SECURITY_SET_PASSWORD(Command Code : 0xF1) security command is used to set the master password.
ReturnIdePasswordFlags | Returns Ide Password Variables and Flags.
ReturnSecurityStatus | Returns whether the Device supports Security Mode or not. If supported, the current status of the device is returned. Security status information will be retrieved from buffer updated by IDENTIFY DEVICE(Command Code : 0xEC) command.
SecurityCommonRoutine | This is common security routine which will be called from security routines. It is from this routine most of the security commands are sent to the drive.
SecurityDisablePassword | Disables Password authentification before media access. SECURITY_DISABLE_PASSWORD(Command Code : 0xF6) security command is used to remove the user password.
SecurityEraseUnit | Erases the Device content.SECURITY_ERASE_UNIT (Command code : 0xF4) security command is used for device erasing.
SecurityFreezeLock | Prevents any further alteration of security status on the device leaving the hard disk in Frozen mode. Frozen mode is disabled by power-off or hardware reset. SECURITY_FREEZE_LOCK (Command Code : 0xF5)security command is used to freeze hard disk.
SecuritySetDefaultMasterPassword | Sets default Master Password with disabled revision code. SECURITY_SET_PASSWORD(Command code : 0xF1) security command used to set default master password.
SecuritySetPassword | Sets User/Master Password using SECURITY_SET_PASSWORD (Commnd Code : 0xF1) security command.
SecurityUnlockPassword | Unlocks the devices for media access using SECURITY_UNLOCK(Command Code : 0xF2) security command.
SetDefaultMasterPassword | Sets the Default Password String provided by OEM as Master Password.
SetHddSecDataInNvram | Sets Hdd Security Data in NVRAM Area.
SmmHDDPasswordInterface | Manages HDD Password in SMM area.
StopSecurityModeSupport | Stops the security mode support by uninstalling the security interface.
TransferPwDataFromNvramToSmram | Transfers Stored Data from NVRAM to SMRAM.
UpdateIdentifyData | Updates Identify command data.IDENTIFY_DATA(Command Code: 0xEC) command used to update the Identifydata buffer.


CommonNonDataHook in the IdeSecurity.c

Function : CommonNonDataHook

File: IdeSecurity.c
Description:
Common Hook which Calls Non Data Command.
Input:
IN    VOID*                 BusInterface,
IN    COMMAND_STRUCTURE     CommandStructure,
IN    BOOLEAN               ModeFlag
Output:
EFI_SUCCESS                      : Non Data command completed successfully.
EFI_DEVICE_ERROR/EFI_UNSUPPORTED : Not supported.


CommonPioDataHook in the IdeSecurity.c

Function : CommonPioDataHook

File: IdeSecurity.c
Description:
Common Hook which Calls Pio Data Command.
Input:
IN    VOID*                 BusInterface,
IN    COMMAND_STRUCTURE     CommandStructure,
IN    BOOLEAN               ModeFlag
Output:
EFI_SUCCESS                      : Pio data command completed.
EFI_DEVICE_ERROR/EFI_UNSUPPORTED : Not supported.


CommonReadWritePioHook in the IdeSecurity.c

Function : CommonReadWritePioHook

File: IdeSecurity.c
Description:
Common Hook which Calls Read Write PIO.
Input:
IN VOID                         *BusInterface,
VOID                            *Buffer,
UINTN                           ByteCount,
UINT64                          LBA
IN UINT8                        ReadWriteCommand,
IN BOOLEAN                      ReadWrite        Read/Write = 0/1
IN BOOLEAN                      ModeFlag
Output:
*Buffer updated from PIO command.


ConvertHddDataIdToString in the IdeSecurity.c

Function : ConvertHddDataIdToString

File: IdeSecurity.c
Description:
Converts Integer HDD Data Id to String.
Input:
IN  UINT32          DataId,
OUT CHAR16          *String
Output:
None


EncodeDecodePassword in the IdeSecurity.c

Function : EncodeDecodePassword

File: IdeSecurity.c
Description:
Encodes/Decodes Password.
Input:
IN   UINT8        *InputString,
OUT  UINT8        *OutputString,
IN   UINT32       StringLen
Output:
None


GatherIdeInfo in the IdeSecurity.c

Function : GatherIdeInfo

File: IdeSecurity.c
Description:
Gathers Ide Device's Bus,Func,Device & PM/PS/SM/SS Info.
Input:
IN VOID                     *BusInterface,
OUT UINT32                  *HddDataId
Output:
EFI_SUCCESS : IDE info retrieved successfully.
EFI_ERROR   : Failed to get IDE info.


IdeBusCallbackBootScript in the IdeSecurity.c

Function : IdeBusCallbackBootScript

File: IdeSecurity.c
Description:
Saves the IDE registers in a boot script.
Input:
IN EFI_EVENT    Event
IN VOID         *Context
Output:
None
Notes:
Will be called only if HDD loses power in S3 state. A SW SMI will
be created during S3 resume, to unlock the HDD and put it in
Freeze state.
Referrals:
SmmHDDPasswordInterface


IdeBusMiscSmmFeatureCallback in the IdeSecurity.c

Function : IdeBusMiscSmmFeatureCallback

File: IdeSecurity.c
Description:
Saves the IDE registers in a boot script.
Input:
IN EFI_EVENT    Event
IN VOID         *Context
Output:
None
Notes:
Will be called only if HDD is in AHCI Mode or SWSP is Disabled
A SW SMI will be created during S3 resume, to Freeze the HDD in AHCI
or Disable SWSP command through Set feature command is Issued.
Referrals:
SmmHDDPasswordInterface


IdeSecurityEntryPoint in the IdeSecurity.c

Function : IdeSecurityEntryPoint

File: IdeSecurity.c
Description:
This function is the entry point for IDE SECURITY Driver.
Input:
EFI_HANDLE          ImageHandle     Image handle.
EFI_SYSTEM_TABLE    *SystemTable    Pointer to the EFI system table.
Output:
EFI_SUCCESS         Security interface installed.
EFI_ERROR           Security interface not installed or unable to locate
       some protocol.
Notes:
Entry Points are used to locate or install protocol interfaces and
notification events.


InstallSecurityInterface in the IdeSecurity.c

Function : InstallSecurityInterface

File: IdeSecurity.c
Description:
Checks whether the device supports Security mode or not.
If yes, installs SecurityProtocol.
Input:
IN VOID             *BusInterface,
IN BOOLEAN          ModeFlag
Output:
EFI_SUCCESS                      : Security Mode supported.
EFI_DEVICE_ERROR/EFI_UNSUPPORTED : Not supported.


LocateAhciSmmServiceEvent in the IdeSecurity.c

Function : LocateAhciSmmServiceEvent

File: IdeSecurity.c
Description:
Generates the SwSMI to Locate the AhciSMM Protocol
that is used by IdeSMM.
Input:
EFI_EVENT     Event,
VOID          *Context
Output:
None


OEMSetMasterPassword in the IdeSecurity.c

Function : OEMSetMasterPassword

File: IdeSecurity.c
Description:
Sets the Default Password String provided by OEM as
Master Password. SECURITY_SET_PASSWORD(Command Code : 0xF1)
security command is used to set the master password.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
Output:
EFI_SUCCESS : OEM Master password set successfully.
EFI_ERROR   : Failed to set OEM Master passord to the hard disk.
Notes:
OEM_MASTER_PASSWORD_TAG token string will be set as oem master password.


ReturnIdePasswordFlags in the IdeSecurity.c

Function : ReturnIdePasswordFlags

File: IdeSecurity.c
Description:
Returns Ide Password Variables and Flags.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
UINT32                          *IdePasswordFlags
Output:
EFI_SUCCESS : IDEPassword Status Flag is returned in IdePasswordFlags.
EFI_ERROR   : Error while retrieving the SecurityStatus.
Referrals:

IdePasswordFlags:
**TBD Only Bit0, Bit03, Bit11, Bit16, Bit17 are Supported Currently

BIT0                             User Password Support;
BIT1                             Master Password Support;
BIT2                             Display User Password;
BIT3                             Display Master Password;
BIT4                             Display User Password Status;
BIT5                             Display Master Password Status;
BIT6                             Freeze Lock Hdds;
BIT7                             Single User Password;
BIT8                             Single Master Password;
BIT9                             System User Password as Hdd User Password;
BIT10                            System Admin Password as Hdd Master Password;
BIT11                            OEM Default Master Password
BIT12                            Prompt for User Password in Post
BIT13                            Prompt for Master Password in Post
BIT14                            Display Security Status in Setup
BIT15                            DUMMY Security Token.
BIT16                            MasterPassword Set Status.
BIT17                            UserPassword Set Status.


ReturnSecurityStatus in the IdeSecurity.c

Function : ReturnSecurityStatus

File: IdeSecurity.c
Description:
Returns whether the Device supports Security Mode or not.
If supported, the current status of the device is returned.
Security status information will be retrieved from buffer
updated by IDENTIFY DEVICE(Command Code : 0xEC) command.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
UINT16                          *SecurityStatus
Output:
EFI_SUCCESS                     : Security Mode supported
EFI_UNSUPPORTED                 : Not supported

UINT16                          *SecurityStatus
                       Bit 0 : Security Supported
                       Bit 1 : Security Enabled
                       Bit 2 : Security Locked
                       Bit 3 : Security Frozen
                       Bit 4 : Security Count Expired
                       Bit 5 : Enhanced Security Erase supported
                       Bit 6 : Enhanced Security Erase supported
                       Bit 8 : Security Level 0:High, 1:Maximum


SecurityCommonRoutine in the IdeSecurity.c

Function : SecurityCommonRoutine

File: IdeSecurity.c
Description:
This is common security routine which will be called from
security routines. It is from this routine most of the security
commands are sent to the drive.
Input:
IN VOID                         *BusInterface,
UINT16                          Control,
UINT8                           *Buffer (32 Bytes),
UINT8                           SecurityCommand
UINT8                           RevisionCode
                       (Valid for Master password)

Control : Bit 0 : 0/1 User/Master Password
Bit 1 : 0/1 Normal/Enhanced Erase
Bit 8 : 0/1 High/Maximum Security level

Buffer  : Pointer to password buffer which will be used to when sending
SecurityCommand.
Output:
EFI_STATUS : EFI_SUCCESS/EFI_DEVICE_ERROR
Notes:
1. Buffer should be 32 bytes long (Mandatory). Even if Password is not
32 bytes long, pad it with zeros to create a buffer of 32 bytes.


SecurityDisablePassword in the IdeSecurity.c

Function : SecurityDisablePassword

File: IdeSecurity.c
Description:
Disables Password authentification before media access.
SECURITY_DISABLE_PASSWORD(Command Code : 0xF6) security
command is used to remove the user password.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
UINT16                          Control,
UINT8                           *Buffer (32 Bytes)

Control : Bit 0 : 0/1 User/Master Password

Buffer  : Pointer to password buffer which will be used to when sending
SECURITY_DISABLE_PASSWORD command.
Output:
EFI_SUCCESS      : Security mode feature disabled.
EFI_DEVICE_ERROR : Security command failed.
Notes:
1. Buffer should be 32 bytes long (Mandatory). Even if Password is not
32 bytes long,pad it with zeros to create a buffer of 32 bytes.
2. Password should be unlocked before disabling it.
3. SECURITY_DISABLE_PASSWORD command does not change the Master password
that may be reactivated later by setting a User password.
4. Normal erase mode is selected, the SECURITY ERASE UNIT command writes
binary zeroes to all user data areas.


SecurityEraseUnit in the IdeSecurity.c

Function : SecurityEraseUnit

File: IdeSecurity.c
Description:
Erases the Device content.SECURITY_ERASE_UNIT
(Command code : 0xF4) security command is used for device
erasing.
Input:
IN IDE_SECURITY_PROTOCOL    *This,
UINT16                      Control,
UINT8                       *Buffer

Control :       Bit 0 : 0/1 User/Master Password
                Bit 1 : 0/1 Normal Erase/ Enhanced Erase
Buffer  : Pointer to password buffer which will be used to when sending
 SECURITY_ERASE_UNIT command.
Output:
EFI_SUCCESS      : Successfull completion of Erase command.
EFI_DEVICE_ERROR : EraseUnit command failed to complete.
Notes:
If a device is locked with USER PASSWORD and Maximum security level set
then only way to unlock the device with MASTER password is to erase the
contents of the device.


SecurityFreezeLock in the IdeSecurity.c

Function : SecurityFreezeLock

File: IdeSecurity.c
Description:
Prevents any further alteration of security status on the
device leaving the hard disk in Frozen mode. Frozen mode is
disabled by power-off or hardware reset. SECURITY_FREEZE_LOCK
(Command Code : 0xF5)security command is used to freeze hard disk.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
Output:
EFI_SUCCESS : Hard disk is successdully kept in FROZEN state.
EFI_ERROR   : Security Freeze command failed.
Notes:
Commands disabled by SECURITY FREEZE LOCK are:
- SECURITY SET PASSWORD
- SECURITY UNLOCK
- SECURITY DISABLE PASSWORD
- SECURITY ERASE PREPARE
- SECURITY ERASE UNIT


SecuritySetDefaultMasterPassword in the IdeSecurity.c

Function : SecuritySetDefaultMasterPassword

File: IdeSecurity.c
Description:
Sets default Master Password with disabled revision code.
SECURITY_SET_PASSWORD(Command code : 0xF1) security command
used to set default master password.
Input:
IN IDE_BUS_PROTOCOL             *This,
UINT16                          Control,
UINT8                           *Buffer (32 Bytes)
UINT8                           RevisionCode (Valid when
                       Control Bit 0 = 1 of Master Password)

Control :       Bit 0 : 0/1 User/Master Password
       Bit 8 : 0/1 High/Maximum Security level
Output:
EFI_SUCCESS : Password set
EFI_ERROR   : Error in setting Password
Notes:
1. Buffer should be 32 bytes long (Mandatory). Even if Password is not
32 bytes long,pad it with zeros to create a buffer of 32 bytes.

2. If a MasterPassword with a valid Revision code already exists, a new
MasterPassword with a different revisioncode cannot be installed.
MasterPassword needs to be unlocked, disabled and then a new password
can be installed.


SecuritySetPassword in the IdeSecurity.c

Function : SecuritySetPassword

File: IdeSecurity.c
Description:
Sets User/Master Password using SECURITY_SET_PASSWORD
(Commnd Code : 0xF1) security command.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
UINT16                          Control,
UINT8                           *Buffer (32 Bytes)
UINT8                           RevisionCode (Valid when Control
                        Bit 0 = 1 of Master Password)

Control : Bit 0 : 0/1 User/Master Password
Bit 8 : 0/1 High/Maximum Security level
Output:
EFI_SUCCESS     : Password set.
EFI_ERROR	    : Error in setting Password.
Notes:
1. Buffer should be 32 bytes long (Mandatory). Even if Password is not 32
bytes long,pad it with zeros to create a buffer of 32 bytes.
2. If a MasterPassword with a valid Revision code(0x0001 through 0xFFFE)
already exists, a new MasterPassword with a different revisioncode
cannot be installed.MasterPassword needs to be unlocked, disabled and
then a new password can be installed.


SecurityUnlockPassword in the IdeSecurity.c

Function : SecurityUnlockPassword

File: IdeSecurity.c
Description:
Unlocks the devices for media access using
SECURITY_UNLOCK(Command Code : 0xF2) security command.
Input:
IN IDE_SECURITY_PROTOCOL        *This,
UINT16                          Control,
UINT8                           *Buffer (32 Bytes).

Control : Bit 0 : 0/1 User/Master Password
Buffer  : Pointer to password buffer which will be used to unlock the
 drive.
Output:
EFI_SUCCESS         : Hard disk is unlocked.
EFI_DEVICE_ERROR    : Failed to unlock the drive.
Notes:
1. Buffer should be 32 bytes long (Mandatory). Even if Password is not
32 bytes long, pad it with zeros to create a buffer of 32 bytes.
2. If the password compare fails then the device returns command aborted
to the host and decrements the unlock counter. This counter is initially
set to five and is decremented for each password mismatch when SECURITY
UNLOCK is issued and the device is locked. When this counter reaches
zero then SECURITY UNLOCK and SECURITY ERASE UNIT commands are command
aborted until a power-on reset or a hardware reset.SECURITY UNLOCK
commands issued when the device is unlocked have no effect on the unlock
counter.
3. SECURITY_DISABLE_PASSWORD and SECURITY_SET_PASSWORD commands used when
security password is set and HDD is in unlocked state. This is done to
have consistency of output from this function.


SetDefaultMasterPassword in the IdeSecurity.c

Function : SetDefaultMasterPassword

File: IdeSecurity.c
Description:
Sets the Default Password String provided by OEM as
Master Password.
Input:
IN IDE_SECURITY_PROTOCOL        *This
Output:
EFI_SUCCESS : Default master password is set.
EFI_ERROR   : Default master password is not set.
Notes:
DEFAULT_MASTER_PASSWORD_TAG token string will be set as master password.


SetHddSecDataInNvram in the IdeSecurity.c

Function : SetHddSecDataInNvram

File: IdeSecurity.c
Description:
Sets Hdd Security Data in NVRAM Area.
Input:
IN VOID                     *BusInterface,
UINT32                      *HddDataId
UINT16                      Control,
UINT8                       *Buffer

Control : Bit 0 : 0/1 User/Master Password

Buffer  : Pointer to password buffer which will be used to when sending
SecurityCommand.
Output:
EFI_SUCCESS : HDDPassword saved in NVram which later will be transfered to
 SMRAM.
EFI_ERROR   : Failed to save the HDD password in nvram.


SmmHDDPasswordInterface in the IdeSecurity.c

Function : SmmHDDPasswordInterface

File: IdeSecurity.c
Description:
Manages HDD Password in SMM area.
Input:
IN IDE_SECURITY_PROTOCOL    *This,
UINT16                      Control,
UINT8                       *Buffer
UINT8                       Action
Control : Bit 0 : 0/1 User/Master Password

Buffer  : Pointer to password buffer which will be used to when sending
SecurityCommand.
Output:
EFI_SUCCESS      : Password saved which will be used to unlock the drive
     during S3 resume.
EFI_DEVICE_ERROR : Error in saving Password.
Notes:
1. Buffer should be 32 bytes long (Mandatory). Even if Password is not
32 bytes long, pad it with zeros to create a buffer of 32 bytes.


StopSecurityModeSupport in the IdeSecurity.c

Function : StopSecurityModeSupport

File: IdeSecurity.c
Description:
Stops the security mode support by uninstalling the
security interface.
Input:
IN VOID             *BusInterface,
IN BOOLEAN          ModeFlag
Output:
EFI_SUCCESS         : Security Mode supported
EFI_DEVICE_ERROR    : Not supported
Referrals:
ReturnSecurityStatus


TransferPwDataFromNvramToSmram in the IdeSecurity.c

Function : TransferPwDataFromNvramToSmram

File: IdeSecurity.c
Description:
Transfers Stored Data from NVRAM to SMRAM.
Input:
IN IDE_SECURITY_PROTOCOL    *This,
Output:
EFI_SUCCESS      : Password saved in SMRAM.
EFI_DEVICE_ERROR : Password not saved in SMRAM.


UpdateIdentifyData in the IdeSecurity.c

Function : UpdateIdentifyData

File: IdeSecurity.c
Description:
Updates Identify command data.IDENTIFY_DATA(Command Code: 0xEC)
command used to update the Identifydata buffer.
Input:
IN IDE_BUS_PROTOCOL             *IdeBusInterface,
IN BOOLEAN                      ModeFlag
Output:
EFI_SUCCESS : Identifydata updated successfully.
EFI_ERROR   : Failed to update the identifydata.
Notes:
ATA/ATAPI device type should have beeen known already.


IdeSecurity.dxs

Description:
Dependency expression for IDESecurity driver.


IdeSecurity.h

Description:
This file contains the Includes, Definitions, typedefs,
Variable and External Declarations, Structure and
function prototypes needed for the IdeSecurity driver


IdeSecurity.mak

Description:
Make file to build IDESecurity Driver Sources.


IdeSecurity.sd

Description:
Ide Security in Setup.


IdeSecurityBdsCall.c

Description:
This function will connect the handle's of RAID Controllers and
the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)

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

Function | Description
IdeConnectControllerAfterConnectEverthing | This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)


IdeConnectControllerAfterConnectEverthing in the IdeSecurityBdsCall.c

Function : IdeConnectControllerAfterConnectEverthing

File: IdeSecurityBdsCall.c
Description:
This function will connect the handle's of RAID Controllers and the IDE/AHCI
Devices( the handle whose DiskIo was not opened by any one.)
Input:
VOID
Output:
VOID
Modified:
Notes:
If Conin Devices are not Present, RAID Option ROM will not be launched
by CSM BlockIo as RegisterHddNotification fucntion would get control after
connectEverything() is called from BDS. Rather it would be launched by
ShadowAllLegacyOproms() and UEFI Boot option for RAID will not be formed as
blockIo will not be installed by csm BlockIo driver. So Connect the RAID handle
so that CSM BlockIo starts. And also if Password is installed the above said case
will happen when no con in device is present.

Check for any device in IDE/AHCI mode not unlocked when no ConIn Device is not present.
If found Connecting that Device using ConnectController() after the Device is unlocked.
as read would fail and FileSystem would not be formedOpen gEfiIdeControllerInitProtocolGuid
which will be installed on each controller. This will be opened as
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER by each device handle.Connect that Handle where
DiskIo will be installed and not opened by another driver.
Referrals:


IdeSecurityCommon.sd

Description:
Ide Security in Setup.


IdeSecuritySetup.c

Description:
Ide Security Setup Routines

NOTE: Use this hook to dynamically change Ide Security Driver Setup screen
Strings.

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

Function | Description
CheckSecurityStatus | return the Security Status Information
HddPasswordGetDeviceName | Return the Drive String Name
HiiGetString | return the String based on StringId
InitIdeSecurityStrings | This function initializes the IdeSecurity setup option values


CheckSecurityStatus in the IdeSecuritySetup.c

Function : CheckSecurityStatus

File: IdeSecuritySetup.c
Description:
return the Security Status Information
Input:
IN IDE_SECURITY_PROTOCOL *IDEPasswordSecurity,
IN OUT BOOLEAN               *ReqStatus,
IN UINT16                Mask
Output:
BOOLEAN      status in ReqStatus is valid


HddPasswordGetDeviceName in the IdeSecuritySetup.c

Function : HddPasswordGetDeviceName

File: IdeSecuritySetup.c
Description:
Return the Drive String Name
Input:
IN EFI_HANDLE Controller - the handle of the drive
OUT CHAR16 **wsName - Pointer to the drive string
Output:
BOOLEAN - TRUE - drive string has been found and is in wsName
   - FALSE - drive string has not been found
Notes:
it is the caller's responsibility to deallocate the space used for
wsName


HiiGetString in the IdeSecuritySetup.c

Function : HiiGetString

File: IdeSecuritySetup.c
Description:
return the String based on StringId
Input:
IN EFI_HII_HANDLE  HiiHandle,
IN EFI_STRING_ID   StringId,
Output:
EFI_STRING


InitIdeSecurityStrings in the IdeSecuritySetup.c

Function : InitIdeSecurityStrings

File: IdeSecuritySetup.c
Description:
This function initializes the IdeSecurity setup option values
Input:
HiiHandle   Handle to HII database
Class       Indicates the setup class
Output:
None


IDESMM.c

Description:
Provide functions to unlock HDD password during S3 resume

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

Function | Description
IdeHDDPasswordSMMInit | Initializes HDD Password SMM Drivers.
IdeSmmInSmmFunction | Called from InstallSmiHandler
IdeSmmMiscSmiPassword | This Function Freeze locks HDD, Issues Disable/Enable Software Settings preservation Feature for Security Supported HDDs.
LocateAhciSMM | This function Locates the AhciSMM driver and save pointer globally.
LocateIdeSmmProtocols | This function Locates the protocols and saves in global pointe
LocateSMMServices | This function Locates the AhciSmm protocl from the Smm
RemoveHDDPassword | This Function removes HDD password from the internal database
SaveHDDPassword | This function saves the HDD password and other information necessary to unlock HDD password during S3 Resume.
SMMAhciSecurityUnlockCommand | This Function unlocks HDD password during S3 resume in Ahci Mode Using Int 13.
SMMIdeNonDataCommand | Issues Set Feature command (Non Data)
SMMSecurityUnlockCommand | This Function unlocks HDD password during S3 resume.
SMMWaitforBitClear | Waits for the given bit to be clear
SMMWaitforBitSet | Checks for a particular Bit to be set for a given amount of time
SMMWaitForCmdCompletion | Waits for BSY bit to get clear
Stall | Stalls for the Required Amount of MicroSeconds
UnlockHDDPassword | This Function unlocks HDD password during S3 resume.
ZeromemorySmm | Clears the buffer


IdeHDDPasswordSMMInit in the IDESMM.c

Function : IdeHDDPasswordSMMInit

File: IDESMM.c
Description:
Initializes HDD Password SMM Drivers.
Input:
Output:
EFI_STATUS
Modified:
Notes:
Here is the control flow of this function:
Referrals:


IdeSmmInSmmFunction in the IDESMM.c

Function : IdeSmmInSmmFunction

File: IDESMM.c
Description:
Called from InstallSmiHandler
Input:

Output:

None

Modified:

Notes:

Referrals:


IdeSmmMiscSmiPassword in the IDESMM.c

Function : IdeSmmMiscSmiPassword

File: IDESMM.c
Description:
This Function Freeze locks HDD, Issues Disable/Enable Software
Settings preservation Feature for Security Supported HDDs.
Input:
DispatchHandle      Handle to the Dispatcher
DispatchContext     SW SMM dispatcher context
Output:
None


LocateAhciSMM in the IDESMM.c

Function : LocateAhciSMM

File: IDESMM.c
Description:
This function Locates the AhciSMM driver and save pointer globally.
Input:
DispatchHandle      Handle to the Dispatcher
DispatchContext     SW SMM dispatcher context
Output:
None
Modified:
Notes:

Referrals:


LocateIdeSmmProtocols in the IDESMM.c

Function : LocateIdeSmmProtocols

File: IDESMM.c
Description:
This function Locates the protocols and saves in global pointe
Input:
None
Output:
None
Modified:
Notes:

Referrals:


LocateSMMServices in the IDESMM.c

Function : LocateSMMServices

File: IDESMM.c
Description:
This function Locates the AhciSmm protocl from the Smm
Input:
None
Output:
None
Modified:
Notes:

Referrals:


RemoveHDDPassword in the IDESMM.c

Function : RemoveHDDPassword

File: IDESMM.c
Description:
This Function removes HDD password from the internal database
Input:
DispatchHandle      Handle to the Dispatcher
DispatchContext     SW SMM dispatcher context
Output:
None
Modified:
Notes:

Referrals:


SaveHDDPassword in the IDESMM.c

Function : SaveHDDPassword

File: IDESMM.c
Description:
This function saves the HDD password and other information
necessary to unlock HDD password during S3 Resume.
Input:
DispatchHandle      Handle to the Dispatcher
DispatchContext     SW SMM dispatcher context
Output:
None
Modified:
Notes:

Referrals:


SMMAhciSecurityUnlockCommand in the IDESMM.c

Function : SMMAhciSecurityUnlockCommand

File: IDESMM.c
Description:
This Function unlocks HDD password during S3 resume in
Ahci Mode Using Int 13.
Input:
HDD_PASSWORD    *pHddPassword
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


SMMIdeNonDataCommand in the IDESMM.c

Function : SMMIdeNonDataCommand

File: IDESMM.c
Description:
Issues Set Feature command (Non Data)
Input:
HDD_PASSWORD    *pHddPassword
UINT8           Command
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


SMMSecurityUnlockCommand in the IDESMM.c

Function : SMMSecurityUnlockCommand

File: IDESMM.c
Description:
This Function unlocks HDD password during S3 resume.
Input:
HDD_PASSWORD    *pHddPassword
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


SMMWaitforBitClear in the IDESMM.c

Function : SMMWaitforBitClear

File: IDESMM.c
Description:
Waits for the given bit to be clear
Input:
HDD_PASSWORD            *pHddPassword,
UINT8                   BitClear,
UINT32                  Timeout
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


SMMWaitforBitSet in the IDESMM.c

Function : SMMWaitforBitSet

File: IDESMM.c
Description:
Checks for a particular Bit to be set for a given amount
of time
Input:
HDD_PASSWORD            *pHddPassword,
UINT8                   BitSet,
UINT32                  Timeout
Output:
EFI_STATUS
Modified:
Notes:

Referrals:


SMMWaitForCmdCompletion in the IDESMM.c

Function : SMMWaitForCmdCompletion

File: IDESMM.c
Description:
Waits for BSY bit to get clear
Input:
HDD_PASSWORD    *pHddPassword
Output:
EFI_STATUS
Modified:
Notes:
Wait for BSY bit to get clear. Check for any errors.
Referrals:


Stall in the IDESMM.c

Function : Stall

File: IDESMM.c
Description:
Stalls for the Required Amount of MicroSeconds
Input:
UINTN   Usec    // Number of microseconds to delay
Output:
None
Modified:
Notes:

Referrals:


UnlockHDDPassword in the IDESMM.c

Function : UnlockHDDPassword

File: IDESMM.c
Description:
This Function unlocks HDD password during S3 resume.
Input:
DispatchHandle      Handle to the Dispatcher
DispatchContext     SW SMM dispatcher context
Output:
None
Modified:
Notes:

Referrals:


ZeromemorySmm in the IDESMM.c

Function : ZeromemorySmm

File: IDESMM.c
Description:
Clears the buffer
Input:
void    *Buffer,
UINTN   Size
Output:
None
Modified:
Notes:

Referrals:


IDESMM.DXS

Description:
Dependency file for the IDE SMM


IDESMM.h

Description:
This file contains the Includes, Definitions, typedefs,
        Variable and External Declarations, Structure and
function prototypes needed for the IDESMM Component


IDESMM.mak

Description:
Make file for the Idesmm component


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.

  • A
  • C
  • D
  • E
  • F
  • G
  • H
  • I
  • L
  • O
  • P
  • R
  • S
  • T
  • U
  • Z


Functions in Alphabetical Order

A

Function | Description
AMI_CheckIDEPassword | Get the password and Validate the HDD password


Functions in Alphabetical Order

C

Function | Description
CheckSecurityStatus | return the Security Status Information
CheckSecurityStatus | return the Security Status Information
CommonNonDataHook | Common Hook which Calls Non Data Command.
CommonPioDataHook | Common Hook which Calls Pio Data Command.
CommonReadWritePioHook | Common Hook which Calls Read Write PIO.
ConvertHddDataIdToString | Converts Integer HDD Data Id to String.


Functions in Alphabetical Order

D

Function | Description
DisableSoftwarePreservation | Send the Disable software Preservation


Functions in Alphabetical Order

E

Function | Description
EncodeDecodePassword | Encodes/Decodes Password.


Functions in Alphabetical Order

F

Function | Description
FramePwdCallbackIdePasswordUpdate | function to update the ide password


Functions in Alphabetical Order

G

Function | Description
GatherIdeInfo | Gathers Ide Device's Bus,Func,Device & PM/PS/SM/SS Info.


Functions in Alphabetical Order

H

Function | Description
HddNotificationFunction | Hdd notification function gets called when HddSecurityEnd Protocol get installed.
HddPasswordDPCopy | Copy the Device path to another Memory buffer
HddPasswordDPGetLastNode | Returns pointer on very last DP node before END_OF_DEVICE_PATH node
HddPasswordDPLength | return the Device path Length
HddPasswordGetDeviceName | Return the Drive String Name
HddPasswordGetDeviceName | Return the Drive String Name
HddSecuritySignalProtocolEvent | Internal function that installs/uninstall protocol with a specified GUID and NULL interface. Such protocols can be used as event signaling mechanism.
HDDStatus | Returns EFI_SUCCESS and sets *bHddStatus = TRUE if number of attempt to unlock HDD has reached MAXIMUM_HDD_UNLOCK_ATTEMPTS.
HiiGetString | return the String based on StringId


Functions in Alphabetical Order

I

Function | Description
IdeBusCallbackBootScript | Saves the IDE registers in a boot script.
IdeBusMiscSmmFeatureCallback | Saves the IDE registers in a boot script.
IdeConnectControllerAfterConnectEverthing | This function will connect the handle's of RAID Controllers and the IDE/AHCI Devices( the handle whose DiskIo was not opened by any one.)
IdeHDDPasswordSMMInit | Initializes HDD Password SMM Drivers.
IDEPasswordAuthenticate | Hook function to validate IDE Password for the HDDs based on the token ALL_HDD_SAME_PW
IDEPasswordAuthenticateAllHdd | Validates the Ide password for all the HDDs Present.
IDEPasswordAuthenticateHdd | Validates the Ide password for the current HDD alone.
IDEPasswordCheck | Validate the HDD password
IDEPasswordGetDataPtr | Get the Ide password Data pointer
IDEPasswordGetLocked | Return Hdd Locked Information
IDEPasswordGetName | Get the Hdd name
IDEPasswordUpdate | Hook function to update the password for the HDDs based on the token ALL_HDD_SAME_PW.
IDEPasswordUpdateAllHdd | Updates the HDD password for all the HDDs present.
IDEPasswordUpdateHdd | Updates the HDD password for the current HDD alone.
IDEPasswordvices | Send Frezze command all the HDD
IdeSecurityEntryPoint | This function is the entry point for IDE SECURITY Driver.
IDESecurityProtocolInit | Locate the Security Protocols and return the information
IdeSmmInSmmFunction | Called from InstallSmiHandler
IdeSmmMiscSmiPassword | This Function Freeze locks HDD, Issues Disable/Enable Software Settings preservation Feature for Security Supported HDDs.
IDEUpdateConfig | Hook function to Initialize the structure IDE_SECURITY_CONFIG for the HDDs based on the token ALL_HDD_SAME_PW.
IDEUpdateConfigAllHdd | Initializes the structure IDE_SECURITY_CONFIG for all the HDDs present if the data pointer to the structure IDE_SECURITY_DATA is initialized already.
IDEUpdateConfigHdd | Initializes the structure IDE_SECURITY_CONFIG for the current HDD if the data pointer to the structure IDE_SECURITY_DATA is initialized already.
InitIdeSecurityStrings | This function initializes the IdeSecurity setup option values
InstallSecurityInterface | Checks whether the device supports Security mode or not. If yes, installs SecurityProtocol.


Functions in Alphabetical Order

L

Function | Description
LocateAhciSMM | This function Locates the AhciSMM driver and save pointer globally.
LocateAhciSmmServiceEvent | Generates the SwSMI to Locate the AhciSMM Protocol that is used by IdeSMM.
LocateIdeSmmProtocols | This function Locates the protocols and saves in global pointe
LocateSMMServices | This function Locates the AhciSmm protocl from the Smm


Functions in Alphabetical Order

O

Function | Description
OEMSetMasterPassword | Sets the Default Password String provided by OEM as Master Password. SECURITY_SET_PASSWORD(Command Code : 0xF1) security command is used to set the master password.


Functions in Alphabetical Order

P

Function | Description
PasswordHiiAddString | Add the String to HiiDatabase
PopupPwdAuthenticateIDEPwd | Function to authenticate the IDE password
PopupPwdUpdateIDEPwd | function to update the setup config page after IDE password update
PrivateHiiAddString | Add the String to Hii Database using HiiString Protocol


Functions in Alphabetical Order

R

Function | Description
RegisterHddNotification | Register the Protocol call back event
RemoveHDDPassword | This Function removes HDD password from the internal database
ReturnIdePasswordFlags | Returns Ide Password Variables and Flags.
ReturnSecurityStatus | Returns whether the Device supports Security Mode or not. If supported, the current status of the device is returned. Security status information will be retrieved from buffer updated by IDENTIFY DEVICE(Command Code : 0xEC) command.


Functions in Alphabetical Order

S

Function | Description
SaveHDDPassword | This function saves the HDD password and other information necessary to unlock HDD password during S3 Resume.
SearchTseHardDiskField | function to search TSE hard disk field.
SecurityCommonRoutine | This is common security routine which will be called from security routines. It is from this routine most of the security commands are sent to the drive.
SecurityDisablePassword | Disables Password authentification before media access. SECURITY_DISABLE_PASSWORD(Command Code : 0xF6) security command is used to remove the user password.
SecurityEraseUnit | Erases the Device content.SECURITY_ERASE_UNIT (Command code : 0xF4) security command is used for device erasing.
SecurityFreezeLock | Prevents any further alteration of security status on the device leaving the hard disk in Frozen mode. Frozen mode is disabled by power-off or hardware reset. SECURITY_FREEZE_LOCK (Command Code : 0xF5)security command is used to freeze hard disk.
SecuritySetDefaultMasterPassword | Sets default Master Password with disabled revision code. SECURITY_SET_PASSWORD(Command code : 0xF1) security command used to set default master password.
SecuritySetPassword | Sets User/Master Password using SECURITY_SET_PASSWORD (Commnd Code : 0xF1) security command.
SecurityUnlockPassword | Unlocks the devices for media access using SECURITY_UNLOCK(Command Code : 0xF2) security command.
SetDefaultMasterPassword | Sets the Default Password String provided by OEM as Master Password.
SetHDDPassword | Set the HDD password
SetHddSecDataInNvram | Sets Hdd Security Data in NVRAM Area.
SMMAhciSecurityUnlockCommand | This Function unlocks HDD password during S3 resume in Ahci Mode Using Int 13.
SmmHDDPasswordInterface | Manages HDD Password in SMM area.
SMMIdeNonDataCommand | Issues Set Feature command (Non Data)
SMMSecurityUnlockCommand | This Function unlocks HDD password during S3 resume.
SMMWaitforBitClear | Waits for the given bit to be clear
SMMWaitforBitSet | Checks for a particular Bit to be set for a given amount of time
SMMWaitForCmdCompletion | Waits for BSY bit to get clear
Stall | Stalls for the Required Amount of MicroSeconds
StopSecurityModeSupport | Stops the security mode support by uninstalling the security interface.


Functions in Alphabetical Order

T

Function | Description
TransferPwDataFromNvramToSmram | Transfers Stored Data from NVRAM to SMRAM.


Functions in Alphabetical Order

U

Function | Description
UnlockHDD | Unlock the HDD
UnlockHDDPassword | This Function unlocks HDD password during S3 resume.
UpdateIdentifyData | Updates Identify command data.IDENTIFY_DATA(Command Code: 0xEC) command used to update the Identifydata buffer.


Functions in Alphabetical Order

Z

Function | Description
ZeromemorySmm | Clears the buffer


General Information