1, Retired PCD PcdSupportHardwareErrorRecord, because as UEFI specification said, if PcdHardwareErrorRecordLevel is 0, platform does not provide feature of hardware error record.

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
This commit is contained in:
klu2 2009-02-26 08:19:38 +00:00
parent 0b84526056
commit a2b35995ca
5 changed files with 21 additions and 33 deletions

View File

@ -111,3 +111,7 @@
## Timeout value for displaying progressing bar in before boot OS. ## Timeout value for displaying progressing bar in before boot OS.
# According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff. # According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff.
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001
## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.
# This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport"
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002

View File

@ -160,7 +160,6 @@
[FeaturePcd.common] [FeaturePcd.common]
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLangDeprecate
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportHardwareErrorRecord
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport
[Pcd.common] [Pcd.common]
@ -168,7 +167,7 @@
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultLang
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLangCodes
gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut

View File

@ -313,9 +313,8 @@ BdsEntry (
PERF_START (0, "PlatformBds", "BDS", 0); PERF_START (0, "PlatformBds", "BDS", 0);
PlatformBdsInit (PrivateData); PlatformBdsInit (PrivateData);
if (FeaturePcdGet (PcdSupportHardwareErrorRecord)) { InitializeHwErrRecSupport();
InitializeHwErrRecSupport (PcdGet16 (PcdHardwareErrorRecordLevel));
}
// //
// bugbug: platform specific code // bugbug: platform specific code
// Initialize the platform specific string and language // Initialize the platform specific string and language

View 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 level of support for Hardware Error Record Persistence that is implemented
by the platform. 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 VOID
InitializeHwErrRecSupport ( InitializeHwErrRecSupport (
IN UINT16 HwErrRecSupportLevel VOID
) )
{ {
EFI_STATUS Status; UINT16 HardwareErrorRecordLevel;
Status = gRT->SetVariable ( HardwareErrorRecordLevel = PcdGet16 (PcdHardwareErrorRecordLevel);
L"HwErrRecSupport",
&gEfiGlobalVariableGuid, if (HardwareErrorRecordLevel != 0) {
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS, //
sizeof (UINT16), // Set original value again to make sure this value is stored into variable
&HwErrRecSupportLevel // area but not PCD database.
); // if level value equal 0, no need set to 0 to variable area because UEFI specification
if (EFI_ERROR (Status)) { // define same behavior between no value or 0 value for L"HwErrRecSupport"
DEBUG ((EFI_D_ERROR, "HwErrRecSupport: Can not set the variable\n")); //
PcdSet16 (PcdHardwareErrorRecordLevel, HardwareErrorRecordLevel);
} }
} }

View 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 level of support for Hardware Error Record Persistence that is implemented
by the platform. 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 VOID
InitializeHwErrRecSupport ( InitializeHwErrRecSupport (
IN UINT16 HwErrRecSupportLevel VOID
); );
#endif #endif