summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Variable
AgeCommit message (Collapse)Author
2010-12-22Fix a potential bug that SetVariable is invoked for NV variable prior to the ↵gdong1
installation of EFI_VARIABLE_WRITE_ARCH_PROTOCOL. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11190 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-15Update inappropriate comments.gdong1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11170 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-12Remove the unnecessary package from VariableSmmRuntimeDxe.inf.gdong1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11157 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-11Add typecast to remove warning with ICC.gdong1
VariableSmm.inf: Remove SmmLib git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11156 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-10MdeModulePkg VariableRuntimeDxe: Fix build for GCC44 toolchainjljusten
Add typecast to remove warning with GCC 4.4. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11155 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-10Add SMM Variable implementation.gdong1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11151 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-06DuetPkg, MdeModulePkg: Fix variable services hang with GCC44 X64jljusten
The C ellipses parameters are passed to functions differently by default with GCC 4.4. To make sure they are properly sent to VariableGetBestLanguage, we add 'EFIAPI' to this function. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11119 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-25Fix a bug in GetLangFromSupportedLangCodes()niruiyu
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11091 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-24Fix AutoUpdateLangVariable() logic to handle the case PlatformLang/Lang is ↵niruiyu
set before PlatformLangCodes/LangCodes. Pre-allocate pool for runtime phase. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11087 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-18Fix AutoUpdateLangVariable() logic to handle the case PlatformLang/Lang is ↵niruiyu
set before PlatformLangCodes/LangCodes. Pre-allocate pool for runtime phase. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11075 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-22Add 64-bit versions of FLASH Base addressess as it is legal to have them ↵andrewfish
>4G. For backward compatability if the new 64-bit base addresses are zero use the old 32-bit base addressess. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10684 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-20fix a bug that FindVariable() may set GoneThrough flag wrongly when a >64K ↵erictian
variable exists. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10524 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24Update the copyright notice formathhtian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-18variable driver doesn't support EFI_AUTHENTICATED_WRITE_ACCESS. we use:erictian
1. EFI_INVALID_PARAMETER as a return value of SetVariable() to indicate it does not support this feature. 2. EFI_NOT_FOUND will be a return value of QueryVariableInfo() to indicate it does not support this feature. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10281 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26Refine parameter description according to PI 1.2 errata A.xli24
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10109 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-241. Correct File header to ## @filelgao4
2. Remove unnecessary .common] postfix on section. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29Remove unnecessary use of FixedPcdxxx() functions and [FixedPcd] INF ↵mdkinney
sections. These should only be used for PCDs that are used to pre-init global variables, pre-init global structures, or size arrays. Do some minor clean ups to INF files git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9868 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15Fix some coding style issues in MdeModulePkg.rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9774 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14add DataSize check to avoid PlatformLang/Lang variable is auto-mapped when ↵eric_tian
try to delete these variables. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9746 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-22add error handling for input parameter.eric_tian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9583 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17Fix parameter name in function header.xli24
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9439 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17Following 3 updates are for spec update published in PI 1.2.xli24
1. Rename EFI_PEI_NEXT_VARIABLE_NAME2 to EFI_PEI_GET_NEXT_VARIABLE_NAME2, as PI 1.2 specifies. 2. Add return status description for PEI Service FfsGetVolumeInfo. 3. Update parameter description for EFI_PEI_READ_ONLY_VARIABLE2_PPI.NextVariableName(). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9438 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-10if PcdHwErrStorageSize is zero, it means HwErr variable store doesn't exist ↵eric_tian
in Variable Region. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9252 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-07EMU Variable: Add support for pre-reserved NV variable store.jljusten
Add PcdEmuVariableNvStoreReserved which allows a platform to declare a memory address for the EMU Variable driver to use for the NV variable store. The EMU Variable driver will look to see if the contents of this memory range appear to be a valid variable store, and if so the EMU driver will use the variables. If a platform can preserve a memory range across system resets, this feature can allow the EMU Variable driver's NV variable store to be preserved across a system reset. In the default case this PCD will be set as a fixed PCD with a value of 0. In this case this new feature should have minimal impact on the EMU Variable driver. (Perhaps a slight increase in code size, but no functional difference is expected.) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9240 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-27due to EmuVariable driver only uses volatile memory to simulate the variable ↵eric_tian
region, so PcdHwErrStorageSize should be less than or equal to PcdVariableStoreSize git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9204 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-26add assertion to ensure HwErr type variable range is less than or equal to ↵eric_tian
VariableStore range. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9199 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11add condition judgment to avoid accessing NULL address if not found existing ↵eric_tian
variable. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9038 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-29add assertion to pass K8 check.eric_tian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8679 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-23refine VariablePei driver to unify the algorithm of access ↵eric_tian
VariableIndexTable among various archs. 1. record the distance of two neighboring VAR_ADDED type variables rather than the offset of each variable. As the field recording this info is UINT16 width, the latter causes in IA32/X64 platform, it can only cache those variables from offset 0 to offset 2^16; in IPF platform, from offset 0 to offset 2^18(extend the scope by left-shift the offset two bits). when taking the former algorithm, the max range of caching variable is from offset 0 to offset 122*(2^16) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8625 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-08Remove the additional build options.lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8498 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03fix the issue of Inadequate Memory Allocation in Variable Serviceseric_tian
In UpdateVariableInfo(), the code incorrectly allocate a small memory, whose size equate with the number of Unicode name. Should change it to be equal to the byte length of this Unicode name. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8457 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-04Fix a bug that L"PlatformLang" must be a null-terminated ASCII string ↵qhuang8
according to UEFI spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8232 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30Replace references to RFC 3066 with RFC 4646. gikidy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8212 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-29Acquire & Release the lock from the high level variable servicejljusten
routines similar to MdeModulePkg/Universal/Variable/RuntimeDxe. When the Acquire was in the FindVariable routine, is was being called by both EmuSetVariable and again in AutoUpdateLangVariable, which caused an ASSERT to fail. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8205 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-28Fix bug in variable driver about the incorrect usage for GetBestLanguage(), ↵qhuang8
which expects the NULL to be the last var arg git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8195 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-28updateeric_tian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8194 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-27update platformlangcodes and langcodes to adapt new language convert algorithm.eric_tian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8184 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-071. The original code has a bug on calculate the size of SCRATCH_SIZE. It ↵eric_tian
should be maximum value between PcdMaxVariableSize and PcdMaxHardwareErrorVariableSize. 2. Boot time variable reclaim issue is caused by incorrect flash layout. Platform integrator should ensure that the size of variable region must less than FTW spare space size. 3. Per UEFI Specification, variables of attribute HARDWARE_ERROR_RECORD are guaranteed to have its own storage space size.original implementation doesn’t meet this requirement git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8029 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-27update the QueryVariableInfo interface to first determine if the pointer ↵eric_tian
checked is pointing to a memory address inside Variable area. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7969 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-24Prefix variable services functions with 'Emu'. Specifically this isjljusten
done to avoid a conflict with the 'GetVariable' function defined in edk2/MdePkg/Include/Library/UefiLib.h. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7941 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-19Fix tracker 202216:linux runtime test issue.eric_tian
[Root Cause] The root cause is that in FindVariable function, original code logic will traverse all variable stored in variable volatile/non-volatile area. If the non-variable area is full and Linux sets a new variable, the caller of GetNextVariablePtr will get the address of next memory block, but this block doesn't be reserved as RUNTIME attribute. Therefore its corresponding page translation table doesn't exist and causes linux kernel panic. Note that, Variable Pei driver has not such issue as the flash area is accessed in pre-os environment.All page table entries are filled. The access to next memory block will not cause such issue. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7910 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-19close notify event to avoid variable architectural protocol to be installed ↵eric_tian
twice or more. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7904 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-16Fix tracker 202216:linux runtime test issue.eric_tian
[Root Cause] The root cause is that in FindVariable function, original code logic will traverse all variable stored in variable volatile/non-volatile area. If the non-variable area is full and Linux sets a new variable, the caller of GetNextVariablePtr will get the address of next memory block, but this block doesn't be reserved as RUNTIME attribute. Therefore its corresponding page translation table doesn't exist and causes linux kernel panic. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7890 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10Fix K8 check error.lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7849 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10remove unused local variable FvbHandle lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7839 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-09retire FvbServiceLib class in MdeModulePkg, and also remove the two ↵eric_tian
instances in MdeModulePkg and ItaniumPlatformPkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7837 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-091. retire the FvbServiceLib. Directly locating FVB protocol to access ↵eric_tian
interfaces. 2. modify the method of getting right FVB protocol interface. move the notification event of FVB installation into variable driver. and also move ExitBootService event into variable driver. 3. use EFI_FVB2_WRITE_STATUS flag to distinct whether the FVB protocol supports writing operation or not.Currently, DxeCore installs FVB which has ~EFI_FVB2_WRITE_STATUS(that is, disable write) attrbiute. FvbRuntimeDxe driver should provide a full FVB protocol, which returns EFI_FVB2_WRITE_STATUS attribute to signify itself provide writable FVB protocol. So other modules which need write data by FVB protocol can locate it correctly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7835 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-051. add missing free operation in conditional branch.eric_tian
2. when variable store header is invalid status, we will return EFI_VOLUME_CORRUPTED to let code assert, which is helpful to find root cause quickly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7804 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-04use pcd to enable/disable variableInfo statistic feature in EmuRuntimeDxe ↵eric_tian
driver. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7797 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-04Update Variable driver to depend on full version FaultTolerantWrite ↵lgao4
protocol, and remove the lite version FaultTolerantWrite Dxe Driver. New full version FaultTolerantWriteDxe driver is added in MdeModulePkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7788 6f19259b-4bc3-4df7-8a09-765794883524