1 # 2 # 3 # Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved 4 # 6 # This program and the accompanying materials are licensed and made available under 8 # the terms and conditions of the BSD License that accompanies this distribution. 10 # The full text of the license may be found at 12 # http://opensource.org/licenses/bsd-license.php. 14 # 16 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 18 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 20 # 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