hc
2024-03-25 edb30157bad0c0001c32b854271ace01d3b9a16a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/** @file
 
  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
 
#include "PeiMePolicyUpdate.h"
#include <ConfigBlock/MePeiConfig.h>
#include <Library/PeiServicesLib.h>
#include <Library/DebugLib.h>
#include <Library/ConfigBlockLib.h>
#include <Library/PmcLib.h>
 
/**
  Update the ME Policy Library
 
  @param[in, out] SiPolicyPpi     The pointer to SiPolicyPpi
 
  @retval EFI_SUCCESS             Update complete.
**/
EFI_STATUS
UpdatePeiMePolicy (
  IN OUT SI_POLICY_PPI            *SiPolicyPpi
  )
{
  EFI_STATUS                      Status;
  ME_PEI_CONFIG                   *MePeiConfig;
 
  DEBUG ((DEBUG_INFO, "UpdatePeiMePolicy\n"));
 
  Status = EFI_SUCCESS;
 
  Status = GetConfigBlock ((VOID *) SiPolicyPpi, &gMePeiConfigGuid, (VOID *) &MePeiConfig);
  ASSERT_EFI_ERROR (Status);
  if (EFI_ERROR (Status)) {
    return Status;
  }
 
  if (!PmcIsRtcBatteryGood ()) {
    //
    // For non coin battery design, this can be skipped.
    //
    MePeiConfig->MeUnconfigOnRtcClear   = 2;
  }
 
  return Status;
}