Commit Graph

97 Commits

Author SHA1 Message Date
eric_tian 2fcdca1d73 1. The original code has a bug on calculate the size of SCRATCH_SIZE. It 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-04-07 06:42:12 +00:00
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
jljusten bd682470fc Prefix variable services functions with 'Emu'. Specifically this is
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-24 18:42:18 +00:00
eric_tian fba0ee1f4c 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.

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-19 08:50:41 +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
eric_tian e4ddc00886 use pcd to enable/disable variableInfo statistic feature in EmuRuntimeDxe driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7797 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-04 07:21: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 18efbdff45 All UEFI applications in the MdeModukePkg should be placed in MdeModulePkg/Application
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7704 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-26 05:29:29 +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
gikidy 88fa231e94 Meta-data verified.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7537 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-18 03:13:32 +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 96a5ac5b0d Adjust code to fix potential array out-bound issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7502 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-11 07:05:43 +00:00
mdkinney ba5e88f965 Add parenthesis to expression to make order of operations clear
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7475 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 20:40:48 +00:00
niry 2374b9734b fix the operator priority bug.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7470 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 08:56:45 +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
eric_tian 6041576eb2 The caller of FindVariable() function ensure VariableName != NULL && VendorGuid != NULL. In the internal of this function, we only need to ensure that (VariableName[0] != 0 && VenderGuid != NULL) is true.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7389 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-02 03:13:35 +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
jji4 b77d0076f9 Coding style checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7281 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-15 03:30:05 +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
jji4 964b4ecf36 INF extension reviewed
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7220 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-09 02:37:08 +00:00
jji4 e95e4b4918 INF extension reviewed
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7208 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-08 07:46:00 +00:00
eric_tian 721dfef39e As variable area is not reliable in recovery path, then we should not produce ReadonlyVariable2 ppi at the point. This way causes other Pei module wanted to access to variable will fail
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7183 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-05 05:50:22 +00:00
jji4 2d4117c049 Typo corrected
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7152 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-30 07:06:28 +00:00
eric_tian 3d3aafc4df remedy the ppi comment. This module is always used to produced gEfiPeiReadOnlyVariable2PpiGuid but not consumes it
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7086 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-22 06:22:36 +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
jji4 02c57dede0 INF head checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6995 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-11 07:54:52 +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 1794e50605 code scrub update
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6980 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-10 09:35:04 +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
eric_tian 133e09da3d code scrub
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6715 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-25 02:26:17 +00:00
jji4 dfc005c30f Code Scrub:
/MdeModulePkg/Universal/Variable/Pei/Variable.c re-scrubbed

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6477 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-13 01:47:14 +00:00
jji4 33479ddfd7 Code Scrub:
MdeModulePkg\Universal\Variable\Pei


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6475 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-12 10:30:50 +00:00
klu2 55a5da2838 Remove over specific library class DebugLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6403 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-05 06:58:18 +00:00