blob: 9cd774b427b0d35d3ca4ff6abab7aa7d40d9f697 (
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
|
#
#
# Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
#
# This program and the accompanying materials are licensed and made available under
# the terms and conditions of the BSD License that 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.
#
#
#
# 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 dynamicly locate all controller device path.
# 2. It dynamicly locate all drivers which support binding protocol.
# 3. It export and dynamicly 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.
#
#
##
[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
PlatformSetupDxe.c
SetupInfoRecords.c
PlatformSetupDxe.h
Security.vfi
SouthClusterConfig.vfi
Thermal.vfi
SetupFunctions.c
UnCore.vfi
SystemComponent.vfi
DebugConfig.vfi
UqiList.uni
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
IntelFrameworkPkg/IntelFrameworkPkg.dec
Vlv2TbltDevicePkg/PlatformPkg.dec
Vlv2DeviceRefCodePkg/Vlv2DeviceRefCodePkg.dec #for PchAccess.h
SecurityPkg/SecurityPkg.dec
[LibraryClasses]
BaseLib
DebugLib
UefiLib
UefiDriverEntryPoint
UefiBootServicesTableLib
HiiLib
BaseMemoryLib
MemoryAllocationLib
DevicePathLib
DxeServicesTableLib
UefiRuntimeServicesTableLib
PrintLib
BiosIdLib
CpuIA32Lib
IoLib
[Guids]
## This GUID C Name is not required for build since it is from UefiLib and not directly used by this module source.
## gEfiGlobalVariableGuid ## SOMETIMES_CONSUMED ## Variable:L"PlatformLang" this variable specifies the platform supported language string (RFC 4646 format)
## gEfiGlobalVariableGuid ## SOMETIMES_CONSUMED ## Variable:L"Lang" this variable specifies the platform supported language string (ISO 639-2 format)
##
# There could be more than one variables, from PlatDriOver, PlatDriOver1, PlatDriOver2,...
#
# gEfiCallerIdGuid ## Private ## Variable:L"PlatDriOver"
gEfiIfrTianoGuid ## CONSUMES ## Guid
gEfiProcessorSubClassGuid
gEfiMiscSubClassGuid
gEfiCacheSubClassGuid
gEfiMemorySubClassGuid
gEfiPlatformInfoGuid
gEfiNormalSetupGuid
gEfiSecureBootEnableDisableGuid
gOsSelectionVariableGuid
gEfiGlobalVariableGuid
[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
gDxePchPlatformPolicyProtocolGuid
gEfiCpuIo2ProtocolGuid
gEfiTdtOperationProtocolGuid
gEfiSmbiosProtocolGuid ## PROTOCOL CONSUMES
[Pcd.common]
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
[Depex]
gEfiFormBrowser2ProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid
|