Add comments to describe PlatformDriOverrideDxe is used for test purpose.
[mirror_edk2.git] / MdeModulePkg / Universal / PlatformDriOverrideDxe / PlatformDriOverrideDxe.inf
CommitLineData
6bfbb5f0 1## @file\r
6d8ced29
LG
2# This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist.\r
3# It doesn't install again if this protocol exists.\r
4# It only implements one interface GetDriver of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol \r
5# and doesn't support other two interfaces GetDriverPath, DriverLoaded. \r
68dbca6c 6# \r
6d8ced29
LG
7# This driver also offers an UI interface in device manager to let user configure\r
8# platform override protocol to override the default algorithm for matching\r
9# drivers to controllers.\r
10#\r
11# The main flow:\r
12# 1. It dynamicly locate all controller device path.\r
13# 2. It dynamicly locate all drivers which support binding protocol.\r
14# 3. It export and dynamicly update two menu to let user select the\r
15# mapping between drivers to controllers.\r
16# 4. It save all the mapping info in NV variables for the following boot, \r
17# which will be consumed by GetDriver API of the produced the platform override protocol.\r
18#\r
a81d26ab
LG
19# Caution: This module is a sample implementation for the test purpose.\r
20#\r
21# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
a6f164a7 22#\r
e5eed7d3 23# This program and the accompanying materials\r
a6f164a7 24# are licensed and made available under the terms and conditions of the BSD License\r
25# which accompanies this distribution. The full text of the license may be found at\r
26# http://opensource.org/licenses/bsd-license.php\r
27#\r
28# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
29# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
30#\r
6bfbb5f0 31##\r
a6f164a7 32\r
33[Defines]\r
34 INF_VERSION = 0x00010005\r
6d8ced29 35 BASE_NAME = PlatDriOverrideDxe\r
a6f164a7 36 FILE_GUID = 35034CE2-A6E5-4fb4-BABE-A0156E9B2549\r
6d8ced29 37 MODULE_TYPE = DXE_DRIVER\r
a6f164a7 38 VERSION_STRING = 1.0\r
6d8ced29
LG
39 ENTRY_POINT = PlatDriOverrideDxeInit\r
40 UNLOAD_IMAGE = PlatDriOverrideDxeUnload\r
a6f164a7 41\r
42#\r
43# The following information is for reference only and not required by the build tools.\r
44#\r
45# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
46#\r
47\r
6bfbb5f0 48[Sources]\r
6d8ced29
LG
49 VfrStrings.uni\r
50 Vfr.vfr\r
51 PlatDriOverrideDxe.c\r
52 PlatOverMngr.h\r
53 PlatDriOverrideLib.c\r
54 InternalPlatDriOverrideDxe.h\r
a6f164a7 55\r
56[Packages]\r
57 MdePkg/MdePkg.dec\r
58 MdeModulePkg/MdeModulePkg.dec\r
59\r
60[LibraryClasses]\r
61 BaseLib\r
a6f164a7 62 DebugLib\r
6d8ced29
LG
63 UefiLib\r
64 UefiDriverEntryPoint\r
68dbca6c 65 UefiBootServicesTableLib\r
6d8ced29
LG
66 HiiLib\r
67 BaseMemoryLib\r
68 MemoryAllocationLib\r
69 DevicePathLib\r
70 DxeServicesTableLib\r
71 UefiRuntimeServicesTableLib\r
72 PrintLib \r
73 \r
74[Guids]\r
75 ## This GUID C Name is not required for build since it is from UefiLib and not directly used by this module source.\r
76 ## gEfiGlobalVariableGuid ## SOMETIMES_CONSUMED ## Variable:L"PlatformLang" this variable specifies the platform supported language string (RFC 4646 format)\r
77 ## gEfiGlobalVariableGuid ## SOMETIMES_CONSUMED ## Variable:L"Lang" this variable specifies the platform supported language string (ISO 639-2 format)\r
78 ##\r
79 # There could be more than one variables, from PlatDriOver, PlatDriOver1, PlatDriOver2,...\r
80 #\r
81 # gEfiCallerIdGuid ## Private ## Variable:L"PlatDriOver"\r
82 gEfiIfrTianoGuid ## CONSUMES ## Guid\r
c8ad2d7a 83 gPlatformOverridesManagerGuid ## PRODUCES ## Guid\r
a6f164a7 84\r
68dbca6c 85[Protocols]\r
6d8ced29
LG
86 gEfiComponentName2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentName2Protocol exists)\r
87 gEfiComponentNameProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name if ComponentNameProtocol exists and ComponentName2Protocol doesn't exist)\r
88 gEfiFirmwareVolume2ProtocolGuid ## SOMETIMES_CONSUMED (Get Driver Name from EFI UI section if ComponentName2Protocol and ComponentNameProtocol don't exist)\r
89 gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMED (Find the PCI device if PciIo protocol is installed)\r
90 gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMED (Check whether the PCI device contains one or more efi drivers in its option rom by this protocol) \r
91\r
92 gEfiDriverBindingProtocolGuid ## SOMETIMES_CONSUMED\r
93 gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMED\r
94 gEfiLoadedImageDevicePathProtocolGuid ## SOMETIMES_CONSUMED (Show the drivers in the second page that support DriverBindingProtocol, LoadedImageProtocol and LoadedImageDevicePathProtocol)\r
95 gEfiDevicePathProtocolGuid ## SOMETIMES_CONSUMED (Show the controller device in the first page that support DevicePathProtocol)\r
96\r
6d8ced29
LG
97 gEfiFormBrowser2ProtocolGuid ## CONSUMED\r
98 gEfiHiiConfigRoutingProtocolGuid ## CONSUMED\r
99 gEfiHiiConfigAccessProtocolGuid ## PRODUCED\r
6d8ced29 100 gEfiPlatformDriverOverrideProtocolGuid ## PRODUCED\r
c9eb1bae 101\r
102[Depex]\r
103 gEfiFormBrowser2ProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid