diff options
author | qouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-10 06:09:10 +0000 |
---|---|---|
committer | qouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-10 06:09:10 +0000 |
commit | a2733a33abc5f2b518cf21eace46059cf4a98570 (patch) | |
tree | 7abf799646d7e6d85e34d0cc1ef7201162c00219 /Tools/Source/GenBuild | |
parent | 1c4725675880a0ef3f313b424d706f0f03d7fc3a (diff) | |
download | edk2-a2733a33abc5f2b518cf21eace46059cf4a98570.zip edk2-a2733a33abc5f2b518cf21eace46059cf4a98570.tar.gz edk2-a2733a33abc5f2b518cf21eace46059cf4a98570.tar.bz2 |
Fix EDKT186.
Fix EDKT148.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1230 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools/Source/GenBuild')
-rw-r--r-- | Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java b/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java index 31a09dd..2d7bb09 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java +++ b/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java @@ -1772,6 +1772,27 @@ public class AutoGen { */
void ExternCallBackToAutoGenC(StringBuffer fileBuffer)
throws BuildException {
+ //
+ // Collect module's <SetVirtualAddressMapCallBack> and
+ // <ExitBootServiceCallBack> and add to setVirtualAddList
+ // exitBootServiceList.
+ //
+ String[] setVirtuals = SurfaceAreaQuery.getSetVirtualAddressMapCallBackArray();
+ String[] exitBoots = SurfaceAreaQuery.getExitBootServicesCallBackArray();
+ if (setVirtuals != null) {
+ for (int j = 0; j < setVirtuals.length; j++) {
+ this.setVirtalAddList.add(setVirtuals[j]);
+ }
+ }
+ if (exitBoots != null) {
+ for (int k = 0; k < exitBoots.length; k++) {
+ this.exitBootServiceList.add(exitBoots[k]);
+ }
+ }
+ //
+ // Add c code in autogen.c which relate to <SetVirtualAddressMapCallBack>
+ // and <ExitBootServicesCallBack>
+ //
String moduleType = this.moduleId.getModuleType();
boolean UefiOrDxeModule = false;
int Count = 0;
|