]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1, Retired PCD PcdSupportHardwareErrorRecord, because as UEFI specification said...
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 26 Feb 2009 08:19:38 +0000 (08:19 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 26 Feb 2009 08:19:38 +0000 (08:19 +0000)
2, Move PcdHardwareErrorRecordLevel to IntelFrameworkModulePkg
3, Change PCD type to dynamic, Platform integrator need set this PCD type as HII type PCD mapped to variable L"HwErrRecSupport".

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7713 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c
IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.c
IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.h

index 3fe2e35d3a48778088caca8252bffe6d7a192dc5..c9b72e5dd86478ad66b5855feba83273f4221cea 100644 (file)
   ## Timeout value for displaying progressing bar in before boot OS.\r
   #  According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff.\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001\r
+\r
+  ## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.\r
+  #  This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport"\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002\r
index cd89b77eab08f9a7b183a01a095113275e3b2037..d00997795209c85128d0fc1e5ed5e1f7e022666d 100644 (file)
 \r
 [FeaturePcd.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHardwareErrorRecord\r
   gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport\r
 \r
 [Pcd.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang\r
   gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes\r
   gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut\r
index 55ea3728926cd0a746e0bbcb56acbd4d371c7917..ac37f10529eb6f5e6a3b7f2a147c337b1743ce28 100644 (file)
@@ -313,9 +313,8 @@ BdsEntry (
   PERF_START (0, "PlatformBds", "BDS", 0);\r
   PlatformBdsInit (PrivateData);\r
 \r
-  if (FeaturePcdGet (PcdSupportHardwareErrorRecord)) {\r
-    InitializeHwErrRecSupport (PcdGet16 (PcdHardwareErrorRecordLevel));\r
-  }\r
+  InitializeHwErrRecSupport();\r
+  \r
   //\r
   // bugbug: platform specific code\r
   // Initialize the platform specific string and language\r
index 3b48c370ce37beb8134ee556f555ada8b8c55651..5c333697b3f7e380f0b9565e296fa1268db820d1 100644 (file)
@@ -20,30 +20,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   level of support for Hardware Error Record Persistence that is implemented\r
   by the platform.\r
 \r
-\r
-  @param HwErrRecSupportLevel\r
-                         zero value:      Indicates that the platform implements no support for\r
-                                          Hardware Error Record Persistence.\r
-                         non-zero value:  Indicates that the platform implements Hardware Error\r
-                                          Record Persistence.\r
-\r
 **/\r
 VOID\r
 InitializeHwErrRecSupport (\r
-  IN UINT16       HwErrRecSupportLevel\r
+  VOID\r
   )\r
 {\r
-  EFI_STATUS  Status;\r
-\r
-  Status = gRT->SetVariable (\r
-                  L"HwErrRecSupport",\r
-                  &gEfiGlobalVariableGuid,\r
-                  EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
-                  sizeof (UINT16),\r
-                  &HwErrRecSupportLevel\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "HwErrRecSupport: Can not set the variable\n"));\r
+  UINT16 HardwareErrorRecordLevel;\r
+  \r
+  HardwareErrorRecordLevel = PcdGet16 (PcdHardwareErrorRecordLevel);\r
+  \r
+  if (HardwareErrorRecordLevel != 0) {\r
+    //\r
+    // Set original value again to make sure this value is stored into variable\r
+    // area but not PCD database.\r
+    // if level value equal 0, no need set to 0 to variable area because UEFI specification\r
+    // define same behavior between no value or 0 value for L"HwErrRecSupport"\r
+    //\r
+    PcdSet16 (PcdHardwareErrorRecordLevel, HardwareErrorRecordLevel);\r
   }\r
-\r
 }\r
index 1926839c6ff66842cf433a741a6e1868691cfce0..ea5e4e7beb580da8c1081fd93889ba95b82748b8 100644 (file)
@@ -23,17 +23,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   level of support for Hardware Error Record Persistence that is implemented\r
   by the platform.\r
 \r
-\r
-  @param HwErrRecSupportLevel\r
-                         zero value      - Indicates that the platform implements no support for\r
-                         Hardware Error Record Persistence.\r
-                         non-zero value  - Indicates that the platform implements Hardware Error\r
-                         Record Persistence.\r
-\r
 **/\r
 VOID\r
 InitializeHwErrRecSupport (\r
-  IN UINT16       HwErrRecSupportLevel\r
+  VOID\r
   );\r
 \r
 #endif\r