]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Universal/BdsDxe/HwErrRecSupport.c
IntelFrameworkModulePkg: Clean up source files
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / HwErrRecSupport.c
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 - 2018, 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
25 InitializeHwErrRecSupport (
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 }