mirror of https://github.com/acidanthera/audk.git
Refine the code for PCD tools.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1282 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5f907e4a5b
commit
11eb278ae5
|
@ -362,7 +362,7 @@ public class AutoGen {
|
||||||
//
|
//
|
||||||
if (this.myPcdAutogen != null) {
|
if (this.myPcdAutogen != null) {
|
||||||
fileBuffer.append("\r\n");
|
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) {
|
if (this.myPcdAutogen != null) {
|
||||||
fileBuffer.append("\r\n");
|
fileBuffer.append("\r\n");
|
||||||
fileBuffer.append(this.myPcdAutogen.OutputC());
|
fileBuffer.append(this.myPcdAutogen.getCAutoGenString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
|
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
|
||||||
|
@ -599,7 +599,7 @@ public class AutoGen {
|
||||||
//
|
//
|
||||||
if (this.myPcdAutogen != null) {
|
if (this.myPcdAutogen != null) {
|
||||||
fileBuffer.append("\r\n");
|
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) {
|
if (this.myPcdAutogen != null) {
|
||||||
fileBuffer.append("\r\n");
|
fileBuffer.append("\r\n");
|
||||||
fileBuffer.append(this.myPcdAutogen.OutputC());
|
fileBuffer.append(this.myPcdAutogen.getCAutoGenString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
|
if (!saveFile(outputPath + File.separatorChar + "AutoGen.c", fileBuffer)) {
|
||||||
|
|
|
@ -34,8 +34,9 @@ import org.tianocore.pcd.entity.UsageIdentification;
|
||||||
import org.tianocore.pcd.entity.UsageInstance;
|
import org.tianocore.pcd.entity.UsageInstance;
|
||||||
import org.tianocore.pcd.exception.BuildActionException;
|
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 {
|
public class PCDAutoGenAction extends BuildAction {
|
||||||
///
|
///
|
||||||
|
@ -113,7 +114,7 @@ public class PCDAutoGenAction extends BuildAction {
|
||||||
|
|
||||||
@return the string of header file for PCD
|
@return the string of header file for PCD
|
||||||
**/
|
**/
|
||||||
public String OutputH() {
|
public String getHAutoGenString() {
|
||||||
return hAutoGenString;
|
return hAutoGenString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,7 +123,7 @@ public class PCDAutoGenAction extends BuildAction {
|
||||||
|
|
||||||
@return the string of C code file for PCD
|
@return the string of C code file for PCD
|
||||||
**/
|
**/
|
||||||
public String OutputC() {
|
public String getCAutoGenString() {
|
||||||
return cAutoGenString;
|
return cAutoGenString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -317,10 +318,6 @@ public class PCDAutoGenAction extends BuildAction {
|
||||||
cAutoGenString += usageInstance.getCAutogenStr();
|
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) {
|
if (pcdDriverType == CommonDefinition.PCD_DRIVER_TYPE.PEI_PCD_DRIVER) {
|
||||||
hAutoGenString += MemoryDatabaseManager.PcdPeimHString;
|
hAutoGenString += MemoryDatabaseManager.PcdPeimHString;
|
||||||
cAutoGenString += MemoryDatabaseManager.PcdPeimCString;
|
cAutoGenString += MemoryDatabaseManager.PcdPeimCString;
|
||||||
|
@ -329,29 +326,4 @@ public class PCDAutoGenAction extends BuildAction {
|
||||||
cAutoGenString += MemoryDatabaseManager.PcdDxeCString;
|
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@ package org.tianocore.build.pcd.action;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigInteger;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -50,7 +49,7 @@ import org.tianocore.pcd.exception.PlatformPcdPreprocessException;
|
||||||
**/
|
**/
|
||||||
public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreprocessAction {
|
public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreprocessAction {
|
||||||
///
|
///
|
||||||
/// FPD file is the root file.
|
/// FPD file path.
|
||||||
///
|
///
|
||||||
private String fpdFilePath;
|
private String fpdFilePath;
|
||||||
|
|
||||||
|
@ -88,7 +87,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
|
||||||
/**
|
/**
|
||||||
Common function interface for outer.
|
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.
|
@param messageLevel The message level for this Action.
|
||||||
|
|
||||||
@throws PlatformPreprocessBuildException
|
@throws PlatformPreprocessBuildException
|
||||||
|
@ -98,7 +97,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
|
||||||
**/
|
**/
|
||||||
public void perform(String fpdFilePath, int messageLevel)
|
public void perform(String fpdFilePath, int messageLevel)
|
||||||
throws PlatformPcdPreprocessBuildException {
|
throws PlatformPcdPreprocessBuildException {
|
||||||
setFPDFilePath(fpdFilePath);
|
this.fpdFilePath = fpdFilePath;
|
||||||
setActionMessageLevel(messageLevel);
|
setActionMessageLevel(messageLevel);
|
||||||
checkParameter();
|
checkParameter();
|
||||||
execute();
|
execute();
|
||||||
|
@ -152,7 +151,7 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
|
||||||
try {
|
try {
|
||||||
genPcdDatabaseSourceCode ();
|
genPcdDatabaseSourceCode ();
|
||||||
} catch (EntityException exp) {
|
} 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(),
|
dynamicPrimaryKey = Token.getPrimaryKeyString(dynamicPcdBuildDataArray.get(index).getCName(),
|
||||||
tokenSpaceStrRet);
|
tokenSpaceStrRet);
|
||||||
if (dynamicPrimaryKey.equalsIgnoreCase(token.getPrimaryKeyString())) {
|
if (dynamicPrimaryKey.equals(token.getPrimaryKeyString())) {
|
||||||
return dynamicPcdBuildDataArray.get(index);
|
return dynamicPcdBuildDataArray.get(index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -374,11 +373,11 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
|
||||||
File file = null;
|
File file = null;
|
||||||
|
|
||||||
if (fpdFilePath == 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) {
|
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);
|
file = new File(fpdFilePath);
|
||||||
|
@ -387,23 +386,4 @@ public class PlatformPcdPreprocessActionForBuilding extends PlatformPcdPreproces
|
||||||
throw new PlatformPcdPreprocessBuildException("FPD File " + fpdFilePath + " does not exist!");
|
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();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,10 @@ public abstract class BuildAction extends Task {
|
||||||
@param logStr The string contains log information.
|
@param logStr The string contains log information.
|
||||||
**/
|
**/
|
||||||
public static void logMsg(Object action, String logStr) {
|
public static void logMsg(Object action, String logStr) {
|
||||||
|
try {
|
||||||
((Task) action).log(logStr, Project.MSG_INFO);
|
((Task) action).log(logStr, Project.MSG_INFO);
|
||||||
|
} catch (Exception exp) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -58,6 +58,7 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
public PlatformPcdPreprocessAction() {
|
public PlatformPcdPreprocessAction() {
|
||||||
pcdDbManager = null;
|
pcdDbManager = null;
|
||||||
errorString = null;
|
errorString = null;
|
||||||
|
errorCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -77,12 +78,13 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
public MemoryDatabaseManager getPcdDbManager() {
|
public MemoryDatabaseManager getPcdDbManager() {
|
||||||
return pcdDbManager;
|
return pcdDbManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Abstract function: retrieve module information from FPD file.
|
Abstract function: retrieve module information from FPD file.
|
||||||
|
|
||||||
In building environement, this function will be implementated by FpdParserTask.
|
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.
|
@throws PlatformPcdPreprocessException get all modules in <ModuleSA> in FPD file.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -100,8 +102,7 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
@throws PlatformPcdPreprocessException
|
@throws PlatformPcdPreprocessException
|
||||||
Fail to get Guid information from SPD file.
|
Fail to get Guid information from SPD file.
|
||||||
**/
|
**/
|
||||||
public abstract String getGuidInfoFromSpd(String guidCName)
|
public abstract String getGuidInfoFromSpd(String guidCName) throws PlatformPcdPreprocessException;
|
||||||
throws PlatformPcdPreprocessException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Abstract function: Verification the PCD data.
|
Abstract function: Verification the PCD data.
|
||||||
|
@ -118,11 +119,8 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
@return String exception strings.
|
@return String exception strings.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
public abstract String verifyDatum(String cName,
|
public abstract String verifyDatum(String cName, String moduleName, String datum,
|
||||||
String moduleName,
|
Token.DATUM_TYPE datumType, int maxDatumSize);
|
||||||
String datum,
|
|
||||||
Token.DATUM_TYPE datumType,
|
|
||||||
int maxDatumSize);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Abstract function: Get dynamic information for a token
|
Abstract function: Get dynamic information for a token
|
||||||
|
@ -173,22 +171,23 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
**/
|
**/
|
||||||
public void initPcdMemoryDbWithPlatformInfo()
|
public void initPcdMemoryDbWithPlatformInfo()
|
||||||
throws PlatformPcdPreprocessException {
|
throws PlatformPcdPreprocessException {
|
||||||
int index = 0;
|
int index;
|
||||||
int pcdIndex = 0;
|
int pcdIndex;
|
||||||
List<PcdBuildDefinition.PcdData> pcdBuildDataArray = new ArrayList<PcdBuildDefinition.PcdData>();
|
List<PcdBuildDefinition.PcdData> pcdBuildDataArray = new ArrayList<PcdBuildDefinition.PcdData>();
|
||||||
PcdBuildDefinition.PcdData pcdBuildData = null;
|
PcdBuildDefinition.PcdData pcdBuildData;
|
||||||
Token token = null;
|
Token token = null;
|
||||||
List<ModulePcdInfoFromFpd> modules = null;
|
List<ModulePcdInfoFromFpd> modules;
|
||||||
String primaryKey = null;
|
String primaryKey;
|
||||||
String exceptionString = null;
|
String exceptionString;
|
||||||
UsageInstance usageInstance = null;
|
UsageInstance usageInstance;
|
||||||
Token.PCD_TYPE pcdType = Token.PCD_TYPE.UNKNOWN;
|
Token.PCD_TYPE pcdType = Token.PCD_TYPE.UNKNOWN;
|
||||||
Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;
|
Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;
|
||||||
long tokenNumber = 0;
|
long tokenNumber;
|
||||||
String moduleName = null;
|
String moduleName;
|
||||||
String datum = null;
|
String datum;
|
||||||
int maxDatumSize = 0;
|
int maxDatumSize;
|
||||||
String tokenSpaceStrRet = null;
|
String tokenSpaceStrRet;
|
||||||
|
ModulePcdInfoFromFpd curModule;
|
||||||
|
|
||||||
//
|
//
|
||||||
// ----------------------------------------------
|
// ----------------------------------------------
|
||||||
|
@ -208,16 +207,17 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
for (index = 0; index < modules.size(); index++) {
|
for (index = 0; index < modules.size(); index++) {
|
||||||
|
curModule = modules.get(index);
|
||||||
|
|
||||||
//
|
//
|
||||||
// It is legal for a module does not contains ANY pcd build definitions.
|
// It is legal for a module does not contains ANY pcd build definitions.
|
||||||
//
|
//
|
||||||
if (modules.get(index).pcdBuildDefinition == null) {
|
if (curModule.pcdBuildDefinition == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
pcdBuildDataArray = modules.get(index).pcdBuildDefinition.getPcdDataList();
|
pcdBuildDataArray = curModule.pcdBuildDefinition.getPcdDataList();
|
||||||
|
moduleName = curModule.usageId.moduleName;
|
||||||
moduleName = modules.get(index).usageId.moduleName;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
|
@ -433,7 +433,7 @@ public abstract class PlatformPcdPreprocessAction {
|
||||||
// ------------------------------------------------
|
// ------------------------------------------------
|
||||||
//
|
//
|
||||||
usageInstance = new UsageInstance(token,
|
usageInstance = new UsageInstance(token,
|
||||||
modules.get(index).usageId,
|
curModule.usageId,
|
||||||
pcdType,
|
pcdType,
|
||||||
datum,
|
datum,
|
||||||
maxDatumSize);
|
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 "+
|
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!",
|
"in the %s module's <ModuleSA> section to make sure there are no duplicated definitions in the FPD file!",
|
||||||
token.cName,
|
token.cName,
|
||||||
modules.get(index).usageId.moduleGuid,
|
curModule.usageId.moduleGuid,
|
||||||
moduleName,
|
moduleName,
|
||||||
moduleName));
|
moduleName));
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -193,20 +193,40 @@ public class UsageInstance {
|
||||||
|
|
||||||
switch (modulePcdType) {
|
switch (modulePcdType) {
|
||||||
case FEATURE_FLAG:
|
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",
|
hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||||
parentToken.cName);
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
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",
|
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),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
|
|
||||||
if (!isBuildUsedLibrary) {
|
if (!isBuildUsedLibrary) {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "#define _PCD_VALUE_PcdSampleToken 0x1000"
|
||||||
|
//
|
||||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
printDatum);
|
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",
|
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
|
@ -214,47 +234,91 @@ public class UsageInstance {
|
||||||
break;
|
break;
|
||||||
case FIXED_AT_BUILD:
|
case FIXED_AT_BUILD:
|
||||||
if (isByteArray) {
|
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",
|
hAutogenStr += String.format("extern const UINT8 _gPcd_FixedAtBuild_%s[];\r\n",
|
||||||
parentToken.cName);
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s (VOID*)_gPcd_FixedAtBuild_%s\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
} else {
|
} else {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "extern const UINT8 _gPcd_FixedAtBuild_PcdSampleToken";
|
||||||
|
//
|
||||||
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName);
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
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",
|
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),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
if (!isBuildUsedLibrary) {
|
if (!isBuildUsedLibrary) {
|
||||||
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
|
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
|
||||||
if (isByteArray) {
|
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",
|
hAutogenStr += String.format("#define _PCD_VALUE_%s (VOID*)_gPcd_FixedAtBuild_%s\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
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",
|
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 _gPcd_FixedAtBuild_%s[] = %s;\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
printDatum);
|
printDatum);
|
||||||
} else {
|
} else {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "#define _PCD_VALUE_PcdSampleToken 0x222"
|
||||||
|
//
|
||||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
printDatum);
|
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",
|
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "#define _PCD_VALUE_PcdSampleToken 0x222"
|
||||||
|
//
|
||||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
printDatum);
|
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",
|
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -264,16 +328,32 @@ public class UsageInstance {
|
||||||
break;
|
break;
|
||||||
case PATCHABLE_IN_MODULE:
|
case PATCHABLE_IN_MODULE:
|
||||||
if (isByteArray) {
|
if (isByteArray) {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "extern UINT8 _gPcd_BinaryPatch_PcdSampleToken[];"
|
||||||
|
//
|
||||||
hAutogenStr += String.format("extern UINT8 _gPcd_BinaryPatch_%s[];\r\n",
|
hAutogenStr += String.format("extern UINT8 _gPcd_BinaryPatch_%s[];\r\n",
|
||||||
parentToken.cName);
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s (VOID*)_gPcd_BinaryPatch_%s\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
} else {
|
} else {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "extern UINT8 _gPcd_BinaryPatch_PcdSampleToken;"
|
||||||
|
//
|
||||||
hAutogenStr += String.format("extern %s _gPcd_BinaryPatch_%s;\r\n",
|
hAutogenStr += String.format("extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName);
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -284,11 +364,19 @@ public class UsageInstance {
|
||||||
// Generate _PCD_SET_MODE_xx macro for using set BinaryPatch value via PcdSet macro
|
// Generate _PCD_SET_MODE_xx macro for using set BinaryPatch value via PcdSet macro
|
||||||
//
|
//
|
||||||
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
|
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",
|
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(SizeOfBuffer, Buffer) CopyMem (_gPcd_BinaryPatch_%s, (Buffer), (SizeOfBuffer))\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
} else {
|
} 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",
|
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(Value) (_gPcd_BinaryPatch_%s = (Value))\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -296,14 +384,26 @@ public class UsageInstance {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isBuildUsedLibrary) {
|
if (!isBuildUsedLibrary) {
|
||||||
|
//
|
||||||
|
// Example autogen string for following generation:
|
||||||
|
// "#define _PCD_VALUE_PcdSampleToken 0x111"
|
||||||
|
//
|
||||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
printDatum);
|
printDatum);
|
||||||
if (isByteArray) {
|
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",
|
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED UINT8 _gPcd_BinaryPatch_%s[] = _PCD_VALUE_%s;\r\n",
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
} else {
|
} 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",
|
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED %s _gPcd_BinaryPatch_%s = _PCD_VALUE_%s;\r\n",
|
||||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -313,18 +413,30 @@ public class UsageInstance {
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DYNAMIC:
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s LibPcdGet%s(_PCD_TOKEN_%s)\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
|
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
|
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",
|
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(SizeOfBuffer, Buffer) LibPcdSet%s(_PCD_TOKEN_%s, (SizeOfBuffer), (Buffer))\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
|
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
} else {
|
} 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",
|
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(Value) LibPcdSet%s(_PCD_TOKEN_%s, (Value))\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -336,6 +448,10 @@ public class UsageInstance {
|
||||||
guidStringCName = "_gPcd_TokenSpaceGuid_" +
|
guidStringCName = "_gPcd_TokenSpaceGuid_" +
|
||||||
parentToken.tokenSpaceName.toString().replaceAll("-", "_");
|
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",
|
hAutogenStr += String.format("#define _PCD_GET_MODE_%s_%s LibPcdGetEx%s(&%s, _PCD_TOKEN_%s)\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -344,6 +460,10 @@ public class UsageInstance {
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
|
|
||||||
if (parentToken.datumType == Token.DATUM_TYPE.POINTER) {
|
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",
|
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),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
@ -351,6 +471,10 @@ public class UsageInstance {
|
||||||
guidStringCName,
|
guidStringCName,
|
||||||
parentToken.cName);
|
parentToken.cName);
|
||||||
} else {
|
} 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",
|
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(Value) LibPcdSetEx%s(&%s, _PCD_TOKEN_%s, (Value))\r\n",
|
||||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||||
parentToken.cName,
|
parentToken.cName,
|
||||||
|
|
Loading…
Reference in New Issue