American Megatrends, Inc.

EfiOsBootOptionNames

Copyright

Release Notes

© American Megatrends, Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2012-06-01
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_01
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.0
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #76988 - GPT HDD boot issue
Files Changed for General Bug Fixes and EIP Addressed in this Label:
NONE
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_01
First release.

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2012-08-07
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_02
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #95026 - System can't boot to OS after flashing BIOS
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #95026)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_01


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2012-10-18
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_03
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
1.Device name display error at legacy Raid mode (EfiOsBootOptionNames.c)

EIP Addressed
EIP #103672 - Create an elink for UEFI OS name and path
EIP #103870 - Dead loop in Bootoption.c when upgrade kernel to 4654
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #103672)
EfiOsBootOptionNames.mak (EIP #103672)
EfiOsBootOrder.c (EIP #103870)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_02


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2013-05-20
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_04
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
1.Add CSM_SUPPORT for function RemoveLegacyGptHdd

EIP Addressed
EIP #120976 - OS shutdown/reboot to shell
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #1020976)
EfiOsBootOrder.c (EIP #120976)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_03


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2013-08-06
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_05
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #126686 - 2 EFI Boot option name is created for CentOS 6.4
EIP #126866 - The sequence of boot order is incorrect (win8.1)
EIP #125759 - Boot entry invild with UEFI Linux OS
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOrder.c (EIP #126686, #126866)
EfiOsBootOptionNames.sdl (EIP #125759)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2013-11-06
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_06
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #138397 - NewBootOrder array is limited
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOrder.c (EIP #138397)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2013-11-08
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_07
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP138397 - side effect fix. boot option name display wrong after second boot.
Os create of variable Boot#### and FwBootOption Boot#### change priority fail.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #138397.2)
EfiOsBootOrder.c (EIP #138397.2)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2014-02-25
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_08
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_36 , Dated: 2011-06-30
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP151520 - Boot Option still exist after removing Bootx64.efi.
A new token "RemoveBootOptionWithoutFile" is for this feature, remove boot option after removing Bootx64.efi.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #151520)
EfiOsBootOrder.c (EIP #151520)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_07
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2014-05-23
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_09
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_41, Dated: 2013-03-19
Visual eBios: RSS.5.73.0244, Dated: 2013-3-19
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP147262 - The "EFI OS BootOptionNames" module can't support the "FixedBootOrder" module Boot option strings.
A new token "DISPLAY_FULL_OPTION_NAME_WITH_FBO" is added to control this.
EIP159984 - Linux UEFI OS boot issue.
Should NOT kill the UEFI OS boot option that created by OS.
EIP168792 - Possible heap corruption - EFI OS BootOptionNames
NEW_STRING_BUFFER_LENGTH is replaced with the actual size of the allocated memory, NewStringLength.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #147262)
EfiOsBootOptionNames.c (EIP #147262, EIP #168792)
EfiOsBootOrder.c (EIP #147262, EIP #159984)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_08
4.6.4.1_EfiOsBootOptionNames_07
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2014-09-04
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_10
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_41, Dated: 2013-03-19
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
Change the way to check FwBootOption, old condition will not work if Normalize DevicePath is not enabled.

EIP Addressed
EIP #180632 - In bsu will be more windows boot manager than win8 HDD.
Support FixedBootOrder to display Uefi OS full name "Windows Boot Manager(Px: DeviceName)".
EIP #178318 - BBS priority issue (with FixedBootOrder module), after enter Windows server 2012 first time, the priority of Windows in UEFI HDD BBS will be set to the lowest.
Sync Boot priority after remove FW Boot Option.
EIP #180447 - Create a token to set the priority of the boot option created by Efi Os Boot Option Name.
Add Token "NEW_UEFI_OS_OPTION_ORDER_POLICY" to control new UEFI OS option priority.
EIP #182109 - RHEL 6.5 missing boot option.
Add "\EFI\\Redhat\\grub.efi" path Elink for RedHat6.5 OS with grub boot loader.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP #182109, EIP #180447)
EfiOsBootOptionNames.c (EIP #180632)
EfiOsBootOrder.c (EIP #180632, EIP #178318, EIP #180447)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_09
4.6.4.1_EfiOsBootOptionNames_08
4.6.4.1_EfiOsBootOptionNames_07
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2014-12-26
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_11
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_41, Dated: 2013-03-19
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
Add a token(DefaultFwBootOption) to set boot option created by this module is Fw Boot Option or not.
Add KeepDuplicateNonFWBootOption token to determine whether deletes the duplicated NON-FW boot options or not.
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
For CppCheck error in AdjustNewUefiOsOptionPriority function that Priority variable didn't have default/initialized value.
When deleting the duplicate boot options, synchronized with FIXED_BOOT_ORDER module.

EIP Addressed
EIP #194753 - Compiler makes CHAR8 into signed value of 4 bytes in comparison statement, so it fails to comparison with immediate value.
Fix: Change the variable declarations of CHAR8 into UINT8.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl
EfiOsBootOrder.c (EIP #194753)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_10
4.6.4.1_EfiOsBootOptionNames_09
4.6.4.1_EfiOsBootOptionNames_08
4.6.4.1_EfiOsBootOptionNames_07
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2015-03-11
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_12
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOptionNames.uni | String definition file for the component
EfiOsBootOptionNames.sd | Setup definition file for the component
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_41, Dated: 2013-03-19
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #204138 - CentOS7 and Red Hat OS duplicate the boot numbers in BootOrder variable by efi/boot/bootx64.efi image.
Feature & Fix: Add a CREATE_BOOT_OPTION_WITH_UEFI_FILE_NAME_POLICY token to control whether create "UEFI OS" boot option if can't find any other in specified file paths (default) or just create it.
EIP #178808 - Configurable EFI OS BootOptionNames
Feature: Add a Setup item that customer can control by policy of putting the newly added UEFI OS boot option to first or last or default.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOptionNames.sdl (EIP# 204138, EIP# 178808)
EfiOsBootOrder.c (EIP# 204138, EIP#178808)
EfiOsBootOrder.mak (EIP# 204138, EIP# 178808)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_11
4.6.4.1_EfiOsBootOptionNames_10
4.6.4.1_EfiOsBootOptionNames_09
4.6.4.1_EfiOsBootOptionNames_08
4.6.4.1_EfiOsBootOptionNames_07
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: EFI OS BootOptionNames
Component Reference Name: EfiOsBootOptionNames
Component Type: eModule
Release Date: 2015-06-11
Source Control Label: 4.6.4.1_EfiOsBootOptionNames_13
Source Control Location: SS:Alaska;$/Alaska/BIN/Modules/BootOptionPolicies/EfiOsBootOptionNames
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
Looks for OS("Windows Boot Manager",..etc) boot file path and create boot options (boot####),Setup display information about which drive the associated installation is on.
feature:
1. Windows Boot Manager should be changed to "Windows Boot Manager (Px:HDD name)"
2. No duplication with Windows Boot Manager and UEFI:HDD
3. No deletion of Windows Boot Manager if HDD is present.
4. If HDD is installed from other system and move it to current system then it will still show "Windows Boot Manager (Px:HDD name)".
5. Other OS: Suse/Redhat/ubuntu "OS name (Px:HDD name)" OS name is corresponding to boot loader filename, selected in the source code.
6. Not existed Windows Boot Manager Will be removed.
Filename | Description
EfiOsBootOptionNames.cif | eModule CIF file
EfiOsBootOptionNames.sdl | SDL file
EfiOsBootOptionNames.mak | Make file
EfiOsBootOptionNames.uni | String definition file for the component
EfiOsBootOptionNames.sd | Setup definition file for the component
EfiOsBootOrder.c | Main functionality implementation file
EfiOsBootOptionNames.c | Display device name TSE component
EfiOsBootOptionNames.chm | Component help file

BIOS Information:
AMI BIOS Core: Aptio Core 4.6.4.1
Release Date: 2010-11-18
Source Control Label: 4.6.4.1
Source Control Location: SS:Alaska;$/Alaska/BIN/Core
Non-Compiled BIN and LIB File(s) in Flavor:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_41, Dated: 2013-03-19
Visual eBios: RSS.5.73.0244, Dated: 2013-03-19
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
Compiler Tool(s): Microsoft Windows Driver Development Kit (DDK) Ver. 3790.1830
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
General Bug Fixes
NONE

EIP Addressed
EIP #213903 - "UEFI OS" boot option's name/device path being renormalized.
Fix: "UEFI OS" boot option needs to escape name/device path normalization when token CREATE_BOOT_OPTION_WITH_UEFI_FILE_NAME_POLICY is enabled.
Files Changed for General Bug Fixes and EIP Addressed in this Label:
EfiOsBootOrder.c (EIP# 213903)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
NONE
Validation Testing:
NONE
Release History:
4.6.4.1_EfiOsBootOptionNames_12
4.6.4.1_EfiOsBootOptionNames_11
4.6.4.1_EfiOsBootOptionNames_10
4.6.4.1_EfiOsBootOptionNames_09
4.6.4.1_EfiOsBootOptionNames_08
4.6.4.1_EfiOsBootOptionNames_07
4.6.4.1_EfiOsBootOptionNames_06
4.6.4.1_EfiOsBootOptionNames_05
4.6.4.1_EfiOsBootOptionNames_04
4.6.4.1_EfiOsBootOptionNames_03
4.6.4.1_EfiOsBootOptionNames_02
4.6.4.1_EfiOsBootOptionNames_01

© American Megatrends Inc.


Function by File Name

AMIBIOS Function Reference

By File Name

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

  • EfiOsBootOptionNames.c
  • EfiOsBootOptionNames.mak
  • EfiOsBootOptionNames.sd
  • EfiOsBootOrder.c
Built on 14:39:13 06/11/15


EfiOsBootOptionNames.c

Description:
Change the Name of boot Option in Setup into format of
"OS Name(Px:HDD name)" or "OS Name(HDD name)" if there
is no port or "OS Name" if can't find controller name.

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

Function | Description
ChangeUefiBootNames | Examines boot options and adds drive information string to them. This function is called at the ProcessEnterSetup hook provided by TSE.
ConstructBootOptionNameByHandle | Construct controller name from parent Handle.
CreateNameWithUefiOS | Create boot option name into format of "OS NAME(Px:HDD Name) or "OS NAME(HDD Name) if there is no port or "OS_NAME" if can't find controller name.
GetHDDPort | Use handle and EFI_DISK_INFO_PROTOCOL to get sata hard disk port.
GetPhysicalBlockIoHandle | Takes a handle with BlockIo providing partition access and returns the handle with the BlockIo providing raw access to the drive that contains the partition.
RemoveTrailingSpaces | Removes trailing spaces from *Name.


ChangeUefiBootNames in the EfiOsBootOptionNames.c

Function : ChangeUefiBootNames

File: EfiOsBootOptionNames.c
Description:
Examines boot options and adds drive information string to them.
This function is called at the ProcessEnterSetup hook provided by TSE.
Input:
None.
Output:
None.
Returns:
None.
Modified:
String used by TSE when displaying Windows Boot Manager boot options.
Notes:
None.
Referrals:
_DiscoverPartition()
GetSataPortNumber()
LocateDevicePath()
GetPhysicalBlockIoHandle()
ConstructBootOptionNameByHandle()
Swprintf_s()


ConstructBootOptionNameByHandle in the EfiOsBootOptionNames.c

Function : ConstructBootOptionNameByHandle

File: EfiOsBootOptionNames.c
Description:
Construct controller name from parent Handle.
Input:
IN EFI_HANDLE Handle - Handle with partition BlockIo.
IN CHAR16 *Name - Caller allocated string to store name in.
IN UINTN NameSize - Size of string buffer.
Output:
None.
Returns:
UINTN - Length of controller name string.
Modified:
String pointed to by *Name.
Notes:
None.
Referrals:
GetPhysicalBlockIoHandle()
Swprintf_s()
RemoveTrailingSpaces()


CreateNameWithUefiOS in the EfiOsBootOptionNames.c

Function : CreateNameWithUefiOS

File: EfiOsBootOptionNames.c
Description:
Create boot option name into format of "OS NAME(Px:HDD Name) or
"OS NAME(HDD Name) if there is no port or "OS_NAME" if can't find
controller name.
Input:
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath - Use in getting complete
                             device path of partition.
IN CHAR16 BootOptionName - Original boot option name.
Output:
None.
Returns:
CHAR16* - New boot option name string.
Modified:
None.
Notes:
None.
Referrals:
None.


GetHDDPort in the EfiOsBootOptionNames.c

Function : GetHDDPort

File: EfiOsBootOptionNames.c
Description:
Use handle and EFI_DISK_INFO_PROTOCOL to get sata hard disk port.
Input:
IN EFI_HANDLE - Use in locating EFI_DISK_INFO_PROTOCOL.
Output:
None.
Returns:
UINT16 - Sata port number.
Modified:
None.
Notes:
None.
Referrals:
None.


GetPhysicalBlockIoHandle in the EfiOsBootOptionNames.c

Function : GetPhysicalBlockIoHandle

File: EfiOsBootOptionNames.c
Description:
Takes a handle with BlockIo providing partition access and returns
the handle with the BlockIo providing raw access to the drive that
contains the partition.
Input:
IN EFI_HANDLE BlockIoHandle - Image handle with BlockIo partition access.
Output:
None.
Returns:
EFI_HANDLE - Handle with BlockIo that provides raw access to drive
containing partition.
Modified:
None.
Notes:
None.
Referrals:
HandleProtocol()
DPCut()
LocateDevicePath()
FreePool()


RemoveTrailingSpaces in the EfiOsBootOptionNames.c

Function : RemoveTrailingSpaces

File: EfiOsBootOptionNames.c
Description:
Removes trailing spaces from *Name.
Input:
IN CHAR16 *Name - String from which trailing spaces should be removed.
IN UINTN NumberOfCharacters - Length of string at *Name.
Output:
None.
Returns:
UINTN - Length of string after spaces have been removed.
Modified:
String pointed to by *Name.
Notes:
None.
Referrals:
None.


EfiOsBootOptionNames.mak

Description:
Adds EfiOsBootOptionNames.obj to AMITSEBin dependencies
and builds EfiOsBootOptionNames.obj.

Adds EfiOsBootOrder.obj to CORE_DXEBin dependencies
and builds EfiOsBootOrder.obj.


EfiOsBootOptionNames.sd

Description:
EfiOsBootOptionNames setup items


EfiOsBootOrder.c

Description:
Deal with UEFI Boot Devices that contain UEFI OS.
Create boot option if device is existed, delete
boot option if there is a duplicated one and then
adjust the BootOrder.

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

Function | Description
AdjustEfiOsBootOrder | Remove the AMI specific device path from SrcDevicePath. if UEFI OS is existed, kill the duplicated UEFI OS boot options into one and move it to one of their boot order position, and kill all UEFI OS boot options if deivces are disappeared in system.
AdjustNewUefiOsOptionPriority | Adjust new UEFI OS boot option priority. Follow the policy NEW_UEFI_OS_OPTION_ORDER_POLICY to change priority with new UEFI OS boot option.
CheckBootOptionMatch | Search all BootOptionList and found out the matched HDD device path.
CompareHddDevicePath | Compare whether two HDD device paths are the same.
CreateBootOptionWithUefiFileName | Create boot option with uefi file name if there is no other matched path.
CreateEfiOsBootOption | Try to find UEFI OSs and create the boot options for them if they haven't been listed in BootOptionList.
CreateTargetEfiOsBootOption | Create target efi os boot option
EfiOsName_NormalizeBootOptions | If normalization is enabled, regenerates all the description strings and/or file path lists. This function override BDS kernel, because Uefi Os Boot Option can't be normalize file path and names.
GetEfiOsBootNameItemCount | Count the elements in eLink FILE_NAME_MAPS.
GetGptPartitionHandle | Search GPT HDD and return Hard disk handle.
GetHDDPort | Use handle and EFI_DISK_INFO_PROTOCOL to get sata hard disk port.
GetHdNode | Locates HD node in DevicePath associated with Handle.
IsOsCreatedBootOption | Check whether input boot option number is created by OS.
IsSpecifiedUefiOsBootOption | Check whether specified uefi os boot option.
RemoveAmiMaskDevicePath | Remove the AMI specific device path from SrcDevicePath.
RemoveLegacyGptHdd | Determine whether boot device is a UEFI HDD(GPT format).
SaveEfiOsBootOrder | Save the boot order to check later, then we can know which one is created by OS.
SearchBootablePathAndCreateBootOption | Search bootable path then create boot option.


AdjustEfiOsBootOrder in the EfiOsBootOrder.c

Function : AdjustEfiOsBootOrder

File: EfiOsBootOrder.c
Description:
Remove the AMI specific device path from SrcDevicePath.

if UEFI OS is existed, kill the duplicated UEFI OS boot options
into one and move it to one of their boot order position, and kill
all UEFI OS boot options if deivces are disappeared in system.
Input:
None.
Output:
None.


AdjustNewUefiOsOptionPriority in the EfiOsBootOrder.c

Function : AdjustNewUefiOsOptionPriority

File: EfiOsBootOrder.c
Description:
Adjust new UEFI OS boot option priority.
Follow the policy NEW_UEFI_OS_OPTION_ORDER_POLICY
to change priority with new UEFI OS boot option.
Input:
None.
Output:
None.


CheckBootOptionMatch in the EfiOsBootOrder.c

Function : CheckBootOptionMatch

File: EfiOsBootOrder.c
Description:
Search all BootOptionList and found out the matched HDD device path.
Input:
EFI_DEVICE_PATH_PROTOCOL *HdDevPath
Output:
EFI_STATUS


CompareHddDevicePath in the EfiOsBootOrder.c

Function : CompareHddDevicePath

File: EfiOsBootOrder.c
Description:
Compare whether two HDD device paths are the same.
Input:
IN EFI_DEVICE_PATH_PROTOCOL *DevDp1 - Device path in comparison.
IN EFI_DEVICE_PATH_PROTOCOL *DevDp2 - Device path in comparison.
Output:
None.
Returns:
EFI_STATUS
Modified:
None.
Notes:
None.
Referrals:
MemCmp(),
NEXT_NODE().


CreateBootOptionWithUefiFileName in the EfiOsBootOrder.c

Function : CreateBootOptionWithUefiFileName

File: EfiOsBootOrder.c
Description:
Create boot option with uefi file name if there is no other matched path.
Input:
EFI_HANDLE Handle - Handle to locate file system
UINT16 MatchedBootablePathCount - Count of matched bootable files
Output:
None


CreateEfiOsBootOption in the EfiOsBootOrder.c

Function : CreateEfiOsBootOption

File: EfiOsBootOrder.c
Description:
Try to find UEFI OSs and create the boot options for them if
they haven't been listed in BootOptionList.
Input:
None
Output:
EFI_SUCCESS   -  Do not encounter any errors
!=EFI_SUCCESS -  Any errors


CreateTargetEfiOsBootOption in the EfiOsBootOrder.c

Function : CreateTargetEfiOsBootOption

File: EfiOsBootOrder.c
Description:
Create target efi os boot option
Input:
EFI_HANDLE  FileSystemHandle - Handle to get file system
NAME_MAP*   DevicePath - Contain boot file name and boot option name
Output:
TRUE  - if find any matched boot option / create boot option successfully
FALSE - if one of inputs is invalid / fail to allocate pool / fail to get hdd node


EfiOsName_NormalizeBootOptions in the EfiOsBootOrder.c

Function : EfiOsName_NormalizeBootOptions

File: EfiOsBootOrder.c
Description:
If normalization is enabled, regenerates all the description strings
and/or file path lists. This function override BDS kernel, because Uefi
Os Boot Option can't be normalize file path and names.
Input:
None.
Output:
None.


GetEfiOsBootNameItemCount in the EfiOsBootOrder.c

Function : GetEfiOsBootNameItemCount

File: EfiOsBootOrder.c
Description:
Count the elements in eLink FILE_NAME_MAPS.
Input:
EFI_DEVICE_PATH_PROTOCOL *DevicePath
Output:
EFI_HANDLE


GetGptPartitionHandle in the EfiOsBootOrder.c

Function : GetGptPartitionHandle

File: EfiOsBootOrder.c
Description:
Search GPT HDD and return Hard disk handle.
Input:
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath - Search GPT HDD and return Hard disk handle.
Output:
None.
Returns:
EFI_HANDLE - Hard Disk handle or NULL.
Modified:
None.
Notes:
None.
Referrals:
LocateHandleBuffer(),
HandleProtocol().


GetHDDPort in the EfiOsBootOrder.c

Function : GetHDDPort

File: EfiOsBootOrder.c
Description:
Use handle and EFI_DISK_INFO_PROTOCOL to get sata hard disk port.
Input:
IN EFI_HANDLE - Use in locating EFI_DISK_INFO_PROTOCOL.
Output:
None.
Returns:
UINT16 - Sata port number.
Modified:
None.
Notes:
None.
Referrals:
HandleProtocol().


GetHdNode in the EfiOsBootOrder.c

Function : GetHdNode

File: EfiOsBootOrder.c
Description:
Locates HD node in DevicePath associated with Handle.
Input:
IN EFI_HANDLE Handle - Handle with DevicePath protocol for which HD
node should be located.
Output:
OUT EFI_DEVICE_PATH_PROTOCOL** DevPath - Pointer to HD node, if found.
Returns:
EFI_SUCCESS - HD node was found and returned.
EFI_NOT_FOUND - No HD node was found.
Other errors possible if Handle does not have DevicePath protocol.
Modified:
None.
Notes:
None.
Referrals:
HandleProtocol()
isEndNode()
NEXT_NODE()


IsOsCreatedBootOption in the EfiOsBootOrder.c

Function : IsOsCreatedBootOption

File: EfiOsBootOrder.c
Description:
Check whether input boot option number is created by OS.
Input:
UINT16 BootOptionNumber - Number to check.
Output:
BOOLEAN
   TRUE    Created by OS.
   FALSE   Isn't created by OS


IsSpecifiedUefiOsBootOption in the EfiOsBootOrder.c

Function : IsSpecifiedUefiOsBootOption

File: EfiOsBootOrder.c
Description:
Check whether specified uefi os boot option.
Input:
BOOT_OPTION Option - boot option to check.
Output:
TRUE  - Is specified uefi os boot option
FALSE - Isn't specified uefi os boot option


RemoveAmiMaskDevicePath in the EfiOsBootOrder.c

Function : RemoveAmiMaskDevicePath

File: EfiOsBootOrder.c
Description:
Remove the AMI specific device path from SrcDevicePath.
Input:
EFI_DEVICE_PATH_PROTOCOL *SrcDevicePath - Device Path that has AMI
                                         mask device path.
UINT16 DevicePathSize - Size of SrcDevicePath.
Output:
None.


RemoveLegacyGptHdd in the EfiOsBootOrder.c

Function : RemoveLegacyGptHdd

File: EfiOsBootOrder.c
Description:
Determine whether boot device is a UEFI HDD(GPT format).
Input:
BOOT_DEVICE Device - Boot device to be checked.
Output:
TRUE  - Boot Device is a UEFI HDD..
FALSE - Boot Device is not a UEFI HDD.


SaveEfiOsBootOrder in the EfiOsBootOrder.c

Function : SaveEfiOsBootOrder

File: EfiOsBootOrder.c
Description:
Save the boot order to check later,
then we can know which one is created by OS.
Input:
None.
Output:
None.


SearchBootablePathAndCreateBootOption in the EfiOsBootOrder.c

Function : SearchBootablePathAndCreateBootOption

File: EfiOsBootOrder.c
Description:
Search bootable path then create boot option.
Input:
EFI_HANDLE Handle - Handle to locate file system
Output:
EFI_SUCCESS   -  Do not encounter any errors
!=EFI_SUCCESS -  Any errors


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
  • E
  • G
  • I
  • R
  • S


Functions in Alphabetical Order

A

Function | Description
AdjustEfiOsBootOrder | Remove the AMI specific device path from SrcDevicePath. if UEFI OS is existed, kill the duplicated UEFI OS boot options into one and move it to one of their boot order position, and kill all UEFI OS boot options if deivces are disappeared in system.
AdjustNewUefiOsOptionPriority | Adjust new UEFI OS boot option priority. Follow the policy NEW_UEFI_OS_OPTION_ORDER_POLICY to change priority with new UEFI OS boot option.


Functions in Alphabetical Order

C

Function | Description
ChangeUefiBootNames | Examines boot options and adds drive information string to them. This function is called at the ProcessEnterSetup hook provided by TSE.
CheckBootOptionMatch | Search all BootOptionList and found out the matched HDD device path.
CompareHddDevicePath | Compare whether two HDD device paths are the same.
ConstructBootOptionNameByHandle | Construct controller name from parent Handle.
CreateBootOptionWithUefiFileName | Create boot option with uefi file name if there is no other matched path.
CreateEfiOsBootOption | Try to find UEFI OSs and create the boot options for them if they haven't been listed in BootOptionList.
CreateNameWithUefiOS | Create boot option name into format of "OS NAME(Px:HDD Name) or "OS NAME(HDD Name) if there is no port or "OS_NAME" if can't find controller name.
CreateTargetEfiOsBootOption | Create target efi os boot option


Functions in Alphabetical Order

E

Function | Description
EfiOsName_NormalizeBootOptions | If normalization is enabled, regenerates all the description strings and/or file path lists. This function override BDS kernel, because Uefi Os Boot Option can't be normalize file path and names.


Functions in Alphabetical Order

G

Function | Description
GetEfiOsBootNameItemCount | Count the elements in eLink FILE_NAME_MAPS.
GetGptPartitionHandle | Search GPT HDD and return Hard disk handle.
GetHDDPort | Use handle and EFI_DISK_INFO_PROTOCOL to get sata hard disk port.
GetHDDPort | Use handle and EFI_DISK_INFO_PROTOCOL to get sata hard disk port.
GetHdNode | Locates HD node in DevicePath associated with Handle.
GetPhysicalBlockIoHandle | Takes a handle with BlockIo providing partition access and returns the handle with the BlockIo providing raw access to the drive that contains the partition.


Functions in Alphabetical Order

I

Function | Description
IsOsCreatedBootOption | Check whether input boot option number is created by OS.
IsSpecifiedUefiOsBootOption | Check whether specified uefi os boot option.


Functions in Alphabetical Order

R

Function | Description
RemoveAmiMaskDevicePath | Remove the AMI specific device path from SrcDevicePath.
RemoveLegacyGptHdd | Determine whether boot device is a UEFI HDD(GPT format).
RemoveTrailingSpaces | Removes trailing spaces from *Name.


Functions in Alphabetical Order

S

Function | Description
SaveEfiOsBootOrder | Save the boot order to check later, then we can know which one is created by OS.
SearchBootablePathAndCreateBootOption | Search bootable path then create boot option.


General Information


Copyright

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

Copyright (c) 1999-2011 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.