Fix track EDKT106 & EDKT112: map LibPcdSetPtr function for PatchPcdSetPtr macro function defined in PcdLib library class

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1381 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2 2006-08-24 17:04:56 +00:00
parent 82810f3b0f
commit 7085597507
2 changed files with 15 additions and 3 deletions

View File

@ -58,7 +58,12 @@ Module Name: PcdLib.h
#define PatchPcdSet64(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
#define PatchPcdSetBool(TokenName, Value) (_gPcd_BinaryPatch_##TokenName = (Value))
#define PatchPcdSetPtr(TokenName, Size, Buffer) \
CopyMem (_gPcd_BinaryPatch_##TokenName, (Buffer), (Size))
LibPatchPcdSetPtr ( \
_gPcd_BinaryPatch_##TokenName, \
(UINTN)_PCD_PATCHABLE_##TokenName##_SIZE, \
(Size), \
(Buffer) \
)
//
// Dynamic is via the protocol with only the TokenNumber as argument

View File

@ -368,9 +368,15 @@ public class UsageInstance {
// 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_PATCHABLE_%s_SIZE %d\r\n",
parentToken.cName,
parentToken.datumSize);
hAutogenStr += String.format("#define _PCD_SET_MODE_%s_%s(SizeOfBuffer, Buffer) "+
"LibPatchPcdSetPtr (_gPcd_BinaryPatch_%s, (UINTN)_PCD_PATCHABLE_%s_SIZE, "+
"(SizeOfBuffer), (Buffer))\r\n",
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
parentToken.cName,
parentToken.cName,
parentToken.cName);
} else {
//
@ -396,8 +402,9 @@ public class UsageInstance {
// 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[%d] = _PCD_VALUE_%s;\r\n",
parentToken.cName,
parentToken.datumSize,
parentToken.cName);
} else {
//