• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2#
3# Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved
4#
5
6# This program and the accompanying materials are licensed and made available under
7
8# the terms and conditions of the BSD License that accompanies this distribution.
9
10# The full text of the license may be found at
11
12# http://opensource.org/licenses/bsd-license.php.
13
14#
15
16# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17
18# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19
20#
21
22#
23#
24#  This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist.
25#  It doesn't install again if this protocol exists.
26#  It only implements one interface GetDriver of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol
27#  and doesn't support other two interfaces GetDriverPath, DriverLoaded.
28#
29#  This driver also offers an UI interface in device manager to let user configure
30#  platform override protocol to override the default algorithm for matching
31#  drivers to controllers.
32#
33#  The main flow:
34#  1. It dynamicly locate all controller device path.
35#  2. It dynamicly locate all drivers which support binding protocol.
36#  3. It export and dynamicly update two menu to let user select the
37#     mapping between drivers to controllers.
38#  4. It save all the mapping info in NV variables for the following boot,
39#     which will be consumed by GetDriver API of the produced the platform override protocol.
40#
41#
42##
43
44[Defines]
45  INF_VERSION                    = 0x00010005
46  BASE_NAME                      = PlatformSetupDxe
47  FILE_GUID                      = C1A69A12-8653-4fde-A215-48FCD95288C3
48  MODULE_TYPE                    = DXE_DRIVER
49  VERSION_STRING                 = 1.0
50  ENTRY_POINT                    = PlatformSetupDxeInit
51  UNLOAD_IMAGE                   = PlatformSetupDxeUnload
52
53#
54# The following information is for reference only and not required by the build tools.
55#
56#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
57#
58
59[Sources]
60  VfrStrings.uni
61  FwVersionStrings.uni
62  Vfr.vfr
63  Main.vfi
64  Boot.vfi
65  PlatformSetupDxe.c
66  SetupInfoRecords.c
67  PlatformSetupDxe.h
68  Security.vfi
69  SouthClusterConfig.vfi
70  Thermal.vfi
71  SetupFunctions.c
72  UnCore.vfi
73  SystemComponent.vfi
74  DebugConfig.vfi
75  UqiList.uni
76
77[Packages]
78  MdePkg/MdePkg.dec
79  MdeModulePkg/MdeModulePkg.dec
80  IntelFrameworkPkg/IntelFrameworkPkg.dec
81  Vlv2TbltDevicePkg/PlatformPkg.dec
82  Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec    #for PchAccess.h
83  SecurityPkg/SecurityPkg.dec
84
85[LibraryClasses]
86  BaseLib
87  DebugLib
88  UefiLib
89  UefiDriverEntryPoint
90  UefiBootServicesTableLib
91  HiiLib
92  BaseMemoryLib
93  MemoryAllocationLib
94  DevicePathLib
95  DxeServicesTableLib
96  UefiRuntimeServicesTableLib
97  PrintLib
98  BiosIdLib
99  CpuIA32Lib
100  IoLib
101
102[Guids]
103  ##  This GUID C Name is not required for build since it is from UefiLib and not directly used by this module source.
104  ##  gEfiGlobalVariableGuid                      ## SOMETIMES_CONSUMED ## Variable:L"PlatformLang" this variable specifies the platform supported language string (RFC 4646 format)
105  ##  gEfiGlobalVariableGuid                      ## SOMETIMES_CONSUMED ## Variable:L"Lang" this variable specifies the platform supported language string (ISO 639-2 format)
106  ##
107  # There could be more than one variables, from PlatDriOver, PlatDriOver1, PlatDriOver2,...
108  #
109  # gEfiCallerIdGuid                            ## Private  ## Variable:L"PlatDriOver"
110  gEfiIfrTianoGuid                              ## CONSUMES ## Guid
111  gEfiProcessorSubClassGuid
112  gEfiMiscSubClassGuid
113  gEfiCacheSubClassGuid
114  gEfiMemorySubClassGuid
115  gEfiPlatformInfoGuid
116  gEfiNormalSetupGuid
117  gEfiSecureBootEnableDisableGuid
118  gOsSelectionVariableGuid
119  gEfiGlobalVariableGuid
120
121[Protocols]
122  gEfiComponentName2ProtocolGuid                ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)
123  gEfiComponentNameProtocolGuid                 ## SOMETIMES_CONSUMED (Get Driver Name if ComponentNameProtocol exists and ComponentName2Protocol doesn't exist)
124  gEfiFirmwareVolume2ProtocolGuid               ## SOMETIMES_CONSUMED (Get Driver Name from EFI UI section if ComponentName2Protocol and ComponentNameProtocol don't exist)
125  gEfiPciIoProtocolGuid                         ## SOMETIMES_CONSUMED (Find the PCI device if PciIo protocol is installed)
126  gEfiPciRootBridgeIoProtocolGuid
127  gEfiBusSpecificDriverOverrideProtocolGuid     ## SOMETIMES_CONSUMED (Check whether the PCI device contains one or more efi drivers in its option rom by this protocol)
128
129  gEfiDriverBindingProtocolGuid                 ## SOMETIMES_CONSUMED
130  gEfiLoadedImageProtocolGuid                   ## SOMETIMES_CONSUMED
131  gEfiLoadedImageDevicePathProtocolGuid         ## SOMETIMES_CONSUMED (Show the drivers in the second page that support DriverBindingProtocol, LoadedImageProtocol and LoadedImageDevicePathProtocol)
132  gEfiDevicePathProtocolGuid                    ## SOMETIMES_CONSUMED (Show the controller device in the first page that support DevicePathProtocol)
133
134  gEfiFormBrowser2ProtocolGuid                  ## CONSUMED
135  gEfiHiiConfigRoutingProtocolGuid              ## CONSUMED
136  gEfiHiiConfigAccessProtocolGuid               ## PRODUCED
137  gEfiDevicePathToTextProtocolGuid              ## CONSUMED
138  gEdkiiFormBrowserEx2ProtocolGuid
139
140  gEfiDataHubProtocolGuid
141  gEfiLegacyBiosProtocolGuid
142  gEfiSimpleNetworkProtocolGuid
143
144  gEfiDiskInfoProtocolGuid                      ## CONSUMED
145  gEfiMpServiceProtocolGuid
146  gDxePchPlatformPolicyProtocolGuid
147  gEfiCpuIo2ProtocolGuid
148  gEfiTdtOperationProtocolGuid
149  gEfiSmbiosProtocolGuid                        ## PROTOCOL CONSUMES
150
151[Pcd.common]
152  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
153
154[Depex]
155  gEfiFormBrowser2ProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid
156