Commit Graph

110 Commits

Author SHA1 Message Date
eric_tian 6f90dfbc0d update the QueryVariableInfo interface to first determine if the pointer 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-27 05:05:48 +00:00
eric_tian 533020ef80 close notify event to avoid variable architectural protocol to be installed twice or more.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7904 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-19 03:13:08 +00:00
eric_tian 7974918212 Fix tracker 202216:linux runtime test issue.
[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-16 09:57:10 +00:00
lgao4 f0480ecf80 Fix K8 check error.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7849 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 08:40:29 +00:00
lgao4 e51d07a670 remove unused local variable FvbHandle
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7839 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 00:56:48 +00:00
eric_tian 00f3851372 retire FvbServiceLib class in MdeModulePkg, and also remove the two 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-09 09:20:57 +00:00
eric_tian 8a9e0b7274 1. retire the FvbServiceLib. Directly locating FVB protocol to access 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-09 06:39:13 +00:00
eric_tian 5bb820af59 1. add missing free operation in conditional branch.
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-05 02:59:11 +00:00
lgao4 88a5561c66 Update Variable driver to depend on full version FaultTolerantWrite 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
2009-03-04 01:27:50 +00:00
eric_tian 3709c4cd5b 1. delete Include/Guid/VariableInfo.h
2. move VariableFormat.h into GUID directory and change the “Signature” field of the VARIABLE_STORE_HEADER to gEfiVariableGuid value.
3. merging VARIABLE_INFO_ENTRY structure into the new Include/Guid/VariableFormat.h
4. change gEfiVariableInfoGuid into gEfiVariableGuid.
5. modify FDF files to use new guid value instead of the original signature.
6. all code related to signature is changed to use guid value.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7728 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-27 05:35:08 +00:00
eric_tian 3dcdbe7a52 update
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7694 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 13:08:46 +00:00
vanjeff 892b7f90c5 add NULL pointer check.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7506 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-12 01:55:32 +00:00
qhuang8 8ed62a3035 Fix minor build issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7465 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 07:42:00 +00:00
eric_tian c24b392c30 fix ecc warning
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7456 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 05:37:46 +00:00
jji4 01a5c99447 use the GUIDed versions of events listed below: EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE and EVT_SIGNAL_EXIT_BOOT_SERVICES
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7420 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-03 11:09:53 +00:00
eric_tian f3e0442308 Add information in Meta-Data file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7400 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-03 00:31:26 +00:00
qwang12 fd0fd8918e Remove the accidental check in of test code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7392 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-02 07:27:44 +00:00
qwang12 bc166db311 Add in ASSERT to check out-of-bound and possible dereference of NULL pointers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7391 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-02 07:18:59 +00:00
mdkinney 4cf894eba8 Split out Synchronization Library from Base Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7373 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-30 00:33:39 +00:00
jji4 e6c4ef1336 Source level security checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7297 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-16 08:14:39 +00:00
lgao4 e561879137 Add INF extension Information
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7228 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-09 06:26:42 +00:00
xli24 f84783148a Use correct capitalization to pass build on UNIXGCC.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7019 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-14 05:40:01 +00:00
eric_tian 45f6c85bb1 code scrub on VariableRuntime Dxe driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7017 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12 09:48:24 +00:00
eric_tian 7c80e839f7 code scrub on VariableRuntime Dxe driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7016 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-12 09:27:17 +00:00
eric_tian 8ef155106f Renamed to follow Coding Style
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6993 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-11 06:49:52 +00:00
eric_tian 1e746b6209 move false dependency relation
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6851 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 02:27:10 +00:00
gikidy cfc8865f17 Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and review VALID_ARCHITECTURES in inf files with DSC file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 09:08:05 +00:00
jji4 aa79b0b379 Global variables have been moved backward ahead of functions.
Only a few cases were left due to its module structure.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6816 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 08:52:39 +00:00
klu2 e46e575030 Remove over specific library class
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6383 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 02:12:58 +00:00
jji4 fe1e36e550 Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6296 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:05:06 +00:00
vanjeff 078bee4ebf clean up EBC in inf files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6267 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 07:17:17 +00:00
qwang12 49e7092714 Add in local variable to ensure that "operands are evaluated in specified order".
Otherwise, Intel ICC report "operands are evaluated in unspecified order" build error.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6231 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-26 07:32:20 +00:00
mdkinney 5ead4a07a8 If there are variables in the VAR_ADDED state that are identical to the variable being updated during reclaim, then only keep the variable being updated and delete variables in the VAR_ADDED state.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6104 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-11 23:44:40 +00:00
lgao4 3909993808 Remove the package header files PiDxe.h/PiPei.h/Uefi.h included by Protocol/Ppi/Guid header file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6087 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-09 01:12:34 +00:00
lgao4 60c93673b3 The driver and library in MdePkg, MdeModulePkg and Nt32Pkg that don't depend on PI spec should include Uefi.h not PiDxe.h.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5758 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-30 14:09:38 +00:00
lgao4 e872988180 remove the unused msa files in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5726 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-25 05:03:29 +00:00
lgao4 504214c487 Add comments and DoxyGen format for these files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5028 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-09 07:07:50 +00:00
yshang1 814bae5269 [Description]:
The patch enhanced variable services to support:
1) If adding variable does not execute completely, the state is in_deleted, the next time find variable should have to retrieve the in_deleted variable.
2) when Reclaiming the variable storage, the 1) variable should be considered.

[Impaction]:
This is backward-compatible update.

[Reference Info]:
9552, 8632

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4916 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-19 07:09:03 +00:00
lgao4 7800593dca Reclaim occurs as late as possible before OS boot for keep enough space used by OS
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4574 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-17 09:59:51 +00:00
yshang1 77aa51cd89 Fix bug that failed to reclaim the variable.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4556 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-15 13:02:26 +00:00
yshang1 130e25699a 1) Replace MACRO with C functions.
2) Add HEADER_VALID_ONLY state of variable, which represents only the header is valid and the data/name is stale. This may be caused by incomplete data updating. Adding the state helps to check whether the header is valid. If variable header is valid, then we must skip the data of variable with the valid size. If the header is invalid, we should only skip the header of variable. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4555 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-14 06:35:23 +00:00
yshang1 ab5f0d6d12 Change C functions, xxxSizeOfVariable(), to MACRO, which can avoid the ICC compile error "Unspecific evaluated order".
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4552 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-11 03:16:46 +00:00
yshang1 9cad030bc1 Align the header of variable from 1 to 4, which can avoid the size of variable content corrupt if the critical data cross two flash block.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4543 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-10 04:26:13 +00:00
yshang1 fdb7765f2d 1) Fix the bug that Variable Cache Search does not be protected by lock during boot time. It potentially results in the info from GetVariable() is not correct.
2) Check the integrity of Variable header. In original implementation, if not whole header is correct, then the variable will be treat as invalid. typically, if the NameSize has been programed but the DataSize not, then the variable storage would failed to set new variable.
3) Change the Variable Header Alignment from 1 to 4 bytes on x86. It avoids the DataSize or NameSize cross two blocks. For example, in original implementation, if the NameSize crosses two block, when the FLASH manipulation is interrupted after programed HSB of NameSize and prior to program LSB of NameSize on next block, then the invalid variable header will result in the Variable Storgae broken.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4538 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-09 10:10:16 +00:00
gtian 518d395c3b define the variable related to PCD for supporting big variable (>32K) easily.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4268 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-05 16:11:50 +00:00
qhuang8 aa09397b3c Fix a bug in variable driver cache mechanism:
It should return EFI_SUCCESS and update the output buffer size if the input buffer is larger than actual variable contents.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4182 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-19 08:49:20 +00:00
qwang12 36873a6195 Fix a bug. FindVariable now search volatile variable first (previously NV variable first) for performance reason. Therefore, RuntimeServiceGetNextVariableName is updated based on this change.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4056 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-09 05:42:37 +00:00
AJFISH fd51bf702f Fix a bug with changing the NVRAM properties of a Variable
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4030 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-06 17:02:23 +00:00
AJFISH 052ad7e191 Update comments in Variable driver and removed references to FLASH Map Hob in INF files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4019 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-05 14:40:23 +00:00
AJFISH fae9ab87bb Made PCD valid for all architectures. Added new Variable statistic dump aplication to DSC file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4017 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-04 22:45:11 +00:00
AJFISH 33a5a666a4 Add Profiling support for Variable store and added a specialized caching algorithm
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4015 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-04 21:01:21 +00:00
qhuang8 c649283953 1. Uefi2.1 feature - Add Hardware Error Record Persistence Support
2. Fix the return status accoring to approved UEFI ECRs.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3866 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-17 03:50:40 +00:00
qwang12 537fbd82b3 Clean up two infs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3779 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-06 01:23:45 +00:00
qhuang8 b3af5df67b Update all INF, DEC and DSC file to confirm to newest INF spec 0.44, DEC spec 0.41, DSC spec 0.40.
Mainly PCD syntax update.
Check in new build.exe and GenFds.exe
Check in PcdSyntaxUpdate.exe tool. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3744 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-30 09:11:54 +00:00
yshang1 623ad724e1 Add dependent packages in INF of modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3731 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-29 08:52:49 +00:00
qhuang8 4278cb0f65 Update comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3729 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-29 01:42:51 +00:00
qhuang8 4506f37b81 update the callback event error. The event type should be virtual-address-changed event instead of exit-boot -services event.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3728 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-29 01:40:32 +00:00
jwang36 6b4fe92ad9 1. Generated new build.exe from new tools code
2. Removed some duplicated includes in source files
3. Changed the source file format in INF files
4. Removed duplicated PCDs in MdePkg.dec


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3520 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-01 08:45:32 +00:00
yshang1 3cfb790c94 Retire the "Include/Common" of MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3425 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-24 10:52:02 +00:00
yshang1 8d3a5c82a4 Move VariablePei/VariableDxe/EmuVarible to /Variable folder of MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3370 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-19 10:09:07 +00:00