Revision: 18605
          http://sourceforge.net/p/edk2/code/18605
Author:   ydong10
Date:     2015-10-15 00:57:45 +0000 (Thu, 15 Oct 2015)
Log Message:
-----------
IntelFrameworkModulePkg BdsDxe: Use PcdSet##S to replace PcdSet##

PcdSet## has no error status returned, then the caller has no idea about 
whether the set operation is successful or not.
PcdSet##S were added to return error status and PcdSet## APIs were put in 
ifndef DISABLE_NEW_DEPRECATED_INTERFACES condition.
To adopt PcdSet##S and further code development with 
DISABLE_NEW_DEPRECATED_INTERFACES defined, we need to Replace PcdSet## usage 
with PcdSet##S.

Normally, DynamicDefault PCD set is expected to be success, but DynamicHii PCD 
set failure is a legal case.
So for DynamicDefault, we add assert when set failure. For DynamicHii, we add 
logic to handle it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <[email protected]>
Reviewed-by: Star Zeng <[email protected]>

Modified Paths:
--------------
    trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c
    trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
    trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c

Modified: 
trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c
===================================================================
--- trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c    
2015-10-15 00:57:20 UTC (rev 18604)
+++ trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c    
2015-10-15 00:57:45 UTC (rev 18605)
@@ -1370,9 +1370,11 @@
 
   Status = gST->ConOut->QueryMode (gST->ConOut, Mode, &(ModeInfo.Column), 
&(ModeInfo.Row));
   if (!EFI_ERROR(Status)) {
-    PcdSet32 (PcdSetupConOutColumn, (UINT32) ModeInfo.Column);
-    PcdSet32 (PcdSetupConOutRow, (UINT32) ModeInfo.Row);
+    Status = PcdSet32S (PcdSetupConOutColumn, (UINT32) ModeInfo.Column);
+    if (!EFI_ERROR (Status)){
+      Status = PcdSet32S (PcdSetupConOutRow, (UINT32) ModeInfo.Row);
+    }
   }
 
-  return EFI_SUCCESS;
+  return Status;
 }

Modified: trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
===================================================================
--- trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c     
2015-10-15 00:57:20 UTC (rev 18604)
+++ trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c     
2015-10-15 00:57:45 UTC (rev 18605)
@@ -1395,8 +1395,10 @@
                   //
                   // Update text mode PCD.
                   //
-                  PcdSet32 (PcdConOutColumn, mSetupTextModeColumn);
-                  PcdSet32 (PcdConOutRow, mSetupTextModeRow);
+                  Status = PcdSet32S (PcdConOutColumn, mSetupTextModeColumn);
+                  ASSERT_EFI_ERROR (Status);
+                  Status = PcdSet32S (PcdConOutRow, mSetupTextModeRow);
+                  ASSERT_EFI_ERROR (Status);
                   FreePool (Info);
                   return EFI_SUCCESS;
                 }
@@ -1437,10 +1439,14 @@
   // Set PCD to Inform GraphicsConsole to change video resolution.
   // Set PCD to Inform Consplitter to change text mode.
   //
-  PcdSet32 (PcdVideoHorizontalResolution, NewHorizontalResolution);
-  PcdSet32 (PcdVideoVerticalResolution, NewVerticalResolution);
-  PcdSet32 (PcdConOutColumn, NewColumns);
-  PcdSet32 (PcdConOutRow, NewRows);
+  Status = PcdSet32S (PcdVideoHorizontalResolution, NewHorizontalResolution);
+  ASSERT_EFI_ERROR (Status);
+  Status = PcdSet32S (PcdVideoVerticalResolution, NewVerticalResolution);
+  ASSERT_EFI_ERROR (Status);
+  Status = PcdSet32S (PcdConOutColumn, NewColumns);
+  ASSERT_EFI_ERROR (Status);
+  Status = PcdSet32S (PcdConOutRow, NewRows);
+  ASSERT_EFI_ERROR (Status);
   
   
   //

Modified: trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c
===================================================================
--- trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c    
2015-10-15 00:57:20 UTC (rev 18604)
+++ trunk/edk2/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c    
2015-10-15 00:57:45 UTC (rev 18605)
@@ -426,7 +426,10 @@
   //
   IsFirstBoot = PcdGetBool(PcdBootState);
   if (IsFirstBoot) {
-    PcdSetBool(PcdBootState, FALSE);
+    Status = PcdSetBoolS(PcdBootState, FALSE);
+    if (EFI_ERROR (Status)) {
+      DEBUG ((EFI_D_ERROR, "Set PcdBootState to FALSE failed.\n"));
+    }
   }
 
   return ReturnStatus;


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to