]>
Commit | Line | Data |
---|---|---|
3f528797 JJ |
1 | // /** @file\r |
2 | // This driver produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist.\r | |
3 | //\r | |
4 | // It doesn't install again if this protocol exists.\r | |
5 | // It only implements one interface GetDriver of PLATFORM_DRIVER_OVERRIDE_PROTOCOL protocol\r | |
6 | // and doesn't support other two interfaces GetDriverPath, DriverLoaded.\r | |
d1102dba | 7 | //\r |
3f528797 JJ |
8 | // This driver also offers an UI interface in device manager to let user configure\r |
9 | // platform override protocol to override the default algorithm for matching\r | |
10 | // drivers to controllers.\r | |
d1102dba | 11 | //\r |
3f528797 JJ |
12 | // The main flow:\r |
13 | // 1. It dynamicly locate all controller device path.\r | |
14 | // 2. It dynamicly locate all drivers which support binding protocol.\r | |
15 | // 3. It export and dynamicly update two menu to let user select the\r | |
16 | // mapping between drivers to controllers.\r | |
17 | // 4. It save all the mapping info in NV variables for the following boot,\r | |
18 | // which will be consumed by GetDriver API of the produced the platform override protocol.\r | |
d1102dba | 19 | //\r |
3f528797 JJ |
20 | // Caution: This module is a sample implementation for the test purpose.\r |
21 | //\r | |
d1102dba | 22 | // Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r |
3f528797 JJ |
23 | //\r |
24 | // This program and the accompanying materials\r | |
25 | // are licensed and made available under the terms and conditions of the BSD License\r | |
26 | // which accompanies this distribution. The full text of the license may be found at\r | |
27 | // http://opensource.org/licenses/bsd-license.php\r | |
d1102dba | 28 | //\r |
3f528797 JJ |
29 | // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r |
30 | // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
31 | //\r | |
32 | // **/\r | |
33 | \r | |
34 | \r | |
35 | #string STR_MODULE_ABSTRACT #language en-US "Produces UEFI PLATFORM_DRIVER_OVERRIDE_PROTOCOL if this protocol doesn't exist"\r | |
36 | \r | |
37 | #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"\r | |
38 | "The main flow:<BR>\n"\r | |
39 | "1. It dynamically locates all controller device path.<BR>\n"\r | |
40 | "2. It dynamically locates all drivers which support binding protocol.<BR>\n"\r | |
41 | "3. It exports and dynamicly updates two menu to let user select the mapping between drivers to controllers.<BR>\n"\r | |
42 | "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>"\r | |
43 | \r |