diff options
Diffstat (limited to 'Core/EM/AMITSE/Inc/variable.h')
-rw-r--r-- | Core/EM/AMITSE/Inc/variable.h | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/Core/EM/AMITSE/Inc/variable.h b/Core/EM/AMITSE/Inc/variable.h new file mode 100644 index 0000000..18a8a08 --- /dev/null +++ b/Core/EM/AMITSE/Inc/variable.h @@ -0,0 +1,251 @@ +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +//** **// +//** (C)Copyright 2011, American Megatrends, Inc. **// +//** **// +//** All Rights Reserved. **// +//** **// +//** 5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093 **// +//** **// +//** Phone (770)-246-8600 **// +//** **// +//*****************************************************************// +//*****************************************************************// +//*****************************************************************// +// $Archive: /Alaska/BIN/Modules/AMITSE2_0/AMITSE/Inc/variable.h $ +// +// $Author: Arunsb $ +// +// $Revision: 13 $ +// +// $Date: 5/03/14 6:37p $ +// +//*****************************************************************// +//*****************************************************************// +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Modules/AMITSE2_0/AMITSE/Inc/variable.h $ +// +// 13 5/03/14 6:37p Arunsb +// [TAG] EIP130198 +// [Category] Improvement +// [Description] Increase the variable ID range from 25 to 54 +// [Files] Variable.h, Setup.ini, UefiSetup.ini +// +// 12 2/11/14 7:37p Arunsb +// Changes reverted for 2.16.1243 label +// +// 11 8/19/13 2:49a Premkumara +// [TAG] EIP130198 +// [Category] Improvement +// [Description] Increase the variable ID range from 25 to 54 +// [Files] Variable.h, Setup.ini, UefiSetup.ini +// +// 10 10/18/12 5:31a Arunsb +// Updated for 2.16.1235 QA submission +// +// 6 10/10/12 12:23p Arunsb +// Synched the source for v2.16.1232 backup with Aptio +// +// 9 1/30/12 1:33a Arunsb +// [TAG] EIP74676 +// [Category] Improvement +// [Description] Setup.ini and Upfisetup.ini to reserve 3~5 variable and +// GUID for porting purpose +// [Files] Amivfr.h, special.h, variable.h, Uefisetup.ini and setup.ini +// +// 8 12/05/11 5:46a Rajashakerg +// [TAG] EIP76381 +// [Category] Improvement +// [Description] Performance: Improving variable data load and usage +// [Files] callback.c, minisetupext.c, variable.c, variable.h, +// minisetup.h, Hii.c, FormBrowser2.c +// +// 7 11/23/11 5:08a Rajashakerg +// [TAG] EIP75473 +// [Category] Improvement +// [Description] System Time is not updated every second +// [Files] variable.h, variable.c, FormBrowser2.c, TseUefiHii.h, +// Uefi21Wapper.c, hii.h, uefi20Wapper.c +// +// 6 11/13/11 12:23p Arunsb +// [TAG] EIP70421 +// [Category] New Feature +// [Description] Support for driver order in TSE +// [Files] AMITSE.SDL, CommonHelper.c, setup.ini, uefisetup.ini, +// boot.c, +// minisetup.h, bbs.c, special.c, special.h, tseadvanced.c, +// addbootoption.c, +// callback.c, minisetupext.c, minisetupext.h, popupsel.c, popupsel.h, +// TseLitehelper.c, variable.c, Uefi21Wapper.c, AMIVfr.h, boot.h, +// TseElink.h, variable.h, +// setup.h, Boot.vfr and Setup.uni +// +// 5 7/19/11 3:06p Arunsb +// [TAG] EIP57661 +// [Category] New Feature +// [Description] Drv health related variable declarations added to +// update the cache. +// [Files] notify.c, Uefi21Wapper.c and variable.h +// +// 4 7/19/11 10:47a Blaines +// [TAG] - EIP 63262 +// [Category]- Defect +// [Symptom]- Setup page display problem on rose city. +// When SETUP_GROUP_DYNAMIC_PAGES is enabled and Network Stack is enabled, +// the "iSCSI" menu is listed as a dynamic page in advanced menu but only +// 3 of 4 "Port Configuration" pages shows up. The TSE dynamic page count +// is incorrect. +// +// [Solution]- In the functions (RTIfrProcessRunTimeForms, +// HandleNewIFRPack, HandleRemoveIFRPack, HandleAddIFRPack), make sure the +// nvram cache is updated by calling +// VarUpdateVariable(VARIABLE_ID_DYNAMIC_PAGE_COUNT) when updating +// "DynamicPageCount" variable name. +// . +// [Files] - Hii.c, Minisetup.h, Variable.h +// +// 3 2/19/10 12:59p Madhans +// Updated for TSE 2.01. Refer Changelog.log for File change history. +// +// 4 2/19/10 7:59a Mallikarjunanv +// updated the year in copyright message +// +// 3 1/09/10 2:31a Mallikarjunanv +// Updated TSE2.01 Release sources with coding standards +// +// 2 10/28/09 5:34p Madhans +// +// 1 6/04/09 7:49p Madhans +// AMI TSE Advanced. +// +// 1 4/28/09 10:50p Madhans +// Tse 2.0 Code complete Checkin. +// +// 1 4/28/09 10:24p Madhans +// Tse 2.0 Code complete Checkin. +// +// +//*****************************************************************// +//*****************************************************************// +//<AMI_FHDR_START> +//---------------------------------------------------------------------------- +// +// Name: variable.h +// +// Description: Variable handling header +// +//---------------------------------------------------------------------------- +//<AMI_FHDR_END> + +#ifndef _VARIABLE_H_ +#define _VARIABLE_H_ + +typedef struct _NVRAM_VARIABLE +{ + UINT8 *Buffer; + UINTN Size; +} +NVRAM_VARIABLE; + +#define VAR_ZERO_OFFSET 0 + +#define VAR_COMMAND_GET_VALUE 0 +#define VAR_COMMAND_SET_VALUE 1 + +#define VAR_COMMAND_GET_NVRAM 0 +#define VAR_COMMAND_SET_NVRAM 1 + +// Variable IDs +#define VARIABLE_ID_SETUP 0 +#define VARIABLE_ID_LANGUAGE 1 +#define VARIABLE_ID_BOOT_TIMEOUT 2 +#define VARIABLE_ID_USER_DEFAULTS 3 +#define VARIABLE_ID_ERROR_MANAGER 4 +#define VARIABLE_ID_AMITSESETUP 5 +#define VARIABLE_ID_IDE_SECURITY 6 +#define VARIABLE_ID_BOOT_ORDER 7 +#define VARIABLE_ID_BBS_ORDER 8 +#define VARIABLE_ID_DEL_BOOT_OPTION 9 +#define VARIABLE_ID_ADD_BOOT_OPTION 10 +#define VARIABLE_ID_BOOT_MANAGER 11 +#define VARIABLE_ID_BOOT_NOW 12 +#define VARIABLE_ID_LEGACY_DEV_INFO 13 +#define VARIABLE_ID_AMI_CALLBACK 14 +#define VARIABLE_ID_LEGACY_GROUP_INFO 15 +#define VARIABLE_ID_OEM_TSE_VAR 17 +#define VARIABLE_ID_DYNAMIC_PAGE_COUNT 18 +#define VARIABLE_ID_DRV_HLTH_ENB 19 +#define VARIABLE_ID_DRV_HLTH_COUNT 20 +#define VARIABLE_ID_DRIVER_MANAGER 22 //EIP70421 & 70422 Support for driver order +#define VARIABLE_ID_DRIVER_ORDER 23 +#define VARIABLE_ID_ADD_DRIVER_OPTION 24 +#define VARIABLE_ID_DEL_DRIVER_OPTION 25 +#define VARIABLE_ID_PORT_OEM1 26 //EIP74676 variables for porting purpose +#define VARIABLE_ID_PORT_OEM2 27 +#define VARIABLE_ID_PORT_OEM3 28 +#define VARIABLE_ID_PORT_OEM4 29 +#define VARIABLE_ID_PORT_OEM5 30 +#define VARIABLE_ID_PORT_OEM6 31 +#define VARIABLE_ID_PORT_OEM7 32 +#define VARIABLE_ID_PORT_OEM8 33 +#define VARIABLE_ID_PORT_OEM9 34 +#define VARIABLE_ID_PORT_OEM10 35 +#define VARIABLE_ID_PORT_OEM11 36 +#define VARIABLE_ID_PORT_OEM12 37 +#define VARIABLE_ID_PORT_OEM13 38 +#define VARIABLE_ID_PORT_OEM14 39 +#define VARIABLE_ID_PORT_OEM15 40 +#define VARIABLE_ID_PORT_OEM16 41 +#define VARIABLE_ID_PORT_OEM17 42 +#define VARIABLE_ID_PORT_OEM18 43 +#define VARIABLE_ID_PORT_OEM19 44 +#define VARIABLE_ID_PORT_OEM20 45 +#define VARIABLE_ID_PORT_OEM21 46 +#define VARIABLE_ID_PORT_OEM22 47 +#define VARIABLE_ID_PORT_OEM23 48 +#define VARIABLE_ID_PORT_OEM24 49 +#define VARIABLE_ID_PORT_OEM25 50 +#define VARIABLE_ID_PORT_OEM26 51 +#define VARIABLE_ID_PORT_OEM27 52 +#define VARIABLE_ID_PORT_OEM28 53 +#define VARIABLE_ID_PORT_OEM29 54 + +//EIP 76381 : Performance Improving of variable data load and usage +EFI_STATUS GetNvramVariableList(NVRAM_VARIABLE **RetNvramVarList); +VOID CleanTempNvramVariableList(); +EFI_STATUS CopyNvramVariableList(NVRAM_VARIABLE *SrcVarList, NVRAM_VARIABLE **DestVarList); + +EFI_STATUS VarLoadVariables( VOID **list, NVRAM_VARIABLE *defaultList ); +EFI_STATUS VarBuildDefaults( VOID ); +VOID *VarGetNvramName( CHAR16 *name, EFI_GUID *guid, UINT32 *attributes, UINTN *size ); +EFI_STATUS VarSetNvramName( CHAR16 *name, EFI_GUID *guid, UINT32 attributes, VOID *buffer, UINTN size ); +VOID *VarGetNvram( UINT32 variable, UINTN *size ); +VOID *VarGetNvramQuestionValue(UINT32 variable, UINTN Offset, UINTN Size); +EFI_STATUS VarSetNvram( UINT32 variable, VOID *buffer, UINTN size ); +EFI_STATUS VarGetDefaults( UINT32 variable, UINT32 offset, UINTN size, VOID *buffer ); +EFI_STATUS VarGetValue( UINT32 variable, UINT32 offset, UINTN size, VOID *buffer ); +EFI_STATUS VarSetValue( UINT32 variable, UINT32 offset, UINTN size, VOID *buffer ); +VOID VarUpdateVariable(UINT32 variable); +VOID VarUpdateDefaults(UINT32 variable); +VOID *VarGetVariable( UINT32 variable, UINTN *size ); + +EFI_STATUS _VarGetData( UINT32 variable, UINT32 offset, UINTN size, VOID *buffer, BOOLEAN useDefaults ); +EFI_STATUS _VarGetSetValue( UINTN command, NVRAM_VARIABLE *list, UINT32 variable, UINT32 offset, UINTN size, VOID *buffer ); + +#endif /* _VARIABLE_H_ */ + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Pkwy, Building 200,Norcross, Georgia 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** |