American Megatrends, Inc.

OFBD_Help

Copyright

Release Notes

© American Megatrends, Inc.


Copyright

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

Copyright (c) 1999-2016 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: On Flash Block Description (APTIO)
Component Reference Name: OFBD_eModule
Component Type: eModule
Release Date: 2016-01-29
Source Control Label:4.6.3.2_OFBD.1.0.6
Source Control Location: SS: Alaska;$/Alaska/SOURCE/Modules/OFBD;

Dependencies
N0NE
Component Description:
Emodule Name: On Flash Block Description (APTIO)
Emodule Description: As we known, SMIFlash is the module required for AMI's flash utilities. But it is hard to solve requests from Non-Generic OEM function supporting, for example putting signatures in runtime for utility to search. The Flash Utility with On Flash Block Description (OFBD) can provide OEM specific requirement functions. In doing so, BIOS can have wide range of capability to control Flash Utility progress, for example: disable BootBlock flash even flash BootBlock command is issued by end user and be able to know which command is issued by end user then BIOS side can implement extensible function toward those issued command. For more detail about the model of BIOS and utility co-work, please refer to AMI_Aptio_4.x_OFBD_Porting_Guide_NDA.doc document.
Filename | Description
OFBD.cif | Component information file for the eModule.
OFBD.sdl | Contains BIOS build parameters.
OFBD.mak | Make file becomes part of the BIOS build process.
OFBD.dxs | This file contains list of the dependent GUID for OFBD Driver.
OFBD.c (i).OFBD SMI Handlers.
(ii).Install OFBD SMI Handlers.
(iii).OFBD Entry Point.
(iv).Check address to avoid TSEG area.
(v).Install OFBD SMI Handlers.
OFBD.h | Files that contain OFBD Related Functions declaration and Protocols definition.
OFBD_Help.chm | File that provide necessary information about OFBD.

ModulePart Name: OFBD AC/Battery check
ModulePart Description: OFBD AC/Battery check.
Filename | Description
BATTERYCHECK.sdl | Contains BIOS build parameters.
BATTERYCHECK.mak | Make file becomes part of the BIOS build process.
BATTERYCHECK.c | (i).OFBD AC/Battery check Handle. (ii).OFBD Battery Check Header Handle Entry Point.
BATTERYCHECK.h | Files that contain OEM can control AC/Battery status check Related Functions declaration and Protocols definition.
BATTERYCHECK.cif | ModulePart information file for the eModule.
ModulePart Name: AFU Default Command Configuration
ModulePart Description: AFU Default Command Configuration provide which command should or should not be issued in default.
Filename | Description
DefCfg.sdl | Contains BIOS build parameters.
DefCfg.mak | Make file becomes part of the BIOS build process.
DefCfg.c | (i).AFU Default Command Configuration Handle. (ii).AFU Default Command Configuration Entry Point.
DefCfg.h | Files that contain AFU Default Command Configuration Related Functions declaration and Protocols definition.
DefCfg.cif | ModulePart information file for the eModule.
ModulePart Name: OEM CMD Checking
ModulePart Description: Checking which have to do and when should be done in AFU if /OEMSMI:(Hex) commend is issued.
Filename | Description
OEMCMD.sdl | Contains BIOS build parameters.
OEMCMD.mak | Make file becomes part of the BIOS build process.
OEMCMD.c | (i).OEM CMD Checking Handle. (ii).OEM CMD Checking Entry Point.
OEMCMD.h | Files that contain OEM CMD Checking Related Functions declaration and Protocols definition.
OEMCMD.cif | ModulePart information file for the eModule.
ModulePart Name: Embedded Controller Flash
ModulePart Description: Including functions of Embedded Controller.
Filename | Description
StdEC.sdl | Contains BIOS build parameters.
StdEC.mak | Make file becomes part of the BIOS build process.
StdEC.c | (i).Waits for Output Buffer Full and then reads the data port. (ii).Writes command to KBC. (iii).Writes data to KBC. (iv).EC command. (v).Computes EC data checksum. (vi).USB Keyboard Mouse Disable. (vii).USB Keyboard Mouse Enable. (viii).EC firmware entry flash mode and start transmit data. (ix).EC firmware to transmit data. (x).EC firmware leave flash mode and finished transmit data. (xi).OFBD Standard EC Flash Handle. (xii).OFBD Standard EC Flash Entry Point.
StdEC.h | Files that contain Embedded Controller Related Functions declaration and Protocols definition.
StdEC.cif | ModulePart information file for the eModule.
ModulePart Name: OEM ROM ID Checking
ModulePart Description: Checking if OEM ROM ID is legal.
Filename | Description
OEMROMID.sdl | Contains BIOS build parameters.
OEMROMID.mak | Make file becomes part of the BIOS build process
OEMROMID.c | (i).OEM ROM ID Get Handle. (ii).OEM ROM ID Checking Handle. (iii).OEM ROM ID Checking Entry Point.
OEMROMID.h | Files that contain OEM ROM ID Checking Related Functions declaration and Protocols definition
OEMROMID.cif | ModulePart information file for the eModule.
ModulePart Name: OEM Password Checking
ModulePart Description: Checking if OEM Password is correct.
Filename | Description
OEMPwdCk.sdl | Contains BIOS build parameters.
OEMPwdCk.mak | Make file becomes part of the BIOS build process.
OEMPwdCk.c | (i).OEM Password Get Handle. (ii).OEM Password Checking Handle. (iii).OEM Password Checking Entry Point.
OEMPwdCk.h | Files that contain OEM Password Checking Related Functions declaration and Protocols definition.
OEMPwdC.cif | ModulePart information file for the eModule.
ModulePart Name: OEM NVRAM/Setup Variable Preserve
ModulePart Description: Store/Restore OFBD steup or DMI data.
Filename | Description
OEMSETUP.sdl | Contains BIOS build parameters.
OEMSETUP.mak | Make file becomes part of the BIOS build process.
OEMSETUP.c | (i).OEM SETUP Store/Restore Support Handle. (ii).OEM SETUP Store Handle. (iii).OEM SETUP Restore Handle. (iv).OEM DMI Data Store Handle. (v).OEM DMI Data Restore Handle. (vi).OEM NVRAM/SETUP Store/Restore Entry point.
OEMSETUP.h | Files that contain OEM NVRAM/Setup Variable Preserve Related Functions declaration and Protocols definition.
OEMSETUP.cif | ModulePart information file for the eModule.
ModulePart Name: OEM ROM HOLE Checking
ModulePart Description: Checking OEM self-defined ROM Hole.
Filename | Description
OEMROMHOLE.sdl | Contains BIOS build parameters.
OEMROMHOLE.mak | Make file becomes part of the BIOS build process.
OEMROMHOLE.c | (i).OEM String Handle. (ii).OEM ROM HOLE Checking Handle. (iii).OEM ROM HOLE Entry Point.
OEMROMHOLE.h | Files that contain OEM ROM HOLE Checking Related Functions declaration and Protocols definition.
OEMROMHOLE.cif | ModulePart information file for the eModule.
ModulePart Name: Clean Gpnv Error Log
ModulePart Description: For clean error log.
Filename | Description
CleanErrorLog.sdl | Contains BIOS build parameters.
CleanErrorLog.mak | Make file becomes part of the BIOS build process.
CleanErrorLog.c | (i).Locate SmiFlash protocol callback. (ii).Clear event log in SMM Function. (iii).Clean Gpnv Error Log Handle. (iv).Clean Gpnv Error Log Entry Point.
CleanErrorLog.h | Files that contain Clean Gpnv Error Log Related Functions declaration and Protocols definition.
CleanErrorLog.cif | ModulePart information file for the eModule.
ModulePart Name: OEM OA Data Handle
ModulePart Description: For OEM to update the OA data.
Filename | Description
OEMOAHandle.sdl | Contains BIOS build parameters.
OEMOAHandle.mak | Make file becomes part of the BIOS build process.
OEMOAHandle.c | (i).OFBD OEM OA data handle. (ii).OFBD OEM OA data handle entry point.
OEMOAHandle.h | Files that contain OEM OA Data Handle Related Functions declaration and Protocols definition.
OEMOAHandle.cif | ModulePart information file for the eModule.
Non-Compiled BIN and LIB File(s) within this Component:
N0NE
AMI Build Tools:
Tools Label: 4.5.5_Tools_32, Dated: 2010-04-24
Visual eBios: RSS.5.69.0137, Dated: 2010-04-20
Compiler Tool(s): Microsoft Windows Driver Kit (WDK) Ver. 7600.16385.1
New features added in this label:
N0NE
General Bug Fixes:
Change the SMRAM corruption validation rules to use AmiBufferValidationLib module.
EIP addressed in this label:
#253222
Files changed for EIP fixes:
OFBD.c
OFBD.sdl
Known issues and limitations in this label:
N0NE
Remaining Issues:
N0NE
Unit Testing:
N0NE
Validation Testing:
N0NE
Release History:
4.6.3.2_OFBD.1.0.0, 2010-05-06
Initial Check-in.
4.6.3.2_OFBD.1.0.1, 2011-04-29
Supplying Clean Gpnv Error Log.
4.6.3.2_OFBD.1.0.2, 2011-10-27
Supplying Secure Flash Update.
Supplying OEM OA Update.
4.6.3.2_OFBD.1.0.3, 2012-10-12
Support reserve DMI data for AFU flash utility with /R command in Secure Flash Capsule mode.
Add new command status for GAN support.
Add new Return Statuses of Type Code 51 for AFU general.
Supplying OFBD AC/Battery check.
4.6.3.2_OFBD.1.0.4, 2013-07-12
Add the Not InSmmFuncList support.
Limited write into SMRAM via OFBD SMM driver - BugID 305380.
4.6.3.2_OFBD.1.0.5, 2013-08-16
Add the AFU's /Kn and /Ln two commands status control.
Update modules to be compliant with PI 1.2 and UEFI 2.3.1 specifications.
Fixed the new Tseg check function caused the Win/Linux system hang up.
4.6.3.2_OFBD.1.0.6, 2016-01-29
Update for AMISV035 SMM vulnerability.

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

  • BATTERYCHECK.c
  • BATTERYCHECK.h
  • BATTERYCHECK.mak
  • CleanErrorLog.c
  • CleanErrorLog.h
  • CleanErrorLog.mak
  • DefCfg.c
  • DefCfg.h
  • DefCfg.mak
  • OEMCMD.c
  • OEMCMD.h
  • OEMCMD.mak
  • OEMOAHandle.c
  • OEMOAHandle.h
  • OEMOAHandle.mak
  • OEMPwdCk.c
  • OEMPwdCk.h
  • OEMPwdCk.mak
  • OEMROMHOLE.c
  • OEMROMHOLE.h
  • OEMROMHOLE.mak
  • OEMROMID.c
  • OEMROMID.h
  • OEMROMID.mak
  • OEMSETUP.c
  • OEMSETUP.h
  • OEMSETUP.mak
  • OFBD.c
  • OFBD.dxs
  • OFBD.h
  • OFBD.mak
  • StdEC.c
  • StdEC.h
  • StdEC.mak
Built on 15:08:28 08/16/13


BATTERYCHECK.c

Description:

This function is used for OEM can decided AFU flash behavior, when
AC/Battery is under warning status and can output the OEM String message
to the flash utility.

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

Function | Description
BatteryCheckEntry | OFBD Battery Check Header Handle Entry Point
OFBDBATTERYCHECK | OFBD AC/Battery check


BatteryCheckEntry in the BATTERYCHECK.c

Function : BatteryCheckEntry

File: BATTERYCHECK.c
Description:
OFBD Battery Check Header Handle Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDBATTERYCHECK in the BATTERYCHECK.c

Function : OFBDBATTERYCHECK

File: BATTERYCHECK.c
Description:
OFBD AC/Battery check
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


BATTERYCHECK.h

Description:
Header file for the BATTERYCHECK


BATTERYCHECK.mak

Description:
Make file for the BatteryCheck.obj


CleanErrorLog.c

Description:
This function is used to Clean Error Log. For example,AFU will call this function to clean error log when
/CLNEVNLOG is issued.

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

Function | Description
CleanErrorLogCallback | Locate SmiFlash protocol callback
CleanErrorLogEntry | OFBD Clean Gpnv Error Log Entry Point
CleanErrorLogInSmm | OFBD Clear event log InSmm Function
OFBDCleanErrorLogHandle | OFBD Clean Gpnv Error Log Handle


CleanErrorLogCallback in the CleanErrorLog.c

Function : CleanErrorLogCallback

File: CleanErrorLog.c
Description:
Locate SmiFlash protocol callback
Input:
IN EFI_EVENT    Event
IN VOID         *Context
Output:
VOID


CleanErrorLogEntry in the CleanErrorLog.c

Function : CleanErrorLogEntry

File: CleanErrorLog.c
Description:
OFBD Clean Gpnv Error Log Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


CleanErrorLogInSmm in the CleanErrorLog.c

Function : CleanErrorLogInSmm

File: CleanErrorLog.c
Description:
OFBD Clear event log InSmm Function
Input:
VOID
Output:
VOID


OFBDCleanErrorLogHandle in the CleanErrorLog.c

Function : OFBDCleanErrorLogHandle

File: CleanErrorLog.c
Description:
OFBD Clean Gpnv Error Log Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


CleanErrorLog.h

Description:
Header file for the CleanErrorLog


CleanErrorLog.mak

Description:
Make file for the CleanErrorLog.obj


DefCfg.c

Description:
OFBD Default Command Configuration provides BIOS an oppertunity to override end user issued command in AFU.

For example, BIOS could disable /k command even user issued it in AFU, or automatically enable /b when /p
is issued.

For AFU¡¦s "/Ln" and "/Kn" two commands parameter identify. That AFU will replace the OFBD_EXT_TBL_END data
from 0xFFFF55AA to OFBD_TC_51_DC_EXT_STRUCT. Therefore, BIOS can through the "ddIndexCfg" flag to identify
who is this command structure. (The AFU version 3.05.1 or later supports.)

Please reference OFBDDEFCFGHandle for more details.

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

Function | Description
DEFCFGEntry | OFBD Default Command Configuration Entry Point
OFBDDEFCFGHandle | OFBD Default Command Configuration Handle


DEFCFGEntry in the DefCfg.c

Function : DEFCFGEntry

File: DefCfg.c
Description:
OFBD Default Command Configuration Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDDEFCFGHandle in the DefCfg.c

Function : OFBDDEFCFGHandle

File: DefCfg.c
Description:
OFBD Default Command Configuration Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


DefCfg.h

Description:
Header file for the DefCfg


DefCfg.mak

Description:
Make file for the DefCfg.obj


OEMCMD.c

Description:
By OEMCMD module, OEM engineers define customized commands to extend AFU functions. AFU sends OEM defined commands
to BIOS if user issued /oemcmd:<command>. Then BIOS reacts by these customized commands.

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

Function | Description
OEMCMDEntry | OFBD OEM CMD CHECKING Entry Point
OFBDOEMCMDHandle | OFBD OEM CMD Handle


OEMCMDEntry in the OEMCMD.c

Function : OEMCMDEntry

File: OEMCMD.c
Description:
OFBD OEM CMD CHECKING Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDOEMCMDHandle in the OEMCMD.c

Function : OFBDOEMCMDHandle

File: OEMCMD.c
Description:
OFBD OEM CMD Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OEMCMD.h

Description:
Header file for the OEMCMD


OEMCMD.mak

Description:
Make file for the OEMCMD.obj


OEMOAHandle.c

Description:

This function is used for OEM can receive the OA data, and then decide what to do.

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

Function | Description
OemOAHandleEntry | OFBD Oem OA Data Handle Entry Point
OFBDOemOADataHandle | OFBD Oem OA Data Handle


OemOAHandleEntry in the OEMOAHandle.c

Function : OemOAHandleEntry

File: OEMOAHandle.c
Description:
OFBD Oem OA Data Handle Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDOemOADataHandle in the OEMOAHandle.c

Function : OFBDOemOADataHandle

File: OEMOAHandle.c
Description:
OFBD Oem OA Data Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OEMOAHandle.h

Description:
Header file for the OemOAHandle


OEMOAHandle.mak

Description:
Make file for the OemOAHandle.obj


OEMPwdCk.c

Description:
Password Check protocol is for BIOS to indicate AFU that BIOS password exists and needs to initiate password
checking before flashing BIOS. AFU will set OEM_PC_CK in dbGetCkSts field and send OFBD data to BIOS to report
password checking is required or not.

If password check function is requested then BIOS should fill out password length in dwPwdLen field. Afterward AFU
asks user to input password with specified password length given from BIOS in field dwPwdLen and fill user input
password in memory buffer after signature of OFBD_EXT_TBL_END for BIOS to do the comparison.

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

Function | Description
OFBDEntryPoint | OFBD OEM Password CHECK Entry Point
OFBDPwdCheckHandle | OFBD Password Check Handle
OFBDPwdGetHandle | OFBD Password Get Handle


OFBDEntryPoint in the OEMPwdCk.c

Function : OFBDEntryPoint

File: OEMPwdCk.c
Description:
OFBD OEM Password CHECK Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDPwdCheckHandle in the OEMPwdCk.c

Function : OFBDPwdCheckHandle

File: OEMPwdCk.c
Description:
OFBD Password Check Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDPwdGetHandle in the OEMPwdCk.c

Function : OFBDPwdGetHandle

File: OEMPwdCk.c
Description:
OFBD Password Get Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OEMPwdCk.h

Description:
Header file for the OEMPwdCk


OEMPwdCk.mak

Description:
Make file for the OEMPwdCk.obj


OEMROMHOLE.c

Description:
Unlike the same name module in CORE8. Due to AFUAPTIO has ability to identify ROM hole location and size in ROM
file. This function is only used to provide AFU the messages to show on screen if user tries to flash sesitive data
in ROM hole.

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

Function | Description
OEMROMHOLEEntry | OFBD OEM ROM HOLE Entry Point
OFBDOemStrHandle | OFBD OEM STRING Handle This routine will output the OEM String message to the flash utility.
OFBDRomHoleCheckHandle | OFBD Rom Hole Check Handle


OEMROMHOLEEntry in the OEMROMHOLE.c

Function : OEMROMHOLEEntry

File: OEMROMHOLE.c
Description:
OFBD OEM ROM HOLE Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDOemStrHandle in the OEMROMHOLE.c

Function : OFBDOemStrHandle

File: OEMROMHOLE.c
Description:
OFBD OEM STRING Handle

This routine will output the OEM String message to the flash utility.
Input:
IN OUT  OFBD_HDR    *pOFBDHdr
IN      char        *OEMSTR
IN      EFI_GUID    *ROMHOLEGUID
IN      BOOLEAN     IsAppend
Output:
EFI_STATUS


OFBDRomHoleCheckHandle in the OEMROMHOLE.c

Function : OFBDRomHoleCheckHandle

File: OEMROMHOLE.c
Description:
OFBD Rom Hole Check Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OEMROMHOLE.h

Description:
Header file for the OEMROMHOLE


OEMROMHOLE.mak

Description:
Make file for the OEMROMHOLE.obj


OEMROMID.c

Description:
OEM Rom ID Check protocol is for Flash utility to send customer defined specific ROM ID for BIOS to ID version
checking uses.

BIOS should provide inserted ROM file's specific ROM ID location and then check it, when ID is given by Flash
Utility after OFBD_EXT_TBL_END.

Moreover, Flash utility will have corresponding action, either stop flashing BIOS.

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

Function | Description
OFBDEntryPoint | OFBD OEM ROMID CHECK Entry Point
OFBDORICheckHandle | OFBD OEM ROM ID Check Handle
OFBDORIGetHandle | OFBD OEM ROM ID Get Handle


OFBDEntryPoint in the OEMROMID.c

Function : OFBDEntryPoint

File: OEMROMID.c
Description:
OFBD OEM ROMID CHECK Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDORICheckHandle in the OEMROMID.c

Function : OFBDORICheckHandle

File: OEMROMID.c
Description:
OFBD OEM ROM ID Check Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDORIGetHandle in the OEMROMID.c

Function : OFBDORIGetHandle

File: OEMROMID.c
Description:
OFBD OEM ROM ID Get Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OEMROMID.h

Description:
Header file for the OEMROMID


OEMROMID.mak

Description:
Make file for the OEMROMID.obj


OEMSETUP.c

Description:
Basically this function is not always necessary for all projects, because there is a more direct method to achieve
the same target. Two E-Links exposed by SMIFlash module, SMIFlashPreUpdateList and SMIFlashEndUpdateList, are made
for doing the same thing as this OFBD module.

We prefer you make use of E-Links than this OFBD module. The only advantage of this OFBD module is you don't have
to link your code with SMIFlash module.If DMI data is stored in the NVRAM, you have two ways to preserve DMI data
when updating NVRAM.

1. Controlled by SMBIOS module: SMBIOS module can set SMBIOS_PRESERVE_NVRAM token to preserves DMI data through
e-Link PreserveDmiEditData and RestoreDmiEditData.

2. Controlled By Flash utility: AFU will call into OEMSETUP.c only when user issues /r or /sp command. When
SMBIOS_PRESERVE_NVRAM token is disable, OEM enginner can set OEMSETUP_SUPPORT token to handle the duty of DMI data
preservation through OEM NVRAM/Setup Variable Preserve module. Thus user can decide to clear DMI data or not.
In this case, /n parameter will clear NVRAM, and /r parameter is required to preserve DMI data in NVRAM. When /n is
triggered, without /r all DMI data in NVRAM will be cleared.

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

Function | Description
OEMSETUPEntry | OFBD NVRAM/SETUP Store/Restore Entry point
OFBDDMIRestoreHandle | OFBD DMI Data Restore Handle
OFBDDMIStoreHandle | OFBD DMI Data Store Handle
OFBDSETUPRestoreHandle | OFBD SETUP Restore Handle
OFBDSETUPStoreHandle | OFBD SETUP Store Handle
OFBDSETUPSupportHandle | OFBD SETUP Store/Restore Support Handle


OEMSETUPEntry in the OEMSETUP.c

Function : OEMSETUPEntry

File: OEMSETUP.c
Description:
OFBD NVRAM/SETUP Store/Restore Entry point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDDMIRestoreHandle in the OEMSETUP.c

Function : OFBDDMIRestoreHandle

File: OEMSETUP.c
Description:
OFBD DMI Data Restore Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDDMIStoreHandle in the OEMSETUP.c

Function : OFBDDMIStoreHandle

File: OEMSETUP.c
Description:
OFBD DMI Data Store Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDSETUPRestoreHandle in the OEMSETUP.c

Function : OFBDSETUPRestoreHandle

File: OEMSETUP.c
Description:
OFBD SETUP Restore Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDSETUPStoreHandle in the OEMSETUP.c

Function : OFBDSETUPStoreHandle

File: OEMSETUP.c
Description:
OFBD SETUP Store Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDSETUPSupportHandle in the OEMSETUP.c

Function : OFBDSETUPSupportHandle

File: OEMSETUP.c
Description:
OFBD SETUP Store/Restore Support Handle
Input:
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OEMSETUP.h

Description:
Header file for the OEMSETUP


OEMSETUP.mak

Description:
Make file for the OEMSETUP.obj


OFBD.c

Description:
This is the main file of OFBD module. We setup OFBD SMI handler here. Please also refer to Aptio SMM Module Porting
guide.

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

Function | Description
CheckAddressRange | Check address to avoid TSEG area.
InSmmFunction | Install OFBD SMI Handlers.
NotInSmmFunction | Install OFBD SMI Handlers.
OFBDEntryPoint | The main entry point of OFBD module.
OFBDSMIHandler | OFBD SMI Handlers.


CheckAddressRange in the OFBD.c

Function : CheckAddressRange

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


InSmmFunction in the OFBD.c

Function : InSmmFunction

File: OFBD.c
Description:
Install OFBD SMI Handlers.
Input:
IN EFI_HANDLE           ImageHandle
OUT EFI_SYSTEM_TABLE    *SystemTable
Output:
EFI_STATUS


NotInSmmFunction in the OFBD.c

Function : NotInSmmFunction

File: OFBD.c
Description:
Install OFBD SMI Handlers.
Input:
IN EFI_HANDLE           ImageHandle
OUT EFI_SYSTEM_TABLE    *SystemTable
Output:
EFI_STATUS


OFBDEntryPoint in the OFBD.c

Function : OFBDEntryPoint

File: OFBD.c
Description:
The main entry point of OFBD module.
Input:
IN EFI_HANDLE           ImageHandle
OUT EFI_SYSTEM_TABLE    *SystemTable
Output:
EFI_STATUS


OFBDSMIHandler in the OFBD.c

Function : OFBDSMIHandler

File: OFBD.c
Description:
OFBD SMI Handlers.
Input:
IN	EFI_HANDLE					DispatchHandle,
IN	EFI_SMM_SW_DISPATCH_CONTEXT	*DispatchContext
Output:
EFI_STATUS


OFBD.dxs

Description:
Dependency expression for OFBD driver.


OFBD.h

Description:
Header file for the OFBD


OFBD.mak

Description:
Make file for the OFBD.obj


StdEC.c

Description:
This function is used to support flashing AMI EC firmware.

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

Function | Description
ObFullRead | Waits for Output Buffer Full and then reads the data port
OFBDECCheckSum | computes EC data checksum
OFBDECCommand | EC command
OFBDEntryPoint | OFBD Standard EC Flash Entry Point
OFBDStdECEnd | for EC firmware leave flash mode and finished transmit data
OFBDStdECFlash | for EC firmware to transmit data
OFBDStdECFlashHandle | OFBD Standard EC Flash Handle
OFBDStdECStart | for EC firmware entry flash mode and start transmit data
USBKeyboardMouseDisable | USB Keyboard Mouse Disable
USBKeyboardMouseEnable | USB Keyboard Mouse Enable
WriteKeyboardCommand | Writes command to KBC.
WriteKeyboardData | Writes data to KBC.


ObFullRead in the StdEC.c

Function : ObFullRead

File: StdEC.c
Description:
Waits for Output Buffer Full and then reads the data port
Input:
None
Output:
KBC Data port data


OFBDECCheckSum in the StdEC.c

Function : OFBDECCheckSum

File: StdEC.c
Description:
computes EC data checksum
Input:
IN UINT8 *BuffPtr
IN UINT32 Size
Output:
UINT32


OFBDECCommand in the StdEC.c

Function : OFBDECCommand

File: StdEC.c
Description:
EC command
Input:
IN UINT8            bCmd
Output:
EFI_STATUS


OFBDEntryPoint in the StdEC.c

Function : OFBDEntryPoint

File: StdEC.c
Description:
OFBD Standard EC Flash Entry Point
Input:
IN VOID             *Buffer
IN OUT UINT8        *pOFBDDataHandled
Output:
VOID


OFBDStdECEnd in the StdEC.c

Function : OFBDStdECEnd

File: StdEC.c
Description:
for EC firmware leave flash mode and finished transmit data
Input:
IN OUT OFBD_TC_54_STD_EC_STRUCT *ECStructPtr
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDStdECFlash in the StdEC.c

Function : OFBDStdECFlash

File: StdEC.c
Description:
for EC firmware to transmit data
Input:
IN OFBD_TC_54_STD_EC_STRUCT *ECStructPtr
Output:
EFI_STATUS


OFBDStdECFlashHandle in the StdEC.c

Function : OFBDStdECFlashHandle

File: StdEC.c
Description:
OFBD Standard EC Flash Handle
Input:
IN OUT OFBD_TC_54_STD_EC_STRUCT *ECStructPtr
IN OUT OFBD_HDR *pOFBDHdr
Output:
EFI_STATUS


OFBDStdECStart in the StdEC.c

Function : OFBDStdECStart

File: StdEC.c
Description:
for EC firmware entry flash mode and start transmit data
Input:
IN OUT OFBD_TC_54_STD_EC_STRUCT *ECStructPtr
Output:
EFI_STATUS


USBKeyboardMouseDisable in the StdEC.c

Function : USBKeyboardMouseDisable

File: StdEC.c
Description:
USB Keyboard Mouse Disable
Input:
IN OFBD_TC_54_STD_EC_STRUCT *ECStructPtr
OUT UINT8 *ReturnErr
Output:
EFI_STATUS


USBKeyboardMouseEnable in the StdEC.c

Function : USBKeyboardMouseEnable

File: StdEC.c
Description:
USB Keyboard Mouse Enable
Input:
IN OFBD_TC_54_STD_EC_STRUCT *ECStructPtr,
IN UINT8 *ReturnErr)
Output:
EFI_STATUS


WriteKeyboardCommand in the StdEC.c

Function : WriteKeyboardCommand

File: StdEC.c
Description:
Writes command to KBC.
Input:
Command to send to KBC
Output:
None


WriteKeyboardData in the StdEC.c

Function : WriteKeyboardData

File: StdEC.c
Description:
Writes data to KBC.
Input:
Data to send to KBC
Output:
None


StdEC.h

Description:
Header file for the StdEC


StdEC.mak

Description:
Make file for the StdEC.obj


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.

  • B
  • C
  • D
  • I
  • N
  • O
  • U
  • W


Functions in Alphabetical Order

B

Function | Description
BatteryCheckEntry | OFBD Battery Check Header Handle Entry Point


Functions in Alphabetical Order

C

Function | Description
CheckAddressRange | Check address to avoid TSEG area.
CleanErrorLogCallback | Locate SmiFlash protocol callback
CleanErrorLogEntry | OFBD Clean Gpnv Error Log Entry Point
CleanErrorLogInSmm | OFBD Clear event log InSmm Function


Functions in Alphabetical Order

D

Function | Description
DEFCFGEntry | OFBD Default Command Configuration Entry Point


Functions in Alphabetical Order

I

Function | Description
InSmmFunction | Install OFBD SMI Handlers.


Functions in Alphabetical Order

N

Function | Description
NotInSmmFunction | Install OFBD SMI Handlers.


Functions in Alphabetical Order

O

Function | Description
ObFullRead | Waits for Output Buffer Full and then reads the data port
OEMCMDEntry | OFBD OEM CMD CHECKING Entry Point
OemOAHandleEntry | OFBD Oem OA Data Handle Entry Point
OEMROMHOLEEntry | OFBD OEM ROM HOLE Entry Point
OEMSETUPEntry | OFBD NVRAM/SETUP Store/Restore Entry point
OFBDBATTERYCHECK | OFBD AC/Battery check
OFBDCleanErrorLogHandle | OFBD Clean Gpnv Error Log Handle
OFBDDEFCFGHandle | OFBD Default Command Configuration Handle
OFBDDMIRestoreHandle | OFBD DMI Data Restore Handle
OFBDDMIStoreHandle | OFBD DMI Data Store Handle
OFBDECCheckSum | computes EC data checksum
OFBDECCommand | EC command
OFBDEntryPoint | OFBD OEM Password CHECK Entry Point
OFBDEntryPoint | OFBD OEM ROMID CHECK Entry Point
OFBDEntryPoint | OFBD Standard EC Flash Entry Point
OFBDEntryPoint | The main entry point of OFBD module.
OFBDOEMCMDHandle | OFBD OEM CMD Handle
OFBDOemOADataHandle | OFBD Oem OA Data Handle
OFBDOemStrHandle | OFBD OEM STRING Handle This routine will output the OEM String message to the flash utility.
OFBDORICheckHandle | OFBD OEM ROM ID Check Handle
OFBDORIGetHandle | OFBD OEM ROM ID Get Handle
OFBDPwdCheckHandle | OFBD Password Check Handle
OFBDPwdGetHandle | OFBD Password Get Handle
OFBDRomHoleCheckHandle | OFBD Rom Hole Check Handle
OFBDSETUPRestoreHandle | OFBD SETUP Restore Handle
OFBDSETUPStoreHandle | OFBD SETUP Store Handle
OFBDSETUPSupportHandle | OFBD SETUP Store/Restore Support Handle
OFBDSMIHandler | OFBD SMI Handlers.
OFBDStdECEnd | for EC firmware leave flash mode and finished transmit data
OFBDStdECFlash | for EC firmware to transmit data
OFBDStdECFlashHandle | OFBD Standard EC Flash Handle
OFBDStdECStart | for EC firmware entry flash mode and start transmit data


Functions in Alphabetical Order

U

Function | Description
USBKeyboardMouseDisable | USB Keyboard Mouse Disable
USBKeyboardMouseEnable | USB Keyboard Mouse Enable


Functions in Alphabetical Order

W

Function | Description
WriteKeyboardCommand | Writes command to KBC.
WriteKeyboardData | Writes data to KBC.


General Information