refine VariablePei driver to unify the algorithm of access 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
This commit is contained in:
eric_tian
2009-06-23 08:30:04 +00:00
parent 48a9ea7b1b
commit 841014ba97
5 changed files with 45 additions and 163 deletions

View File

@@ -32,18 +32,6 @@
Variable.c
Variable.h
[Sources.Ia32]
VariableWorker.c
[Sources.X64]
VariableWorker.c
[Sources.IPF]
Ipf/VariableWorker.c
[Sources.EBC]
VariableWorker.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec