};\r
\r
EFI_HANDLE mPcdHandle = NULL;\r
+UINTN mVpdBaseAddress = 0;\r
\r
/**\r
Main entry for PCD DXE driver.\r
&Registration\r
);\r
\r
+ //\r
+ // Cache VpdBaseAddress in entry point for the following usage.\r
+ //\r
+\r
+ //\r
+ // PcdVpdBaseAddress64 is DynamicEx PCD only. So, DxePcdGet64Ex() is used to get its value.\r
+ //\r
+ mVpdBaseAddress = (UINTN) DxePcdGet64Ex (&gEfiMdeModulePkgTokenSpaceGuid, PcdToken (PcdVpdBaseAddress64));\r
+ if (mVpdBaseAddress == 0) {\r
+ //\r
+ // PcdVpdBaseAddress64 is not set, get value from PcdVpdBaseAddress.\r
+ //\r
+ mVpdBaseAddress = (UINTN) PcdGet32 (PcdVpdBaseAddress);\r
+ }\r
+\r
return Status;\r
}\r
\r