summaryrefslogtreecommitdiff
path: root/Tools/Source/GenBuild
diff options
context:
space:
mode:
authorqouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-10 06:09:10 +0000
committerqouyang <qouyang@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-10 06:09:10 +0000
commita2733a33abc5f2b518cf21eace46059cf4a98570 (patch)
tree7abf799646d7e6d85e34d0cc1ef7201162c00219 /Tools/Source/GenBuild
parent1c4725675880a0ef3f313b424d706f0f03d7fc3a (diff)
downloadedk2-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.java21
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;