IN UINTN SkuId\r
)\r
{\r
- SKU_ID *SkuIdTable;\r
- UINTN Index;\r
+ SKU_ID *SkuIdTable;\r
+ UINTN Index;\r
+ EFI_STATUS Status;\r
\r
if (SkuId == mPcdDatabase.DxeDb->SystemSkuId) {\r
//\r
SkuIdTable = (SKU_ID *) ((UINT8 *) mPcdDatabase.DxeDb + mPcdDatabase.DxeDb->SkuIdTableOffset);\r
for (Index = 0; Index < SkuIdTable[0]; Index++) {\r
if (SkuId == SkuIdTable[Index + 1]) {\r
- DEBUG ((EFI_D_INFO, "PcdDxe - Set current SKU Id to 0x%lx.\n", (SKU_ID) SkuId));\r
- mPcdDatabase.DxeDb->SystemSkuId = (SKU_ID) SkuId;\r
- return;\r
+ Status = UpdatePcdDatabase (SkuId, TRUE);\r
+ if (!EFI_ERROR (Status)) {\r
+ mPcdDatabase.DxeDb->SystemSkuId = (SKU_ID) SkuId;\r
+ DEBUG ((DEBUG_INFO, "PcdDxe - Set current SKU Id to 0x%lx.\n", (SKU_ID) SkuId));\r
+ return;\r
+ }\r
}\r
}\r
\r
//\r
// Invalid input SkuId, the default SKU Id will be still used for the system.\r
//\r
- DEBUG ((EFI_D_INFO, "PcdDxe - Invalid input SkuId, the default SKU Id will be still used.\n"));\r
+ DEBUG ((DEBUG_INFO, "PcdDxe - Invalid input SkuId, the default SKU Id will be still used.\n"));\r
return;\r
}\r
\r