1 /** @file 2 Set the level of support for Hardware Error Record Persistence that is 3 implemented by the platform. 4 5 Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR> 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #include "HwErrRecSupport.h" 17 18 /** 19 Set the HwErrRecSupport variable contains a binary UINT16 that supplies the 20 level of support for Hardware Error Record Persistence that is implemented 21 by the platform. 22 23 **/ 24 VOID InitializeHwErrRecSupport(VOID)25InitializeHwErrRecSupport ( 26 VOID 27 ) 28 { 29 EFI_STATUS Status; 30 UINT16 HardwareErrorRecordLevel; 31 32 HardwareErrorRecordLevel = PcdGet16 (PcdHardwareErrorRecordLevel); 33 34 if (HardwareErrorRecordLevel != 0) { 35 // 36 // If level value equal 0, no need set to 0 to variable area because UEFI specification 37 // define same behavior between no value or 0 value for L"HwErrRecSupport". 38 // 39 Status = gRT->SetVariable ( 40 L"HwErrRecSupport", 41 &gEfiGlobalVariableGuid, 42 EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE, 43 sizeof (UINT16), 44 &HardwareErrorRecordLevel 45 ); 46 ASSERT_EFI_ERROR(Status); 47 } 48 } 49