diff options
Diffstat (limited to 'IntelFrameworkModulePkg/Universal/BdsDxe')
4 files changed, 17 insertions, 33 deletions
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf index cd89b77eab..d009977952 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf @@ -160,7 +160,6 @@ [FeaturePcd.common]
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate
- gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHardwareErrorRecord
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport
[Pcd.common]
@@ -168,7 +167,7 @@ gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang
- gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c index 55ea372892..ac37f10529 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c @@ -313,9 +313,8 @@ BdsEntry ( PERF_START (0, "PlatformBds", "BDS", 0);
PlatformBdsInit (PrivateData);
- if (FeaturePcdGet (PcdSupportHardwareErrorRecord)) {
- InitializeHwErrRecSupport (PcdGet16 (PcdHardwareErrorRecordLevel));
- }
+ InitializeHwErrRecSupport();
+
//
// bugbug: platform specific code
// Initialize the platform specific string and language
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.c b/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.c index 3b48c370ce..5c333697b3 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.c @@ -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
by the platform.
-
- @param HwErrRecSupportLevel
- zero value: Indicates that the platform implements no support for
- Hardware Error Record Persistence.
- non-zero value: Indicates that the platform implements Hardware Error
- Record Persistence.
-
**/
VOID
InitializeHwErrRecSupport (
- IN UINT16 HwErrRecSupportLevel
+ VOID
)
{
- EFI_STATUS Status;
-
- Status = gRT->SetVariable (
- L"HwErrRecSupport",
- &gEfiGlobalVariableGuid,
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
- sizeof (UINT16),
- &HwErrRecSupportLevel
- );
- if (EFI_ERROR (Status)) {
- DEBUG ((EFI_D_ERROR, "HwErrRecSupport: Can not set the variable\n"));
+ UINT16 HardwareErrorRecordLevel;
+
+ HardwareErrorRecordLevel = PcdGet16 (PcdHardwareErrorRecordLevel);
+
+ if (HardwareErrorRecordLevel != 0) {
+ //
+ // Set original value again to make sure this value is stored into variable
+ // area but not PCD database.
+ // if level value equal 0, no need set to 0 to variable area because UEFI specification
+ // define same behavior between no value or 0 value for L"HwErrRecSupport"
+ //
+ PcdSet16 (PcdHardwareErrorRecordLevel, HardwareErrorRecordLevel);
}
-
}
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.h b/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.h index 1926839c6f..ea5e4e7beb 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.h +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.h @@ -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
by the platform.
-
- @param HwErrRecSupportLevel
- zero value - Indicates that the platform implements no support for
- Hardware Error Record Persistence.
- non-zero value - Indicates that the platform implements Hardware Error
- Record Persistence.
-
**/
VOID
InitializeHwErrRecSupport (
- IN UINT16 HwErrRecSupportLevel
+ VOID
);
#endif
|