diff options
Diffstat (limited to 'Core/EM/NVRAM/NVRAM.mak')
-rw-r--r-- | Core/EM/NVRAM/NVRAM.mak | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/Core/EM/NVRAM/NVRAM.mak b/Core/EM/NVRAM/NVRAM.mak new file mode 100644 index 0000000..43d544b --- /dev/null +++ b/Core/EM/NVRAM/NVRAM.mak @@ -0,0 +1,225 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2009, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** + +#********************************************************************** +# $Header: /Alaska/SOURCE/Core/Modules/NVRAM/NVRAM.mak 12 1/14/14 5:45p Oleksiyy $ +# +# $Revision: 12 $ +# +# $Date: 1/14/14 5:45p $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Core/Modules/NVRAM/NVRAM.mak $ +# +# 12 1/14/14 5:45p Oleksiyy +# [TAG] EIP121524 +# [Category] New Feature +# [Description] Extended Aptio functionality for clearing or restoring +# NVRAM to factory default state (preserving only selected Vars). +# [Files] NVRAM.sdl +# NVRAM.mak +# NVRAMDXE.c +# NVRAM.cif +# +# 11 11/07/12 5:42p Oleksiyy +# [TAG] EIP98678 +# [Category] Improvement +# [Description] GetVariable() response slow. Added token to process +# only SetVariable through SMI. +# [Files] NvramSmi.c, NvramSmi.sdl and NVRAM.mak +# +# 10 11/11/11 3:23p Felixp +# Set DO_NOT_ACCESS_DATA_OUTSIDE_OF_SMM_AT_RUNTIME macro when NvramSmi +# eModule is in the project. +# +# 9 2/04/10 3:58p Felixp +# Hook eLinks are renamed +# +# 8 2/02/10 5:14p Oleksiyy +# EIP 33263 : Hooks for SetVariable, GetVariable and GetNextVarName +# added +# +# 7 5/01/09 6:13p Felixp +# Bug fix(EIP 19816). $(AMICSPLib) is no longer linked with NVRAM +# libraries. +# (it caused problems on systems without Core Sources). +# $(AMICSPLib) is linked with Runtime and CORE_PEI instead. +# +# 6 10/09/08 11:47a Felixp +# 1. Fault tolerant NVRAM garbage collection support is added. +# Use FAULT_TOLERANT_NVRAM_UPDATE SDL token to enable/disable (disabled +# by default). +# NOTE: This feature requires upgrade of the Board module. +# NOTE: This feature requires porting: +# Fault tolerant update requires reserved flash area of size NVRAM_SIZE +# used for back up during NVRAM garbage collection. +# The address of the area is defined by NVRAM_BACKUP_ADDRESS SDL token +# defined in Board.sdl. +# Size and Base addresses of other firmware volumes may need to be +# adjusted to free up space for the NVRAM back up area. +# Default ROM layout expects NVRAM back up area immediately below the +# main NVRAM area. +# For projects with the customized ROM layout Core.mak has to be updated. +# 2. Top level NVRAM function updated to be reentrance-safe. +# NOTE: This feature requires upgrade of the SB module. +# 3. Improved recovery from the flash programming failures and +# corruptions within NVRAM area. +# 4. More reliable non-fault tolerant garbage collection. +# +# 5 9/06/07 12:14a Felixp +# +# 4 8/31/07 3:44p Felixp +# NVRAM code has been significantly changed to introduce the following +# improvements: +# 1. The code is chaned to always use the same amount of memory. +# Previous implementation allocated memory as needed, which caused +# occasional S4 problems. +# Plus S4 resume never worked during the very first boot after the +# firmware update. +# 2. Support for NVRAM defaults added. +# NVRAM image with the default values for the Setup variables is now +# generated by the build process. +# The image is generated by the HpkTool (included into AMITSE module +# part). +# In addition to standard Setup defaults it is also possible +# to generate manufactoring defaults. Support for the manufactoring +# defaults +# is disabled by default and can be enabled using +# MANUFACTURING_MODE_SUPPORT SDL token. +# 3. Support for boot with alternative configurations is added. +# Decision to switch to the alternative configuration +# (alternative set of values for NVRAM variables) +# is based on values returned by the porintg routine in OemPort.c. +# During boot with alternative configurations GetVariable service +# returns alternative values for the setup-related variables. +# If variable does not have an alternative value, current value is +# returned. +# Two alternative configurations are supported: +# Boot with manufactoring settings(activated when IsMfgMode routine in +# OemPort.c returns TRUE). +# Boot with default settings(activated when IsDefaultConfigMode routine +# in OemPort.c returns TRUE). +# NOTE: This feature requires of the Board module +# 4.NVRAM reset option is added. +# If porting routine IsResetConfigMode in OemPort.c returns TRUE in PEI +# phase, +# NVRAM content will be reset during initialization of the DXE NVRAM +# driver. +# During reset operation all setup-related variables are reset to their +# default values. +# All other variables are deleted. +# NOTE: This feature requires upgrade of the Board module +# 5.Detection of NVRAM update added. +# NVRAM implementation detects if NVRAM has been updated since the last +# NVRAM call. +# This provides ability to use variables services before and after +# firmware update. +# 6.Overall code clean up and simplification. +# 7.Core Sources are no longer required in order to use NV_SIMULATION +# option. +# 8.PI 1.0 support. +# Support for a PI 1.0 complient variable PPI is added. Old PPI is still +# preserved in this label for backward compatibility. +# New library routines PeiGetVariable and PeiGetNextVariableName are +# created in order to hide the differences between two PPIs. +# It is recommended to update existing code to use new library routines. +# Support of the old PPI may be dropped in the future versions of Core. +# 9. NVRAM is now packaged as a raw FFS file embedded into the standard +# FV (used to be non-standard FV with raw NVRAM image). +# Validation: New NVRAM code has been validated using SCT and EFI version +# of Windows Server 2008 +# Files modified: Core.sdl, Core.mak, AmiPeiLib.h, PeiLib.c, +# ReadOnlyVariable.h, , Token.c, HpkTool.exe, AMITSE.mak, Setup.ini, +# NVRAM.sdl, NVRAM.mak, NVRAM.h, NVRAMRead.c, NVRAMPEI.c, +# NVRAMDXE.c +# +# 3 10/13/06 1:27a Felixp +# +# 2 8/25/06 10:59a Felixp +# +# 1 8/24/06 12:38p Felixp +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: NVRAM.mak +# +# Description: +# +#<AMI_FHDR_END> +#********************************************************************** +all : NvramPei NvramDxe + +NVRAM_PEI_OBJECTS=\ +$$(BUILD_DIR)\$(NVRAM_DIR)\NVRAMRead.obj\ +$$(BUILD_DIR)\$(NVRAM_DIR)\NVRAMPEI.obj + +NVRAM_DXE_OBJECTS=\ +$$(BUILD_DIR)\$(NVRAM_DIR)\NVRAMRead.obj\ +$$(BUILD_DIR)\$(NVRAM_DIR)\NVRAMDXE.obj + +$(BUILD_DIR)\NVRAM.mak : $(NVRAM_DIR)\$(@B).cif $(NVRAM_DIR)\$(@B).mak $(BUILD_RULES) + $(CIF2MAK) $(NVRAM_DIR)\$(@B).cif $(CIF2MAK_DEFAULTS) + +Runtime_LIBBin : $(BUILD_DIR)\NVRAMDXE.lib +CORE_PEI_LIBBin : $(BUILD_DIR)\NVRAMPEI.lib + +$(BUILD_DIR)\NVRAMDXE.lib : NvramDxe +$(BUILD_DIR)\NVRAMPEI.lib : NvramPei + +NvramDxe : $(BUILD_DIR)\NVRAM.mak NvramDxeBin +NvramPei : $(BUILD_DIR)\NVRAM.mak NvramPeiBin + +NvramDxeBin : + $(ECHO) #define NVRAM_PRESERVE_VARIABLES_LIST $(NvramPreserveVariables) > $(BUILD_DIR)\NvramPreserveList.h + $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\ + /f $(BUILD_DIR)\NVRAM.mak all\ + "OBJECTS=$(NVRAM_DXE_OBJECTS)"\ + "EXT_HEADERS=$(BUILD_DIR)\token.h\ + $(BUILD_DIR)\NvramPreserveList.h" \ + TYPE=LIBRARY LIBRARY_NAME=$(BUILD_DIR)\NVRAMDXE.lib\ + "MY_DEFINES=/D\"GET_VAR_LIST=$(GetVariableHook)\"\ + /D\"GET_NEXT_VAR_NAME_LIST=$(GetNextVariableNameHook)\"\ +!IF "$(NvramSmiSupport)"=="1" && "$(NVRAM_SMI_FULL_PROTECTION)"=="1" + /D\"DO_NOT_ACCESS_DATA_OUTSIDE_OF_SMM_AT_RUNTIME=1\"\ +!ENDIF + /D\"SET_VAR_LIST=$(SetVariableHook)\"" + +NvramPeiBin : + $(MAKE) /$(MAKEFLAGS) $(BUILD_DEFAULTS)\ + /f $(BUILD_DIR)\NVRAM.mak all\ +!IF "$(x64_BUILD)"=="1" + BUILD_DIR=$(BUILD_DIR)\IA32\ +!ELSE + BUILD_DIR=$(BUILD_DIR)\ +!ENDIF + "OBJECTS=$(NVRAM_PEI_OBJECTS)"\ + TYPE=PEI_LIBRARY LIBRARY_NAME=$(BUILD_DIR)\NVRAMPEI.lib\ + "MY_DEFINES=/D\"PEI_GET_VAR_LIST=$(PeiGetVariableHook)\"\ + /D\"PEI_GET_NEXT_VAR_NAME_LIST=$(PeiGetNextVariableNameHook)\"" + +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2009, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#**********************************************************************
\ No newline at end of file |