American Megatrends, Inc.

PeiRamBoot

Copyright

Release Notes

© American Megatrends, Inc.


Release Notes - NDA Required

Component Information:
Component Title: PEI Ram Boot
Component Reference Name: PEI_RAM_BOOT
Component Type: eModule
Release Date: 2015-08-28
Source Control Label: 4.6.3_PEIRamBoot_22
Source Control Location: SS:\\Alaska\Source\Modules\PEI Ram Boot

Dependencies
N0NE
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
This module is used to improve the boot time and S3 resume time. It reads the firmware volume image from ROM to RAM at memory installed PPI when the ROM cache is still enabled then gives the control ram, so the following PEI drivers will be executed in RAM.
Filename | Description
PeiRamBoot.cif | Component information file for this e-Module.
PeiRamBoot.chm | Module chm file.
PeiRamBoot.sdl | Module parameters file.
PeiRamBoot.mak | Make file that includes PeiRamBoot source files into BIOS build process.
PeiRamBoot.dxs | Module PEI Driver Dependency file.
PeiRamBoot.c | Module PEI driver.
PeiRamBoot.h | Module related equates and structures.
PeiRamBootDxe.c | Module DXE driver.
PeiRamBootHook.c | Hook file for PEI Ram Boot module.
PeiRamBootFvHook.c | Hook file for Report Firmware Volume HOB.
PeiRamBootOfbd.c | Hook file for OFBD module for Flash Update.
PeiRamBootCacheRdy.c | PeiRamBoot PEI driver for Memory ready.
PeiRamBootCacheRdy.dxs | PeiRamBootCacheRdy Driver Dependency file.

AMI Build Tools:
Tools Label: 4.5.5_tools_34, Dated: 2010-10-06
Visual eBios: RSS.5.70.0171, Dated: 2010-10-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7.1.0 build 7600.16385.1
New features added in this label:
N0NE
General Bug Fixes:
N0NE
EIP addressed in this label:
EIP #166551 - Runtime attribute set for the some of the variable used by PEI Ram Boot driver and needs to be reviewed.
Files changed for EIP fixes:
PeiRamBoot.c, PeiRamBootOfbd.c, PeiRamBootDxe.c
Known issues and limitations in this label:
N0NE
Remaining Issues:
N0NE
Unit Testing:
N0NE
Validation Testing:
N0NE
Release History:
Label : 4.6.3_PEIRamBoot_22
Improvement:
Security vulnerability - PeiRamBoot: Should leave cold boot optimization only
Bug Fixed:
None.
Label : 4.6.3_PEIRamBoot_21
Improvement:
Multiple Boot Block Firmware Volume support. Need to be reported into "PeiRamBootFvBootBlockList" eLink
Bug Fixed:
None.
Label : 4.6.3_PEIRamBoot_20
Improvement:
None.
Bug Fixed:
1. System hangs with using AFU.

Label : 4.6.3_PEIRamBoot_19
Improvement:
1. Avoiding Setup item changed could causes PEIMs execution sequence changed, force to reload Rom Image if Setup item is changed.
2. Removed "RT" attribute of "RomHobImage" variable for Security reason.
Bug Fixed:
1. System hangs at CP60 if LastFfsFile Guild is installed with DEBUG_MODE "ON".

Label : 4.6.3_PEIRamBoot_18
Improvement:
None.
Bug Fixed:
System hangs if OPTIMIZE_BOOT_FV_COPY = 1 with AMI Debug Rx enabled
Description : Added Saveing Module Type "EFI_FV_FILETYPE_DRIVER" in Optimize Boot FV.

Label : 4.6.3_PEIRamBoot_17
Improvement:
None.
Bug Fixed:
System hangs if OPTIMIZE_BOOT_FV_COPY = 1
Description : RAW and FREEFORM FFS must be saved in Optimize Boot FV.

Label : 4.6.3_PEIRamBoot_16
Improvement:
None.
Bug Fixed:
Fixed Build failed if PI 1.0.

Label : 4.6.3_PEIRamBoot_15
Improvement:
1. Added support to minimumize Boot FV copy for improving POST time.
2. Added Last Firmware Volume FFS file Override mechanism.
Bug Fixed:
1. (EIP106511)PI 0.9 and 1.0 in Core 4.6.5.4.
2. (EIP108319)When we enable PEI RAM BOOT module and set the token “PEI_RAM_S3_SUPPOT” to 0, smbios will not be writable, system will hang up when writing smbios under DOS using DMI tool.

Label : 4.6.3_PEIRamBoot_14
Improvement:
(EIP85774) Added Support for preserve Nested FV in memory.
Bug Fixed:
(EIP94448) Can not Save the DXE IPL Boot time, even add the PEI RAM Boot eModule.

Label : 4.6.3_PEIRamBoot_13
Improvement:
None.
Bug Fixed:
(EIP88796) When define more than two FV which has the same CUSTOM_SIZE, GetPhysicalAddress() returns invalid value.

Label : 4.6.3_PEIRamBoot_12
Improvement:
1. Preserved PR KEY FFS file if PEI_RAM_BOOT_S3_SUPPORT = 2.
2. (EIP82264) Need to do cold boot to get the correct data in rom hole when changing data in rom hole.
Bug Fixed:
None.

Label : 4.6.3_PEIRamBoot_11
Improvement:
None.
Bug Fixed:
1. Build failed if Core 4.6.4.0.
2. System could hang if SAVE_ENTIRE_FV_TO_MEM = 1with AMD platform.

Label : 4.6.3_PEIRamBoot_10
Improvement:
1. Added "WARM_BOOT_VERIFY_CHECKSUM" for verifying FV/FFS checksum if Warmboot support.
2. Delete HobRomImage Variable if Recovery mode.
Bug Fixed:
1. (EIP60320)System hangs at CP 0x72 when SMM_THUNK_IN_CSM is 0 on Huronriver.
2. Build failed if Core 4.6.4.1.

Label : 4.6.3_PEIRamBoot_09
Improvement:
None.
Bug Fixed:
Build failed if Core version greater than 4.6.4.1 with PI 0.91.

Label : 4.6.3_PEIRamBoot_08
Improvement:
1. PI 1.1 Support.
2. Added Token "SAVE_ENTIRE_FV_TO_MEM" for OEM measure FV if needed.
Bug Fixed:
None.

Label : 4.6.3_PEIRamBoot_07
Improvement:
None.
Bug Fixed:
System hangs after TPM/TXT state changed if fast warm boot support.
Description : ROM image in reserved memory is curruption because of Memory Mapping are changed.

Label : 4.6.3_PEIRamBoot_06
Improvement:
None.
Bug Fixed:
System hangs after reflashed BIOS with warm reset if PEI_RAM_BOOT_S3_SUPPORT = 1 with fast warm boot support.

Label : 4.6.3_PEIRamBoot_05
Improvement:
None.
Bug Fixed:
DMI structure not update in system memory if PEI_RAM_BOOT_S3_SUPPORT = 1 with fast warm boot support.

Label : 4.6.3_PEIRamBoot_04
Improvement:
None.
Bug Fixed:
1. Recovery not work if PEI_RAM_BOOT_S3_SUPPORT = 2.
2. S4 resume failed if PEI_RAM_BOOT_S3_SUPPORT = 1 with fast warm boot support.

Label : 4.6.3_PEIRamBoot_03
Improvement:
Added an eLink “PeiRamBootObjectsList” for oem links their obj files for fast warm boot support.
Bug Fixed:
None.

Label : 4.6.3_PEIRamBoot_02
Improvement:
1. Added an eLink “PeiRamBootList” for fast warm boot support (PEI_RAM_BOOT_S3_SUPPORT = 1). If system boots in warm boot state, BIOS directly boot to previous copied ROM image in RAM to save time of copying ROM.
2. Added “PEI_RAM_BOOT_S3_SUPPORT” = “2” for saving runtime memory, it only keep necessary PEIM FFS in runtime memory for S3 resume improvement.
Bug Fixed:
None.

Label : 4.6.3_PEIRamBoot_01
Improvement:
None.
Bug Fixed:
Fixed Update SMBIOS Structures failed with DMI Utility.

Label : 4.6.3_PEIRamBoot_00
Improvement:
Initial check-in.
Bug Fixed:
None.

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

  • PeiRamBoot.c
  • PeiRamBoot.h
  • PeiRamBoot.mak
  • PeiRamBootCacheRdy.c
  • PeiRamBootDxe.c
  • PeiRamBootFvHook.c
  • PeiRamBootHook.c
  • PeiRamBootOfbd.c
Built on 16:40:53 10/02/14


PeiRamBoot.c

Description:
PEI RAM BOOT Pei driver.

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

Function | Description
CollectRomImageInfo |
CopyFirmwareVolumesToRam | This procedure copy in used Firmware Volume to memroy.
CopyMininumRomImage2Buffer | This procedure copy in used ROM data to memroy.
FileChecksum | This function checks if it's a valid FFS file.
FvHobSwitchToRam | This procedure redirect the FV Base Address of FV HOB to RAM.
InvalidatePeiModules | This procedure copy in used ROM data to memroy.
IsBootFirmwareVolume |
IsFvFfsChecksumGood | This procedure checks whether the PEIM is relating to recovery module.
IsRecoveryFfsFile | This procedure checks whether the PEIM is relating to recovery module.
MinimumizeBootFv | This routine copy only undispatched PEIM and Preserved FFS Guid to memory and FFS Header only if dispatched PEIM.
PeiRamBootEndOfPei | This procedure redirect the FV Base Address of FV HOB to RAM in End of PEI Phase PPI.
PeiRamBootEntry | PEI Entry Point for PeiRamBoot Driver.
PeiRamBootMemoryReady | This procedure allocate a Memory buffer and redirect the FV from ROM to RAM in PERMANENT MEMORY INSTALLED PPI;
PeiRamBootPreserveNestedFv | This procedure redirect the FV Base Address of FV HOB to RAM in End of PEI Phase PPI.
PrepareForCopyRomToRam | This procedure allocate memroy buffer for copying rom to ram.
RestoreHobInfoFromRam | This procedure restores the Hob Informations from stolen memory.
VerifyFirmwareVolumeChecksum |
VerifyFvHeaderChecksum | This function verifies the checksum of the firmware volume header


CollectRomImageInfo in the PeiRamBoot.c

Function : CollectRomImageInfo

File: PeiRamBoot.c
Description:
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - Buffer
Output:
EFI_STATUS


CopyFirmwareVolumesToRam in the PeiRamBoot.c

Function : CopyFirmwareVolumesToRam

File: PeiRamBoot.c
Description:
This procedure copy in used Firmware Volume to memroy.
Input:
EFI_PEI_SERVICES**  - PeiServices
HOB_ROM_IMAGE*      - HobRomImage,
BOOLEAN             - IsEndOfPei
Output:
EFI_STATUS


CopyMininumRomImage2Buffer in the PeiRamBoot.c

Function : CopyMininumRomImage2Buffer

File: PeiRamBoot.c
Description:
This procedure copy in used ROM data to memroy.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - Buffer
Output:
EFI_STATUS


FileChecksum in the PeiRamBoot.c

Function : FileChecksum

File: PeiRamBoot.c
Description:
This function checks if it's a valid FFS file.
Input:
IN EFI_FFS_FILE_HEADER* FfsHeader - pointer to the header of an FFS File
Output:
TRUE - the checksum of the FFS file passed
FALSE - the checksum of the FFS file failed
Notes:


FvHobSwitchToRam in the PeiRamBoot.c

Function : FvHobSwitchToRam

File: PeiRamBoot.c
Description:
This procedure redirect the FV Base Address of FV HOB to RAM.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - RomImageBuffer
Output:
EFI_STATUS


InvalidatePeiModules in the PeiRamBoot.c

Function : InvalidatePeiModules

File: PeiRamBoot.c
Description:
This procedure copy in used ROM data to memroy.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - Buffer
Output:
EFI_STATUS


IsBootFirmwareVolume in the PeiRamBoot.c

Function : IsBootFirmwareVolume

File: PeiRamBoot.c
Description:
Input:
EFI_PEI_SERVICES**      - PeiServices
EFI_PHYSICAL_ADDRESS    - Address
Output:
None.


IsFvFfsChecksumGood in the PeiRamBoot.c

Function : IsFvFfsChecksumGood

File: PeiRamBoot.c
Description:
This procedure checks whether the PEIM is relating to recovery
module.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_FFS_FILE_HEADER* - FfsHdr
Output:
EFI_STATUS


IsRecoveryFfsFile in the PeiRamBoot.c

Function : IsRecoveryFfsFile

File: PeiRamBoot.c
Description:
This procedure checks whether the PEIM is relating to recovery
module.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_FFS_FILE_HEADER* - FfsHdr
Output:
EFI_STATUS


MinimumizeBootFv in the PeiRamBoot.c

Function : MinimumizeBootFv

File: PeiRamBoot.c
Description:
This routine copy only undispatched PEIM and Preserved FFS Guid
to memory and FFS Header only if dispatched PEIM.
Input:
EFI_PEI_SERVICES**  - PeiServices
HOB_ROM_IMAGE*      - HobRomImage,
UINT8               - Index
Output:
EFI_STATUS


PeiRamBootEndOfPei in the PeiRamBoot.c

Function : PeiRamBootEndOfPei

File: PeiRamBoot.c
Description:
This procedure redirect the FV Base Address of FV HOB to RAM in
End of PEI Phase PPI.
Input:
EFI_PEI_SERVICES**          - PeiServices
EFI_PEI_NOTIFY_DESCRIPTOR*  - NotifyDescriptor
VOID*                       - NullPpi
Output:
EFI_STATUS


PeiRamBootEntry in the PeiRamBoot.c

Function : PeiRamBootEntry

File: PeiRamBoot.c
Description:
PEI Entry Point for PeiRamBoot Driver.
Input:
EFI_FFS_FILE_HEADER*    - FfsHeader
EFI_PEI_SERVICES**      - PeiServices
Output:
EFI_STATUS


PeiRamBootMemoryReady in the PeiRamBoot.c

Function : PeiRamBootMemoryReady

File: PeiRamBoot.c
Description:
This procedure allocate a Memory buffer and redirect the FV from
ROM to RAM in PERMANENT MEMORY INSTALLED PPI;
Input:
EFI_PEI_SERVICES**          - PeiServices
EFI_PEI_NOTIFY_DESCRIPTOR*  - NotifyDescriptor
VOID*                       - NullPpi
Output:
EFI_STATUS


PeiRamBootPreserveNestedFv in the PeiRamBoot.c

Function : PeiRamBootPreserveNestedFv

File: PeiRamBoot.c
Description:
This procedure redirect the FV Base Address of FV HOB to RAM in
End of PEI Phase PPI.
Input:
EFI_PEI_SERVICES**          - PeiServices
EFI_PEI_NOTIFY_DESCRIPTOR*  - NotifyDescriptor
VOID*                       - NullPpi
Output:
EFI_STATUS


PrepareForCopyRomToRam in the PeiRamBoot.c

Function : PrepareForCopyRomToRam

File: PeiRamBoot.c
Description:
This procedure allocate memroy buffer for copying rom to ram.
Input:
EFI_PEI_SERVICES**  - PeiServices
HOB_ROM_IMAGE       - *HobRomImage
Output:
EFI_STATUS


RestoreHobInfoFromRam in the PeiRamBoot.c

Function : RestoreHobInfoFromRam

File: PeiRamBoot.c
Description:
This procedure restores the Hob Informations from stolen
memory.
Input:
EFI_PEI_SERVICES**  - PeiServices
HOB_ROM_IMAGE*      - HobRomImage,
HOB_ROM_IMAGE*      - HobInRam,
Output:
None


VerifyFirmwareVolumeChecksum in the PeiRamBoot.c

Function : VerifyFirmwareVolumeChecksum

File: PeiRamBoot.c
Description:
Input:
Output:


VerifyFvHeaderChecksum in the PeiRamBoot.c

Function : VerifyFvHeaderChecksum

File: PeiRamBoot.c
Description:
This function verifies the checksum of the firmware volume header
Input:
IN EFI_FIRMWARE_VOLUME_HEADER *FvHeader - pointer to the beginning of an FV header
Output:
TRUE  -  Checksum verification passed
FALSE -  Checksum verification failed
Notes:


PeiRamBoot.h

Description:
Definition file for PEI Ram Boot.

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

Variable | Description
HOB_ROM_IMAGE | This structure contains information for ROM Image HOB.


HOB_ROM_IMAGE in the PeiRamBoot.h

Variable : HOB_ROM_IMAGE

File: PeiRamBoot.h
Description:
This structure contains information for ROM Image HOB.
Referrals:


PeiRamBoot.mak

Description:
Make file for PEI Ram Boot.


PeiRamBootCacheRdy.c

Description:
PEI RAM BOOT Pei driver.

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

Function | Description
PeiRamBootCacheRdyEntry | PEI Entry Point for PeiRamBootCacheRdy Driver.


PeiRamBootCacheRdyEntry in the PeiRamBootCacheRdy.c

Function : PeiRamBootCacheRdyEntry

File: PeiRamBootCacheRdy.c
Description:
PEI Entry Point for PeiRamBootCacheRdy Driver.
Input:
EFI_FFS_FILE_HEADER*    - FfsHeader
EFI_PEI_SERVICES**      - PeiServices
Output:
EFI_STATUS


PeiRamBootDxe.c

Description:
PEI RAM BOOT DXE driver.

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

Function | Description
DeleteHobRomImageVariable | Delete HobRomImage Variable event.
IsRecoveryMode | Delete HobRomImage Variable if Recovery Mode.
PeiRamBootDxeEntry | DXE Entry Point for PeiRamBoot Driver.
PeiRamBootDxeInit | DXE Entry Point for PeiRamBoot Driver.
PeiRamBootSmmInit | PeiRamBoot InSmm Function.


DeleteHobRomImageVariable in the PeiRamBootDxe.c

Function : DeleteHobRomImageVariable

File: PeiRamBootDxe.c
Description:
Delete HobRomImage Variable event.
Input:
None.
Output:
None.


IsRecoveryMode in the PeiRamBootDxe.c

Function : IsRecoveryMode

File: PeiRamBootDxe.c
Description:
Delete HobRomImage Variable if Recovery Mode.
Input:
None.
Output:
TRUE    - Recovery Mode.
FALSE   - not Recovery Mode.


PeiRamBootDxeEntry in the PeiRamBootDxe.c

Function : PeiRamBootDxeEntry

File: PeiRamBootDxe.c
Description:
DXE Entry Point for PeiRamBoot Driver.
Input:
EFI_HANDLE          - ImageHandle
EFI_SYSTEM_TABLE*   - SystemTable
Output:
EFI_STATUS


PeiRamBootDxeInit in the PeiRamBootDxe.c

Function : PeiRamBootDxeInit

File: PeiRamBootDxe.c
Description:
DXE Entry Point for PeiRamBoot Driver.
Input:
EFI_HANDLE          - ImageHandle
EFI_SYSTEM_TABLE*   - SystemTable
Output:
EFI_STATUS


PeiRamBootSmmInit in the PeiRamBootDxe.c

Function : PeiRamBootSmmInit

File: PeiRamBootDxe.c
Description:
PeiRamBoot InSmm Function.
Input:
EFI_HANDLE          - ImageHandle
EFI_SYSTEM_TABLE*   - SystemTable
Output:
EFI_STATUS


PeiRamBootFvHook.c

Description:
Hook File for Report Firmware Volume.

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

Function | Description
PeiRamBootNestedFvPublishing |


PeiRamBootNestedFvPublishing in the PeiRamBootFvHook.c

Function : PeiRamBootNestedFvPublishing

File: PeiRamBootFvHook.c
Description:
Input:
EFI_PEI_SERVICES**  - PeiServices
ROM_AREA*           - Area
Output:
EFI_STATUS
ROM_AREA*           - Area


PeiRamBootHook.c

Description:
Hook file for PEI Ram Boot module.

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

Function | Description
GetDispatchedPeimBitMap | This procedure gets current PEIM dispatched BitMap from DispatchedData of Privatedata of PeiService.
IsPeimDispatched |
PeiDebugPrint | Worker function for debug print.
SwitchPeiServiceDataToRam | This procedure redirect the FV Bass Address of Private data of PEI Service from ROM to RAM.


GetDispatchedPeimBitMap in the PeiRamBootHook.c

Function : GetDispatchedPeimBitMap

File: PeiRamBootHook.c
Description:
This procedure gets current PEIM dispatched BitMap from
DispatchedData of Privatedata of PeiService.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - Buffer
Output:
None.


IsPeimDispatched in the PeiRamBootHook.c

Function : IsPeimDispatched

File: PeiRamBootHook.c
Description:
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - Buffer
Output:
None.


PeiDebugPrint in the PeiRamBootHook.c

Function : PeiDebugPrint

File: PeiRamBootHook.c
Description:
Worker function for debug print.
Input:
EFI_PEI_SERVICES**  - PeiServices
UINTN               - ErrorLevel
CHAR8*              - Format
Output:
None.


SwitchPeiServiceDataToRam in the PeiRamBootHook.c

Function : SwitchPeiServiceDataToRam

File: PeiRamBootHook.c
Description:
This procedure redirect the FV Bass Address of Private data of
PEI Service from ROM to RAM.
Input:
EFI_PEI_SERVICES**  - PeiServices
EFI_PHYSICAL_ADDRESS - Buffer
Output:
None.


PeiRamBootOfbd.c

Description:
If system updated BIOS with warm reset, PeiRamBoot module
will not copy rom to ram in sequence boot, and, it could
cause system crashed. For avoiding this situation, BIOS
delete the PEI RAM Boot related variables if system executed
AFU.

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

Function | Description
PeiRamBootOfbdEntry |
PeiRamBootOfbdInSmm |


PeiRamBootOfbdEntry in the PeiRamBootOfbd.c

Function : PeiRamBootOfbdEntry

File: PeiRamBootOfbd.c
Description:
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


PeiRamBootOfbdInSmm in the PeiRamBootOfbd.c

Function : PeiRamBootOfbdInSmm

File: PeiRamBootOfbd.c
Description:
Input:
VOID
Output:
VOID


Functions in Alphabetical Order

In Alphabetical Order

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

  • C
  • D
  • F
  • G
  • H
  • I
  • M
  • P
  • R
  • S
  • V


Functions in Alphabetical Order

C

Function | Description
CollectRomImageInfo |
CopyFirmwareVolumesToRam | This procedure copy in used Firmware Volume to memroy.
CopyMininumRomImage2Buffer | This procedure copy in used ROM data to memroy.


Functions in Alphabetical Order

D

Function | Description
DeleteHobRomImageVariable | Delete HobRomImage Variable event.


Functions in Alphabetical Order

F

Function | Description
FileChecksum | This function checks if it's a valid FFS file.
FvHobSwitchToRam | This procedure redirect the FV Base Address of FV HOB to RAM.


Functions in Alphabetical Order

G

Function | Description
GetDispatchedPeimBitMap | This procedure gets current PEIM dispatched BitMap from DispatchedData of Privatedata of PeiService.


Functions in Alphabetical Order

H

Data Structure | Description
HOB_ROM_IMAGE | This structure contains information for ROM Image HOB.


Functions in Alphabetical Order

I

Function | Description
InvalidatePeiModules | This procedure copy in used ROM data to memroy.
IsBootFirmwareVolume |
IsFvFfsChecksumGood | This procedure checks whether the PEIM is relating to recovery module.
IsPeimDispatched |
IsRecoveryFfsFile | This procedure checks whether the PEIM is relating to recovery module.
IsRecoveryMode | Delete HobRomImage Variable if Recovery Mode.


Functions in Alphabetical Order

M

Function | Description
MinimumizeBootFv | This routine copy only undispatched PEIM and Preserved FFS Guid to memory and FFS Header only if dispatched PEIM.


Functions in Alphabetical Order

P

Function | Description
PeiDebugPrint | Worker function for debug print.
PeiRamBootCacheRdyEntry | PEI Entry Point for PeiRamBootCacheRdy Driver.
PeiRamBootDxeEntry | DXE Entry Point for PeiRamBoot Driver.
PeiRamBootDxeInit | DXE Entry Point for PeiRamBoot Driver.
PeiRamBootEndOfPei | This procedure redirect the FV Base Address of FV HOB to RAM in End of PEI Phase PPI.
PeiRamBootEntry | PEI Entry Point for PeiRamBoot Driver.
PeiRamBootMemoryReady | This procedure allocate a Memory buffer and redirect the FV from ROM to RAM in PERMANENT MEMORY INSTALLED PPI;
PeiRamBootNestedFvPublishing |
PeiRamBootOfbdEntry |
PeiRamBootOfbdInSmm |
PeiRamBootPreserveNestedFv | This procedure redirect the FV Base Address of FV HOB to RAM in End of PEI Phase PPI.
PeiRamBootSmmInit | PeiRamBoot InSmm Function.
PrepareForCopyRomToRam | This procedure allocate memroy buffer for copying rom to ram.


Functions in Alphabetical Order

R

Function | Description
RestoreHobInfoFromRam | This procedure restores the Hob Informations from stolen memory.


Functions in Alphabetical Order

S

Function | Description
SwitchPeiServiceDataToRam | This procedure redirect the FV Bass Address of Private data of PEI Service from ROM to RAM.


Functions in Alphabetical Order

V

Function | Description
VerifyFirmwareVolumeChecksum |
VerifyFvHeaderChecksum | This function verifies the checksum of the firmware volume header


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.