American Megatrends, Inc.

AmiBufferValidationLib

Copyright

Release Notes

© American Megatrends, Inc.


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: AmiBufferValidationLib
Component Reference Name: AmiBufferValidationLib
Component Type: eModule
Release Date: 2015-01-06
Source Control Label: AmiBufferValidationLib_03
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib/
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: EFI_SMM_BASE2_PROTOCOL
Dependent Protocol GUID: {0xf4ccbfb7,0xf6e0,0x47fd,0x9d,0xd4,0x10,0xa8,0xf1,0x50,0xc1,0x91}
TWO
Dependent Protocol Name: EFI_SMM_ACCESS2_PROTOCOL
Dependent Protocol GUID: {0xc2702b74,0x800c,0x4131,0x87,0x46,0x8f,0xb5,0xb8,0x9c,0xe4,0xac}
THREE
Dependent Protocol Name: EFI_SMM_ACCESS_PROTOCOL
Dependent Protocol GUID: {0x3792095a,0xe309,0x4c1e,0xaa,0x01,0x85,0xf5,0x65,0x5a,0x17,0xf1}
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
This library provides three functions that allow the validation of buffers (both memory and MMIO) in relation to the SMRAM region. These functions will allow a module to verify that a memory or MMIO buffer does not fall within the region of memory that corresponds to SMRAM. A third function allows for validation that a buffer is fully contained inside of the SMRAM region.
Modules that wish to use this library should include the $(BUILD_DIR)\AmiBufferValidationLib.lib in their MAK file, and should call the InitAmiBufferValidationLib(...) function from their module entry point.
Filename | Description
Main Component | Library\
AmiBufferValidationLib.cif | Main CIF file for the component
AmiBufferValidationLib.sdl | SDL file for the component
AmiBufferValidationLib.mak | Make file for the component
AmiBufferValidationLib.chm | Help file containing release notes and module information.
SmmAmiBufferValidationLib.c | Source file that defines the AmiBufferValidationLib functions used for validating that buffer addresses and MMIO addresses do not reside in SMM. The file also provides a function to validate that a buffer does reside in SMM.
AmiBufferValidationLib Include | Include\ - Provides the library function prototypes for inclusion by other modules.
AmiBufferValidationLib.h | Header file that defines the AmiBufferValidationLib functions
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-21
Visual eBios: RSS.5.72.0220, Dated: 2012-01-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
NONE
Files Changed for General Bug Fixes and EIP Addressed in this Label:
SmmAmiBuffervalidationLib.c - Added include statement for Token.h to allow detection of SmmAccess vs SmmAccess2
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
Modified the BootScriptHide emodule to use the AmiBufferValidationLib to verify BootScriptTable address does not fall within the SMRAM region.
Modified the BootScriptHide emodule to verify the SMRAM address that the BootScripts are being saved into falls entirely into the SMRAM region.
Used 4.6.4.0 based project to add module and verify building. Verified that addition of module to older project did not prevent booting
Validation Testing:
None
Release History:
AmiBufferValidationLib_02
AmiBufferValidationLib_01
AmiBufferValidationLib_00

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

  • AmiBufferValidationLib.h
  • AmiBufferValidationLib.mak
  • SmmAmiBufferValidationLib.c
Built on 10:25:44 01/06/15


AmiBufferValidationLib.h

Description:
Header file that defines the AmiBufferValidationLib functions

The following functions are used in the file: AmiBufferValidationLib.h.

Function | Description
AmiValidateMemoryBuffer | Function verifies the buffer to make sure its address range is legal for a memory buffer. A legal memory buffer is one that lies entirely outside of SMRAM. SMI handlers that receive buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using it or passing to other SMM interfaces.
AmiValidateMmioBuffer | Function verifies the buffer to make sure its address range is legal for a MMIO buffer. A legal MMIO buffer is one that lies entirely outside of SMRAM. SMI handlers that receive a buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using the MMIO Buffer or passing to other SMM interfaces.
AmiValidateSmramBuffer | Function verifies the buffer to make sure it wholly resides in the SMRAM.
InitAmiBufferValidationLib | Performs the necessary initialization so that the buffer validation functions will operate correctly when they are called.


AmiValidateMemoryBuffer in the AmiBufferValidationLib.h

Function : AmiValidateMemoryBuffer

File: AmiBufferValidationLib.h
Description:
Function verifies the buffer to make sure its address range is legal for a memory buffer. A legal memory
   buffer is one that lies entirely outside of SMRAM.  SMI handlers that receive buffer address and/or size
   from outside of SMM at runtime must validate the buffer using this function prior to using it or passing
   to other SMM interfaces.
Input:
VOID *Buffer - Buffer address
UINTN BufferSize - Size of the Buffer
Output:
EFI_SUCCESS - The buffer address range is valid and can be safely used.
EFI_ACCESS_DENIED - The buffer can't be used because its address range overlaps with protected area such as SMRAM.
EFI_INVALID_PARAMETER - The buffer can't be used because its address range is invalid.
EFI_NOT_FOUND - The buffer can't be used because its validity cannot be verified. Normally due to the SMRAM ranges were not available.


AmiValidateMmioBuffer in the AmiBufferValidationLib.h

Function : AmiValidateMmioBuffer

File: AmiBufferValidationLib.h
Description:
Function verifies the buffer to make sure its address range is legal for a MMIO buffer.  A legal MMIO buffer is one that lies
   entirely outside of SMRAM.  SMI handlers that receive a buffer address and/or size from outside of SMM at runtime must validate
   the buffer using this function prior to using the MMIO Buffer or passing to other SMM interfaces.
Input:
VOID *Buffer - Buffer address
UINTN BufferSize - Size of the Buffer
Output:
EFI_SUCCESS - The buffer address range is valid and can be safely used.
EFI_ACCESS_DENIED - The buffer can't be used because its address range overlaps with protected area such as SMRAM.
EFI_INVALID_PARAMETER - The buffer can't be used because its address range is invalid.
EFI_NOT_FOUND - The buffer can't be used because its validity cannot be verified. Normally due to the SMRAM ranges were not available.


AmiValidateSmramBuffer in the AmiBufferValidationLib.h

Function : AmiValidateSmramBuffer

File: AmiBufferValidationLib.h
Description:
Function verifies the buffer to make sure it wholly resides in the SMRAM.
Input:
IN VOID *Buffer - Buffer address
IN UINTN BufferSize - Size of the Buffer
Output:
EFI_SUCCESS - The buffer resides in the SMRAM and can be safely used.
EFI_ACCESS_DENIED - The buffer can't be used because at least one byte of the buffer is outside of SMRAM.
EFI_INVALID_PARAMETER - The buffer can't be used because its address range is invalid.
EFI_NOT_FOUND - The buffer can't be used because its validity cannot be verified. Normally due to the SMRAM ranges were not available.


InitAmiBufferValidationLib in the AmiBufferValidationLib.h

Function : InitAmiBufferValidationLib

File: AmiBufferValidationLib.h
Description:
Performs the necessary initialization so that the buffer validation functions will operate
   correctly when they are called.
Input:
IN EFI_HANDLE ImageHandle - The handle of this image
IN EFI_SYSTEM_TABLE *SystemTable - Pointer to the EFI_SYSTEM_TABLE
Output:
EFI_NOT_FOUND - The Smm Access protocol could not be found
EFI_OUT_OF_RESOURCES - An allocation failed because it could not find any memory resources
EFI_INVALID_PARAMETER - An invalid parameter was passed to one of the functions
EFI_SUCCESS - The necessary functions were initialized


AmiBufferValidationLib.mak

Description:


SmmAmiBufferValidationLib.c

Description:
Source file that defines the AmiBufferValidationLib functions
used for validating that buffer addresses and MMIO addreses
do not reside in SMM. The file also provides a function to
validate that a buffer does reside in SMM.

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

Function | Description
AmiValidateMemoryBuffer | Function verifies the buffer to make sure its address range is legal for a memory buffer. A legal memory buffer is one that lies entirely outside of SMRAM. SMI handlers that receive buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using it or passing to other SMM interfaces.
AmiValidateMmioBuffer | Function verifies the buffer to make sure its address range is legal for a MMIO buffer. A legal MMIO buffer is one that lies entirely outside of SMRAM. SMI handlers that receive a buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using the MMIO Buffer or passing to other SMM interfaces.
AmiValidateSmramBuffer | Function verifies the buffer to make sure it wholly resides in the SMRAM.
InitAmiBufferValidationLib | Performs the necessary initialization so that the buffer validation functions will operate correctly when they are called.


AmiValidateMemoryBuffer in the SmmAmiBufferValidationLib.c

Function : AmiValidateMemoryBuffer

File: SmmAmiBufferValidationLib.c
Description:
Function verifies the buffer to make sure its address range is legal for a memory buffer. A legal memory
   buffer is one that lies entirely outside of SMRAM.  SMI handlers that receive buffer address and/or size
   from outside of SMM at runtime must validate the buffer using this function prior to using it or passing
   to other SMM interfaces.
Input:
VOID *Buffer - Buffer address
UINTN BufferSize - Size of the Buffer
Output:
EFI_SUCCESS - The buffer address range is valid and can be safely used.
EFI_ACCESS_DENIED - The buffer can't be used because its address range overlaps with protected area such as SMRAM.
EFI_INVALID_PARAMETER - The buffer can't be used because its address range is invalid.
EFI_NOT_FOUND - The buffer can't be used because its validity cannot be verified. Normally due to the SMRAM ranges were not available.


AmiValidateMmioBuffer in the SmmAmiBufferValidationLib.c

Function : AmiValidateMmioBuffer

File: SmmAmiBufferValidationLib.c
Description:
Function verifies the buffer to make sure its address range is legal for a MMIO buffer.  A legal MMIO buffer is one that lies
   entirely outside of SMRAM.  SMI handlers that receive a buffer address and/or size from outside of SMM at runtime must validate
   the buffer using this function prior to using the MMIO Buffer or passing to other SMM interfaces.
Input:
VOID *Buffer - Buffer address
UINTN BufferSize - Size of the Buffer
Output:
EFI_SUCCESS - The buffer address range is valid and can be safely used.
EFI_ACCESS_DENIED - The buffer can't be used because its address range overlaps with protected area such as SMRAM.
EFI_INVALID_PARAMETER - The buffer can't be used because its address range is invalid.
EFI_NOT_FOUND - The buffer can't be used because its validity cannot be verified. Normally due to the SMRAM ranges were not available.


AmiValidateSmramBuffer in the SmmAmiBufferValidationLib.c

Function : AmiValidateSmramBuffer

File: SmmAmiBufferValidationLib.c
Description:
Function verifies the buffer to make sure it wholly resides in the SMRAM.
Input:
IN VOID *Buffer - Buffer address
IN UINTN BufferSize - Size of the Buffer
Output:
EFI_SUCCESS - The buffer resides in the SMRAM and can be safely used.
EFI_ACCESS_DENIED - The buffer can't be used because at least one byte of the buffer is outside of SMRAM.
EFI_INVALID_PARAMETER - The buffer can't be used because its address range is invalid.
EFI_NOT_FOUND - The buffer can't be used because its validity cannot be verified. Normally due to the SMRAM ranges were not available.


InitAmiBufferValidationLib in the SmmAmiBufferValidationLib.c

Function : InitAmiBufferValidationLib

File: SmmAmiBufferValidationLib.c
Description:
Performs the necessary initialization so that the buffer validation functions will operate
   correctly when they are called.
Input:
IN EFI_HANDLE ImageHandle - The handle of this image
IN EFI_SYSTEM_TABLE *SystemTable - Pointer to the EFI_SYSTEM_TABLE
Output:
EFI_NOT_FOUND - The Smm Access protocol could not be found
EFI_OUT_OF_RESOURCES - An allocation failed because it could not find any memory resources
EFI_INVALID_PARAMETER - An invalid parameter was passed to one of the functions
EFI_SUCCESS - The necessary functions were initialized


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
  • I


Functions in Alphabetical Order

A

Function | Description
AmiValidateMemoryBuffer | Function verifies the buffer to make sure its address range is legal for a memory buffer. A legal memory buffer is one that lies entirely outside of SMRAM. SMI handlers that receive buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using it or passing to other SMM interfaces.
AmiValidateMemoryBuffer | Function verifies the buffer to make sure its address range is legal for a memory buffer. A legal memory buffer is one that lies entirely outside of SMRAM. SMI handlers that receive buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using it or passing to other SMM interfaces.
AmiValidateMmioBuffer | Function verifies the buffer to make sure its address range is legal for a MMIO buffer. A legal MMIO buffer is one that lies entirely outside of SMRAM. SMI handlers that receive a buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using the MMIO Buffer or passing to other SMM interfaces.
AmiValidateMmioBuffer | Function verifies the buffer to make sure its address range is legal for a MMIO buffer. A legal MMIO buffer is one that lies entirely outside of SMRAM. SMI handlers that receive a buffer address and/or size from outside of SMM at runtime must validate the buffer using this function prior to using the MMIO Buffer or passing to other SMM interfaces.
AmiValidateSmramBuffer | Function verifies the buffer to make sure it wholly resides in the SMRAM.
AmiValidateSmramBuffer | Function verifies the buffer to make sure it wholly resides in the SMRAM.


Functions in Alphabetical Order

I

Function | Description
InitAmiBufferValidationLib | Performs the necessary initialization so that the buffer validation functions will operate correctly when they are called.
InitAmiBufferValidationLib | Performs the necessary initialization so that the buffer validation functions will operate correctly when they are called.


General Information


Release Notes - NDA Required

Component Information:
Component Title: AmiBufferValidationLib
Component Reference Name: AmiBufferValidationLib
Component Type: eModule
Release Date: 2014-11-26
Source Control Label: AmiBufferValidationLib_01
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib/
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: EFI_SMM_ACCESS2_PROTOCOL
Dependent Protocol GUID: {0xc2702b74,0x800c,0x4131,0x87,0x46,0x8f,0xb5,0xb8,0x9c,0xe4,0xac}
TWO
Dependent Protocol Name: EFI_SMM_BASE2_PROTOCOL
Dependent Protocol GUID: {0xf4ccbfb7,0xf6e0,0x47fd,0x9d,0xd4,0x10,0xa8,0xf1,0x50,0xc1,0x91}
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
This library provides three functions that allow the validation of buffers (both memory and MMIO) in relation to the SMRAM region. These functions will allow a module to verify that a memory or MMIO buffer does not fall within the region of memory that corresponds to SMRAM. A third function allows for validation that a buffer is fully contained inside of the SMRAM region.
Modules that wish to use this library should include the $(BUILD_DIR)\AmiBufferValidationLib.lib in their MAK file, and should call the InitAmiBufferValidationLib(...) function from their module entry point.
Filename | Description
Main Component | Library\
AmiBufferValidationLib.cif | Main CIF file for the component
AmiBufferValidationLib.sdl | SDL file for the component
AmiBufferValidationLib.mak | Make file for the component
AmiBufferValidationLib.chm | Help file containing release notes and module information.
SmmAmiBufferValidationLib.c | Source file that defines the AmiBufferValidationLib functions used for validating that buffer addresses and MMIO addresses do not reside in SMM. The file also provides a function to validate that a buffer does reside in SMM.
AmiBufferValidationLib Include | Include\ - Provides the library function prototypes for inclusion by other modules.
AmiBufferValidationLib.h | Header file that defines the AmiBufferValidationLib functions
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-21
Visual eBios: RSS.5.72.0220, Dated: 2012-01-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
Added TargetH to the AmiBufferValidationLib_SUPPORT sdl token.
Updated the function headers to more closely match the AptioV information.
General Bug Fixes and EIP Addressed in this Label:
NONE
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:
Modified the BootScriptHide emodule to use the AmiBufferValidationLib to verify BootScriptTable address does not fall within the SMRAM region.
Modified the BootScriptHide emodule to verify the SMRAM address that the BootScripts are being saved into falls entirely into the SMRAM region.
Validation Testing:
None
Release History:
AmiBufferValidationLib_00

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: AmiBufferValidationLib
Component Reference Name: AmiBufferValidationLib
Component Type: eModule
Release Date: 2014-11-11
Source Control Label: AmiBufferValidationLib_00
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib/
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: EFI_SMM_ACCESS2_PROTOCOL
Dependent Protocol GUID: {0xc2702b74,0x800c,0x4131,0x87,0x46,0x8f,0xb5,0xb8,0x9c,0xe4,0xac}
TWO
Dependent Protocol Name: EFI_SMM_BASE2_PROTOCOL
Dependent Protocol GUID: {0xf4ccbfb7,0xf6e0,0x47fd,0x9d,0xd4,0x10,0xa8,0xf1,0x50,0xc1,0x91}
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
This library provides three functions that allow the validation of buffers (both memory and MMIO) in relation to the SMRAM region. These functions will allow a module to verify that a memory or MMIO buffer does not fall within the region of memory that corresponds to SMRAM. A third function allows for validation that a buffer is fully contained inside of the SMRAM region.
Modules that wish to use this library should include the $(BUILD_DIR)\AmiBufferValidationLib.lib in their MAK file, and should call the InitAmiBufferValidationLib(...) function from their module entry point.
Filename | Description
Main Component | Library\
AmiBufferValidationLib.cif | Main CIF file for the component
AmiBufferValidationLib.sdl | SDL file for the component
AmiBufferValidationLib.mak | Make file for the component
AmiBufferValidationLib.chm | Help file containing release notes and module information.
SmmAmiBufferValidationLib.c | Source file that defines the AmiBufferValidationLib functions used for validating that buffer addresses and MMIO addresses do not reside in SMM. The file also provides a function to validate that a buffer does reside in SMM.
AmiBufferValidationLib Include | Include\ - Provides the library function prototypes for inclusion by other modules.
AmiBufferValidationLib.h | Header file that defines the AmiBufferValidationLib functions
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-21
Visual eBios: RSS.5.72.0220, Dated: 2012-01-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
NONE
General Bug Fixes and EIP Addressed in this Label:
NONE
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:
Modified the BootScriptHide emodule to use the AmiBufferValidationLib to verify BootScriptTable address does not fall within the SMRAM region.
Modified the BootScriptHide emodule to verify the SMRAM address that the BootScripts are being saved into falls entirely into the SMRAM region.
Validation Testing:
None
Release History:
None

© American Megatrends Inc.


Release Notes - NDA Required

Component Information:
Component Title: AmiBufferValidationLib
Component Reference Name: AmiBufferValidationLib
Component Type: eModule
Release Date: 2014-12-30
Source Control Label: AmiBufferValidationLib_02
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/AmiBufferValidationLib/
Dependencies
Component Dependencies
N0NE

File Dependencies
N0NE

Protocol Dependencies
ONE
Dependent Protocol Name: EFI_SMM_BASE2_PROTOCOL
Dependent Protocol GUID: {0xf4ccbfb7,0xf6e0,0x47fd,0x9d,0xd4,0x10,0xa8,0xf1,0x50,0xc1,0x91}
TWO
Dependent Protocol Name: EFI_SMM_ACCESS2_PROTOCOL
Dependent Protocol GUID: {0xc2702b74,0x800c,0x4131,0x87,0x46,0x8f,0xb5,0xb8,0x9c,0xe4,0xac}
THREE
Dependent Protocol Name: EFI_SMM_ACCESS_PROTOCOL
Dependent Protocol GUID: {0x3792095a,0xe309,0x4c1e,0xaa,0x01,0x85,0xf5,0x65,0x5a,0x17,0xf1}
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
Component Description:
This library provides three functions that allow the validation of buffers (both memory and MMIO) in relation to the SMRAM region. These functions will allow a module to verify that a memory or MMIO buffer does not fall within the region of memory that corresponds to SMRAM. A third function allows for validation that a buffer is fully contained inside of the SMRAM region.
Modules that wish to use this library should include the $(BUILD_DIR)\AmiBufferValidationLib.lib in their MAK file, and should call the InitAmiBufferValidationLib(...) function from their module entry point.
Filename | Description
Main Component | Library\
AmiBufferValidationLib.cif | Main CIF file for the component
AmiBufferValidationLib.sdl | SDL file for the component
AmiBufferValidationLib.mak | Make file for the component
AmiBufferValidationLib.chm | Help file containing release notes and module information.
SmmAmiBufferValidationLib.c | Source file that defines the AmiBufferValidationLib functions used for validating that buffer addresses and MMIO addresses do not reside in SMM. The file also provides a function to validate that a buffer does reside in SMM.
AmiBufferValidationLib Include | Include\ - Provides the library function prototypes for inclusion by other modules.
AmiBufferValidationLib.h | Header file that defines the AmiBufferValidationLib functions
AMI Build Tools:
Tools Label: 4.5.5_TOOLS_41, Dated: 2013-04-21
Visual eBios: RSS.5.72.0220, Dated: 2012-01-04
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
Support added for using the SmmAccess protocol for pre PI1.2 projects.
Support added for older cores (pre 4.6.5.0)
General Bug Fixes and EIP Addressed in this Label:
NONE
Files Changed for General Bug Fixes and EIP Addressed in this Label:
SmmAmiBuffervalidationLib.c - Added support for pre PI1.2 projects, and pre 4.6.5.0 cores
AmiBufferValidationLib.h - Corrected InitAmiBufferValidationLib prototype (always returned EFI_STATUS, prototype now reflects it)
Known Limitations and Erratas in this label:
NONE
Remaining Issues:
NONE
Unit Testing:
Modified the BootScriptHide emodule to use the AmiBufferValidationLib to verify BootScriptTable address does not fall within the SMRAM region.
Modified the BootScriptHide emodule to verify the SMRAM address that the BootScripts are being saved into falls entirely into the SMRAM region.
Used 4.6.4.0 based project to add module and verify building. Verified that addition of module to older project did not prevent booting
Validation Testing:
None
Release History:
AmiBufferValidationLib_01
AmiBufferValidationLib_00

© American Megatrends Inc.