summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatDriOverrideDxe.uni
blob: 9905a28d7029d3652823005a0c8af20f9cba3d35 (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
// /** @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 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.
//
// Caution: This module is a sample implementation for the test purpose.
//
// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist"

#string STR_MODULE_DESCRIPTION          #language en-US "This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist. It only implements the GetDriver() interface of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol This driver also offers an UI interface in device manager to let users configure PlatformOverrideProtocol to override the default algorithm for matching drivers to controllers.<BR><BR>\n"
                                                        "The main flow:<BR>\n"
                                                        "1. It dynamically locates all controller device path.<BR>\n"
                                                        "2. It dynamically locates all drivers which support binding protocol.<BR>\n"
                                                        "3. It exports and dynamicly updates two menu to let user select the  mapping between drivers to controllers.<BR>\n"
                                                        "4. It saves 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.<BR>"