| // /** @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>" | |