// /** @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.
//
// 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.
\n"
"The main flow:
\n"
"1. It dynamically locates all controller device path.
\n"
"2. It dynamically locates all drivers which support binding protocol.
\n"
"3. It exports and dynamicly updates two menu to let user select the mapping between drivers to controllers.
\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.
"