summaryrefslogtreecommitdiff
path: root/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDxe/SiPolicy.c
blob: ca80487640d8cf8062930dbdcf1c11689d89d94c (plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
/** @file
  Initilize Cpu DXE Platform Policy.

  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php.

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#include <Library/BaseLib.h>
#include <Protocol/FirmwareVolume2.h>
#include <Guid/StatusCodeDataTypeId.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DebugLib.h>
#include <Protocol/SiPolicyProtocol.h>

DXE_SI_POLICY_PROTOCOL mSiPolicyData = { 0 };

/**
  Initilize Intel Cpu DXE Platform Policy.

  @param[in]  ImageHandle           Image handle of this driver.

  @retval     EFI_SUCCESS           Initialization complete.
  @retval     EFI_UNSUPPORTED       The chipset is unsupported by this driver.
  @retval     EFI_OUT_OF_RESOURCES  Do not have enough resources to initialize the driver.
  @retval     EFI_DEVICE_ERROR      Device error, driver exits abnormally.

**/
EFI_STATUS
EFIAPI
InitSiPolicy(
  )
{
  EFI_STATUS      Status;
  EFI_HANDLE      ImageHandle;

  ImageHandle = NULL;
  mSiPolicyData.Revision = DXE_SI_POLICY_PROTOCOL_REVISION_1;

  //
  // Install the DXE_SI_POLICY_PROTOCOL interface
  //
  Status = gBS->InstallMultipleProtocolInterfaces (
                  &ImageHandle,
                  &gDxeSiPolicyProtocolGuid,
                  &mSiPolicyData,
                  NULL
                  );

  ASSERT_EFI_ERROR (Status);

  return Status;
}