summaryrefslogtreecommitdiff
path: root/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.inf
blob: 0cbcb71301c0bb4401a1cce9317f0baaed5654a0 (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
## @file
#  This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist.
#  It doesn't install again if this protocol exists.
#  It only implements one interface GetDriver of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol
#  and doesn't support other two interfaces GetDriverPath, DriverLoaded.
#
#  This driver also offers an UI interface in device manager to let user configure
#  platform override protocol to override the default algorithm for matching
#  drivers to controllers.
#
#  The main flow:
#  1. It dynamically locate all controller device path.
#  2. It dynamically locate all drivers which support binding protocol.
#  3. It export and dynamically update two menu to let user select the
#     mapping between drivers to controllers.
#  4. It save all the mapping info in NV variables for the following boot,
#     which will be consumed by GetDriver API of the produced the platform override protocol.
#
#  Copyright (c) 2007 - 2017, 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.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PlatformSetupDxe
  FILE_GUID                      = C1A69A12-8653-4fde-A215-48FCD95288C3
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = PlatformSetupDxeInit
  UNLOAD_IMAGE                   = PlatformSetupDxeUnload

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  VfrStrings.uni
  FwVersionStrings.uni
  Vfr.vfr
  Main.vfi
  Boot.vfi
  Cpu.vfi
  CpuPower.vfi
  PlatformSetupDxe.c
  SetupInfoRecords.c
  PlatformSetupDxe.h
  Security.vfi
  SouthClusterConfig.vfi
  Thermal.vfi
  DptfPolicy.vfi
  SetupFunctions.c
  UnCore.vfi
  SystemComponent.vfi
  DebugConfig.vfi
  UqiList.uni
  AcpiSetup.vfi
  RtD3.vfi

[Packages]
  BroxtonPlatformPkg/PlatformPkg.dec
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  BroxtonSiPkg/BroxtonSiPkg.dec
  SecurityPkg/SecurityPkg.dec
  BroxtonSiPkg/NorthCluster/MemoryInit/MemoryInit.dec
  IntelFsp2Pkg/IntelFsp2Pkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  UefiLib
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  HiiLib
  BaseMemoryLib
  MemoryAllocationLib
  DevicePathLib
  DxeServicesTableLib
  UefiRuntimeServicesTableLib
  PrintLib
  BiosIdLib
  CpuIA32Lib
  IoLib
  BaseIpcLib
  HeciMsgLib
  SteppingLib
  SeCLib

[Guids]
  gEfiIfrTianoGuid                              ## CONSUMES ## Guid
  gEfiProcessorSubClassGuid
  gEfiMiscSubClassGuid
  gEfiCacheSubClassGuid
  gEfiMemorySubClassGuid
  gEfiSetupVariableGuid
  gEfiPlatformInfoGuid
  gEfiNormalSetupGuid
  gEfiSecureBootEnableDisableGuid
  gIFWIVersionHobGuid
  gEfiMemoryConfigDataGuid
  gEfiHobListGuid
  gSystemConfigGuid
  gFspNonVolatileStorageHobGuid  ##CONSUMES
  gPlatformModuleTokenSpaceGuid

[Protocols]
  gEfiComponentName2ProtocolGuid                ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)
  gEfiComponentNameProtocolGuid                 ## SOMETIMES_CONSUMED (Get Driver Name if ComponentNameProtocol exists and ComponentName2Protocol doesn't exist)
  gEfiFirmwareVolume2ProtocolGuid               ## SOMETIMES_CONSUMED (Get Driver Name from EFI UI section if ComponentName2Protocol and ComponentNameProtocol don't exist)
  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMED (Find the PCI device if PciIo protocol is installed)
  gEfiPciRootBridgeIoProtocolGuid
  gEfiBusSpecificDriverOverrideProtocolGuid     ## SOMETIMES_CONSUMED (Check whether the PCI device contains one or more efi drivers in its option rom by this protocol)
  gEfiDriverBindingProtocolGuid                 ## SOMETIMES_CONSUMED
  gEfiLoadedImageProtocolGuid                   ## SOMETIMES_CONSUMED
  gEfiLoadedImageDevicePathProtocolGuid         ## SOMETIMES_CONSUMED (Show the drivers in the second page that support DriverBindingProtocol, LoadedImageProtocol and LoadedImageDevicePathProtocol)
  gEfiDevicePathProtocolGuid                    ## SOMETIMES_CONSUMED (Show the controller device in the first page that support DevicePathProtocol)
  gEfiFormBrowser2ProtocolGuid                  ## CONSUMED
  gEfiHiiConfigRoutingProtocolGuid              ## CONSUMED
  gEfiHiiConfigAccessProtocolGuid               ## PRODUCED
  gEfiDevicePathToTextProtocolGuid              ## CONSUMED
  gEfiDataHubProtocolGuid
  gEfiLegacyBiosProtocolGuid
  gEfiSimpleNetworkProtocolGuid
  gEfiDiskInfoProtocolGuid                      ## CONSUMED
  gEfiMpServiceProtocolGuid
  gDxePlatformPolicyProtocolGuid
  gEfiSeCOperationProtocolGuid
  gEfiTcg2ProtocolGuid
  gEfiI2cBusProtocolGuid
  gCpuInfoProtocolGuid
  gEfiDxeSmmReadyToLockProtocolGuid
  gEfiVariableArchProtocolGuid

[Pcd.common]
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress

[Pcd]
  gPlatformModuleTokenSpaceGuid.PcdIfwiZid
  gPlatformModuleTokenSpaceGuid.PcdGetBoardNameFunc

[Depex]
  gEfiFormBrowser2ProtocolGuid       AND
  gEfiHiiConfigRoutingProtocolGuid   AND
  gEfiVariableArchProtocolGuid