summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-15 18:33:53 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-15 18:33:53 +0000
commit11eb278ae57cfc9ba415fcf91e61dea56d6082c0 (patch)
tree662751164144de0aa6218afc6561b708f9f093f7
parent5f907e4a5b747377513bb772e8fc87add4233ab0 (diff)
downloadedk2-platforms-11eb278ae57cfc9ba415fcf91e61dea56d6082c0.tar.xz
Refine the code for PCD tools.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1282 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java8
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java38
-rw-r--r--Tools/Source/GenBuild/org/tianocore/build/pcd/action/PlatformPcdPreprocessActionForBuilding.java34
-rw-r--r--Tools/Source/PcdTools/org/tianocore/pcd/action/BuildAction.java5
-rw-r--r--Tools/Source/PcdTools/org/tianocore/pcd/action/PlatformPcdPreprocessAction.java54
-rw-r--r--Tools/Source/PcdTools/org/tianocore/pcd/entity/UsageInstance.java124
6 files changed, 171 insertions, 92 deletions
diff --git a/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java b/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java
index ad4a5c7482..f3b107712e 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java
@@ -362,7 +362,7 @@ public class AutoGen {
//
if (this.myPcdAutogen != null) {
fileBuffer.append("\r\n");
- fileBuffer.append(this.myPcdAutogen.OutputH());
+ fileBuffer.append(this.myPcdAutogen.getHAutoGenString());
}
//
@@ -496,7 +496,7 @@ public class AutoGen {
if (this.myPcdAutogen != null) {
fileBuffer.append("\r\n");
- fileBuffer.append(this.myPcdAutogen.OutputC());
+ fileBuffer.append(this.myPcdAutogen.getCAutoGenString());
}
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
@@ -599,7 +599,7 @@ public class AutoGen {
//
if (this.myPcdAutogen != null) {
fileBuffer.append("\r\n");
- fileBuffer.append(this.myPcdAutogen.OutputH());
+ fileBuffer.append(this.myPcdAutogen.getHAutoGenString());
}
//
@@ -650,7 +650,7 @@ public class AutoGen {
if (this.myPcdAutogen != null) {
fileBuffer.append("\r\n");
- fileBuffer.append(this.myPcdAutogen.OutputC());
+ fileBuffer.append(this.myPcdAutogen.getCAutoGenString());
}
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
diff --git a/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java b/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java
index 6d71629b61..28bb81853e 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java
@@ -34,8 +34,9 @@ import org.tianocore.pcd.entity.UsageIdentification;
import org.tianocore.pcd.entity.UsageInstance;
import org.tianocore.pcd.exception.BuildActionException;
-/** This class is to manage how to generate the PCD information into Autogen.c and
- Autogen.h.
+/**
+ This class is to manage how to generate the PCD information into Autogen.c
+ and Autogen.h.
**/
public class PCDAutoGenAction extends BuildAction {
///
@@ -113,7 +114,7 @@ public class PCDAutoGenAction extends BuildAction {
@return the string of header file for PCD
**/
- public String OutputH() {
+ public String getHAutoGenString() {
return hAutoGenString;
}
@@ -122,7 +123,7 @@ public class PCDAutoGenAction extends BuildAction {
@return the string of C code file for PCD
**/
- public String OutputC() {
+ public String getCAutoGenString() {
return cAutoGenString;
}
@@ -317,10 +318,6 @@ public class PCDAutoGenAction extends BuildAction {
cAutoGenString += usageInstance.getCAutogenStr();
}
- //
- // Work around code, In furture following code should be modified that get
- // these information from Uplevel Autogen tools.
- //
if (pcdDriverType == CommonDefinition.PCD_DRIVER_TYPE.PEI_PCD_DRIVER) {
hAutoGenString += MemoryDatabaseManager.PcdPeimHString;
cAutoGenString += MemoryDatabaseManager.PcdPeimCString;
@@ -329,29 +326,4 @@ public class PCDAutoGenAction extends BuildAction {
cAutoGenString += MemoryDatabaseManager.PcdDxeCString;
}
}
-
- /**
- Test case function
-
- @param argv paramter from command line
- **/
- public static void main(String argv[]) {
-
- String WorkSpace = "X:/edk2";
- String logFilePath = WorkSpace + "/EdkNt32Pkg/Nt32.fpd";
-
- //
- // At first, CollectPCDAction should be invoked to collect
- // all PCD information from SPD, MSA, FPD.
- //
- PlatformPcdPreprocessActionForBuilding collectionAction = new PlatformPcdPreprocessActionForBuilding();
- GlobalData.initInfo("Tools" + File.separator + "Conf" + File.separator + "FrameworkDatabase.db",
- WorkSpace,null);
-
- try {
- collectionAction.perform(logFilePath, ActionMessage.MAX_MESSAGE_LEVEL);
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
}
diff --git a/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PlatformPcdPreprocessActionForBuilding.java b/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PlatformPcdPreprocessActionForBuilding.java
index a0a40eb4d1..4d2335dfd2 100644
--- a/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PlatformPcdPreprocessActionForBuilding.java
+++ b/Tools/Source/GenBuild/org/tianocore/build/pcd/action/PlatformPcdPreprocessActionForBuilding.java
@@ -19,7 +19,6 @@ package org.tianocore.build.pcd.action;
import java.io.File;
import java.io.IOException;
-import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -50,7 +49,7 @@ import org.tianocore.pcd.exception.PlatformPcdPreprocessException;
**/
public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreprocessAction {
///
- /// FPD file is the root file.
+ /// FPD file path.
///
private String fpdFilePath;
@@ -88,7 +87,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
/**
Common function interface for outer.
- @param fpdFilePath The fpd file path of current build or analysis.
+ @param fpdFilePath The fpd file path of current build or processing.
@param messageLevel The message level for this Action.
@throws PlatformPreprocessBuildException
@@ -98,7 +97,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
**/
public void perform(String fpdFilePath, int messageLevel)
throws PlatformPcdPreprocessBuildException {
- setFPDFilePath(fpdFilePath);
+ this.fpdFilePath = fpdFilePath;
setActionMessageLevel(messageLevel);
checkParameter();
execute();
@@ -152,7 +151,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
try {
genPcdDatabaseSourceCode ();
} catch (EntityException exp) {
- throw new PlatformPcdPreprocessBuildException(errorMessageHeader + exp.getMessage());
+ throw new PlatformPcdPreprocessBuildException(errorMessageHeader + "\r\n" + exp.getMessage());
}
}
@@ -323,7 +322,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
dynamicPrimaryKey = Token.getPrimaryKeyString(dynamicPcdBuildDataArray.get(index).getCName(),
tokenSpaceStrRet);
- if (dynamicPrimaryKey.equalsIgnoreCase(token.getPrimaryKeyString())) {
+ if (dynamicPrimaryKey.equals(token.getPrimaryKeyString())) {
return dynamicPcdBuildDataArray.get(index);
}
}
@@ -374,11 +373,11 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
File file = null;
if (fpdFilePath == null) {
- throw new PlatformPcdPreprocessBuildException("WorkspacePath and FPDFileName should be empty for CollectPCDAtion!");
+ throw new PlatformPcdPreprocessBuildException("FPDFileName should be empty for CollectPCDAtion!");
}
if (fpdFilePath.length() == 0) {
- throw new PlatformPcdPreprocessBuildException("WorkspacePath and FPDFileName should be empty for CollectPCDAtion!");
+ throw new PlatformPcdPreprocessBuildException("FPDFileName should be empty for CollectPCDAtion!");
}
file = new File(fpdFilePath);
@@ -387,23 +386,4 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
throw new PlatformPcdPreprocessBuildException("FPD File " + fpdFilePath + " does not exist!");
}
}
-
- /**
- Test case function
-
- @param argv parameter from command line
- **/
- public static void main(String argv[]) throws PlatformPcdPreprocessBuildException {
- PlatformPcdPreprocessActionForBuilding ca = new PlatformPcdPreprocessActionForBuilding();
- String projectDir = "x:/edk2";
- ca.setFPDFilePath(projectDir + "/EdkNt32Pkg/Nt32.fpd");
- ca.setActionMessageLevel(ActionMessage.MAX_MESSAGE_LEVEL);
- GlobalData.initInfo("Tools" + File.separator + "Conf" + File.separator + "FrameworkDatabase.db",
- projectDir,
- "tools_def.txt");
- System.out.println("After initInfo!");
- FpdParserTask fpt = new FpdParserTask();
- fpt.parseFpdFile(new File(projectDir + "/EdkNt32Pkg/Nt32.fpd"));
- ca.execute();
- }
}
diff --git a/Tools/Source/PcdTools/org/tianocore/pcd/action/BuildAction.java b/Tools/Source/PcdTools/org/tianocore/pcd/action/BuildAction.java
index 98068d97b9..e5288f364b 100644
--- a/Tools/Source/PcdTools/org/tianocore/pcd/action/BuildAction.java
+++ b/Tools/Source/PcdTools/org/tianocore/pcd/action/BuildAction.java
@@ -66,7 +66,10 @@ public abstract class BuildAction extends Task {
@param logStr The string contains log information.
**/
public static void logMsg(Object action, String logStr) {
- ((Task) action).log(logStr, Project.MSG_INFO);
+ try {
+ ((Task) action).log(logStr, Project.MSG_INFO);
+ } catch (Exception exp) {
+ }
}
/**
diff --git a/Tools/Source/PcdTools/org/tianocore/pcd/action/PlatformPcdPreprocessAction.java b/Tools/Source/PcdTools/org/tianocore/pcd/action/PlatformPcdPreprocessAction.java
index 9343c1689d..ee91f2a8e8 100644
--- a/Tools/Source/PcdTools/org/tianocore/pcd/action/PlatformPcdPreprocessAction.java
+++ b/Tools/Source/PcdTools/org/tianocore/pcd/action/PlatformPcdPreprocessAction.java
@@ -58,6 +58,7 @@ public abstract class PlatformPcdPreprocessAction {
public PlatformPcdPreprocessAction() {
pcdDbManager = null;
errorString = null;
+ errorCount = 0;
}
/**
@@ -77,12 +78,13 @@ public abstract class PlatformPcdPreprocessAction {
public MemoryDatabaseManager getPcdDbManager() {
return pcdDbManager;
}
+
/**
Abstract function: retrieve module information from FPD file.
In building environement, this function will be implementated by FpdParserTask.
- @return List<ModuleInfo> the component array.
+ @return List<ModulePcdInfoFromFpd> the component array.
@throws PlatformPcdPreprocessException get all modules in <ModuleSA> in FPD file.
**/
@@ -100,8 +102,7 @@ public abstract class PlatformPcdPreprocessAction {
@throws PlatformPcdPreprocessException
Fail to get Guid information from SPD file.
**/
- public abstract String getGuidInfoFromSpd(String guidCName)
- throws PlatformPcdPreprocessException;
+ public abstract String getGuidInfoFromSpd(String guidCName) throws PlatformPcdPreprocessException;
/**
Abstract function: Verification the PCD data.
@@ -118,11 +119,8 @@ public abstract class PlatformPcdPreprocessAction {
@return String exception strings.
**/
- public abstract String verifyDatum(String cName,
- String moduleName,
- String datum,
- Token.DATUM_TYPE datumType,
- int maxDatumSize);
+ public abstract String verifyDatum(String cName, String moduleName, String datum,
+ Token.DATUM_TYPE datumType, int maxDatumSize);
/**
Abstract function: Get dynamic information for a token
@@ -173,22 +171,23 @@ public abstract class PlatformPcdPreprocessAction {
**/
public void initPcdMemoryDbWithPlatformInfo()
throws PlatformPcdPreprocessException {
- int index = 0;
- int pcdIndex = 0;
+ int index;
+ int pcdIndex;
List<PcdBuildDefinition.PcdData> pcdBuildDataArray = new ArrayList<PcdBuildDefinition.PcdData>();
- PcdBuildDefinition.PcdData pcdBuildData = null;
+ PcdBuildDefinition.PcdData pcdBuildData;
Token token = null;
- List<ModulePcdInfoFromFpd> modules = null;
- String primaryKey = null;
- String exceptionString = null;
- UsageInstance usageInstance = null;
+ List<ModulePcdInfoFromFpd> modules;
+ String primaryKey;
+ String exceptionString;
+ UsageInstance usageInstance;
Token.PCD_TYPE pcdType = Token.PCD_TYPE.UNKNOWN;
Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;
- long tokenNumber = 0;
- String moduleName = null;
- String datum = null;
- int maxDatumSize = 0;
- String tokenSpaceStrRet = null;
+ long tokenNumber;
+ String moduleName;
+ String datum;
+ int maxDatumSize;
+ String tokenSpaceStrRet;
+ ModulePcdInfoFromFpd curModule;
//
// ----------------------------------------------
@@ -208,16 +207,17 @@ public abstract class PlatformPcdPreprocessAction {
// -------------------------------------------------------------------
//
for (index = 0; index < modules.size(); index++) {
- //
+ curModule = modules.get(index);
+
+ //
// It is legal for a module does not contains ANY pcd build definitions.
//
- if (modules.get(index).pcdBuildDefinition == null) {
+ if (curModule.pcdBuildDefinition == null) {
continue;
}
- pcdBuildDataArray = modules.get(index).pcdBuildDefinition.getPcdDataList();
-
- moduleName = modules.get(index).usageId.moduleName;
+ pcdBuildDataArray = curModule.pcdBuildDefinition.getPcdDataList();
+ moduleName = curModule.usageId.moduleName;
//
// ----------------------------------------------------------------------
@@ -433,7 +433,7 @@ public abstract class PlatformPcdPreprocessAction {
// ------------------------------------------------
//
usageInstance = new UsageInstance(token,
- modules.get(index).usageId,
+ curModule.usageId,
pcdType,
datum,
maxDatumSize);
@@ -441,7 +441,7 @@ public abstract class PlatformPcdPreprocessAction {
putError(String.format("PCD %s for module %s(%s) already exists in the database.\nPlease check all PCD build entries "+
"in the %s module's <ModuleSA> section to make sure there are no duplicated definitions in the FPD file!",
token.cName,
- modules.get(index).usageId.moduleGuid,
+ curModule.usageId.moduleGuid,
moduleName,
moduleName));
continue;
diff --git a/Tools/Source/PcdTools/org/tianocore/pcd/entity/UsageInstance.java b/Tools/Source/PcdTools/org/tianocore/pcd/entity/UsageInstance.java
index 47638bcea6..e38bc91aed 100644
--- a/Tools/Source/PcdTools/org/tianocore/pcd/entity/UsageInstance.java
+++ b/Tools/Source/PcdTools/org/tianocore/pcd/entity/UsageInstance.java
@@ -193,20 +193,40 @@ public class UsageInstance {
switch (modulePcdType) {
case FEATURE_FLAG:
+ //
+ // Example autogen string for following generation:
+ // "extern const BOOLEAN _gPcd_FixedAtBuild_PcdSampleToken";
+ //
hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken _gPcd_FixedAtBuild_PcdSampleToken";
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "//#define _PCD_SET_MODE_8_PcdSampleToken ASSERT(FALSE) If is not allowed to set value...";
+ //
hAutogenStr += String.format("//#define _PCD_SET_MODE_%s_%s ASSERT(FALSE) If is not allowed to set value for a FEATURE_FLAG PCD\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName);
if (!isBuildUsedLibrary) {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_VALUE_PcdSampleToken 0x1000"
+ //
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
parentToken.cName,
printDatum);
+ //
+ // Example autogen string for following generation:
+ // "GLOBAL_REMOVE_IF_UNREFERENCED const BOOLEAN _gPcd_FixedAtBuild_PcdSampleToken = _PCD_VALUE_PcdSampleToken;"
+ //
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
parentToken.cName,
parentToken.cName);
@@ -214,47 +234,91 @@ public class UsageInstance {
break;
case FIXED_AT_BUILD:
if (isByteArray) {
+ //
+ // Example autogen string for following generation:
+ // "extern const BOOLEAN _gPcd_FixedAtBuild_PcdSampleToken";
+ //
hAutogenStr += String.format("extern const UINT8 _gPcd_FixedAtBuild_%s[];\r\n",
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken (VOID*)_gPcd_FixedAtBuild_PcdSampleToken";
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s (VOID*)_gPcd_FixedAtBuild_%s\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName);
} else {
+ //
+ // Example autogen string for following generation:
+ // "extern const UINT8 _gPcd_FixedAtBuild_PcdSampleToken";
+ //
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s;\r\n",
Token.getAutogendatumTypeString(parentToken.datumType),
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken _gPcd_FixedAtBuild_PcdSampleToken";
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName);
}
+ //
+ // Example autogen string for following generation:
+ // "//#define _PCD_SET_MODE_8_PcdSampleToken ASSERT(FALSE) If is not allowed to set value...";
+ //
hAutogenStr += String.format("//#define _PCD_SET_MODE_%s_%s ASSERT(FALSE) // It is not allowed to set value for a FIXED_AT_BUILD PCD\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName);
if (!isBuildUsedLibrary) {
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
if (isByteArray) {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_VALUE_PcdSampleToken (VOID*)_gPcd_FixedAtBuild_PcdSampleToken"
+ //
hAutogenStr += String.format("#define _PCD_VALUE_%s (VOID*)_gPcd_FixedAtBuild_%s\r\n",
parentToken.cName,
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gPcd_FixedAtBuild_PcdSampleToken[] = 'dfdf';"
+ //
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gPcd_FixedAtBuild_%s[] = %s;\r\n",
parentToken.cName,
printDatum);
} else {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_VALUE_PcdSampleToken 0x222"
+ //
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
parentToken.cName,
printDatum);
+ //
+ // Example autogen string for following generation:
+ // "GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gPcd_FixedAtBuild_PcdSampleToken[] = _PCD_VALUE_PcdSampleToken;"
+ //
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
Token.getAutogendatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName);
}
} else {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_VALUE_PcdSampleToken 0x222"
+ //
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
parentToken.cName,
printDatum);
+ //
+ // Example autogen string for following generation:
+ // "GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gPcd_FixedAtBuild_PcdSampleToken[] = _PCD_VALUE_PcdSampleToken;"
+ //
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
Token.getAutogendatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -264,16 +328,32 @@ public class UsageInstance {
break;
case PATCHABLE_IN_MODULE:
if (isByteArray) {
+ //
+ // Example autogen string for following generation:
+ // "extern UINT8 _gPcd_BinaryPatch_PcdSampleToken[];"
+ //
hAutogenStr += String.format("extern UINT8 _gPcd_BinaryPatch_%s[];\r\n",
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken (VOID*)_gPcd_BinaryPatch_PcdSampleToken"
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s (VOID*)_gPcd_BinaryPatch_%s\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName);
} else {
+ //
+ // Example autogen string for following generation:
+ // "extern UINT8 _gPcd_BinaryPatch_PcdSampleToken;"
+ //
hAutogenStr += String.format("extern %s _gPcd_BinaryPatch_%s;\r\n",
Token.getAutogendatumTypeString(parentToken.datumType),
parentToken.cName);
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken _gPcd_BinaryPatch_PcdSampleToken"
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -284,11 +364,19 @@ public class UsageInstance {
// Generate _PCD_SET_MODE_xx macro for using set BinaryPatch value via PcdSet macro
//
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_SET_MODE_8_PcdSampleToken(SizeOfBuffer, Buffer) CopyMem (_gPcd_BinaryPatch_PcdSampleToken, (Buffer), (SizeOfBuffer))"
+ //
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(SizeOfBuffer, Buffer) CopyMem (_gPcd_BinaryPatch_%s, (Buffer), (SizeOfBuffer))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName);
} else {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_SET_MODE_8_PcdSampleToken(Value) (_gPcd_BinaryPatch_PcdSampleToken = (Value))"
+ //
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(Value) (_gPcd_BinaryPatch_%s = (Value))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -296,14 +384,26 @@ public class UsageInstance {
}
if (!isBuildUsedLibrary) {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_VALUE_PcdSampleToken 0x111"
+ //
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
parentToken.cName,
printDatum);
if (isByteArray) {
+ //
+ // Example autogen string for following generation:
+ // "GLOBAL_REMOVE_IF_UNREFERENCED UINT8 _gPcd_BinaryPatch_PcdSampleToken[] = _PCD_VALUE_PcdSampleToken;"
+ //
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED UINT8 _gPcd_BinaryPatch_%s[] = _PCD_VALUE_%s;\r\n",
parentToken.cName,
parentToken.cName);
} else {
+ //
+ // Example autogen string for following generation:
+ // "GLOBAL_REMOVE_IF_UNREFERENCED UINT8 _gPcd_BinaryPatch_PcdSampleToken[] = _PCD_VALUE_PcdSampleToken;"
+ //
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED %s _gPcd_BinaryPatch_%s = _PCD_VALUE_%s;\r\n",
Token.getAutogendatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -313,18 +413,30 @@ public class UsageInstance {
break;
case DYNAMIC:
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken LibPcdGet%s(_PCD_TOKEN_PcdSampleToken)"
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s LibPcdGet%s(_PCD_TOKEN_%s)\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
parentToken.cName);
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_SET_MODE_8_PcdSampleToken(SizeOfBuffer, Buffer) LibPcdSet%s(_PCD_TOKEN_PcdSampleToken, (SizeOfBuffer), (Buffer))"
+ //
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(SizeOfBuffer, Buffer) LibPcdSet%s(_PCD_TOKEN_%s, (SizeOfBuffer), (Buffer))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
parentToken.cName);
} else {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_SET_MODE_8_PcdSampleToken(Value) LibPcdSet%s(_PCD_TOKEN_PcdSampleToken, (Value))"
+ //
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(Value) LibPcdSet%s(_PCD_TOKEN_%s, (Value))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -336,6 +448,10 @@ public class UsageInstance {
guidStringCName = "_gPcd_TokenSpaceGuid_" +
parentToken.tokenSpaceName.toString().replaceAll("-", "_");
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_GET_MODE_8_PcdSampleToken LibPcdGetEx%s(&_gPcd_TokenSpaceGuid_00_00_00, _PCD_TOKEN_PcdSampleToken)"
+ //
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s LibPcdGetEx%s(&%s, _PCD_TOKEN_%s)\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -344,6 +460,10 @@ public class UsageInstance {
parentToken.cName);
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_SET_MODE_8_PcdSampleToken(SizeOfBuffer, Buffer) LibPcdSetEx%s(&_gPcd_TokenSpaceGuid_00_00_00, _PCD_TOKEN_PcdSampleToken, (SizeOfBuffer), (Buffer))"
+ //
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(SizeOfBuffer, Buffer) LibPcdSetEx%s(&%s, _PCD_TOKEN_%s, (SizeOfBuffer), (Buffer))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
@@ -351,6 +471,10 @@ public class UsageInstance {
guidStringCName,
parentToken.cName);
} else {
+ //
+ // Example autogen string for following generation:
+ // "#define _PCD_SET_MODE_8_PcdSampleToken(Value) LibPcdSetEx%s(&_gPcd_TokenSpaceGuid_00_00_00, _PCD_TOKEN_PcdSampleToken, (Value))"
+ //
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(Value) LibPcdSetEx%s(&%s, _PCD_TOKEN_%s, (Value))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,