X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FPlatformDriOverrideDxe%2FPlatformDriOverride.c;fp=MdeModulePkg%2FUniversal%2FPlatformDriOverrideDxe%2FPlatformDriOverride.c;h=0000000000000000000000000000000000000000;hp=2a189138ed2e53c7ba65af519304f42a4e24121e;hb=234a9da3d57d818b1b16e7a64c6cf16dd1a3400b;hpb=a6f164a7e6e682500e24a28cb52c4c7a2e9064e2 diff --git a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverride.c b/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverride.c deleted file mode 100644 index 2a189138ed..0000000000 --- a/MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverride.c +++ /dev/null @@ -1,186 +0,0 @@ -/** @file - -Copyright (c) 2007, Intel Corporation -All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -Module Name: - - PlatformDriOverride.c - -Abstract: - - -**/ - - -#include "PlatformDriOverride.h" - -EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL gPlatformDriverOverride = { - GetDriver, - GetDriverPath, - DriverLoaded -}; - -STATIC LIST_ENTRY mMappingDataBase = INITIALIZE_LIST_HEAD_VARIABLE (mMappingDataBase); -STATIC BOOLEAN mEnvironmentVariableRead = FALSE; -STATIC EFI_HANDLE mCallerImageHandle; - - -EFI_STATUS -EFIAPI -PlatformDriverOverrideEntry ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -/*++ - -Routine Description: - Platform Driver Override driver entry point, install the Platform Driver Override Protocol - -Arguments: - (Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT) - -Returns: - EFI_STATUS - ---*/ -{ - mEnvironmentVariableRead = FALSE; - mCallerImageHandle = ImageHandle; - InitializeListHead (&mMappingDataBase); - return InstallPlatformDriverOverrideProtocol (&gPlatformDriverOverride); -} - - -/** - Retrieves the image handle of the platform override driver for a controller in the system. - - @param This A pointer to the - EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL instance. - @param ControllerHandle The device handle of the controller to check if a - driver override exists. - @param DriverImageHandle On input, a pointer to the previous driver image - handle returned by GetDriver(). On output, a - pointer to the next driver image handle. Passing - in a NULL, will return the first driver image - handle for ControllerHandle. - - @retval EFI_SUCCESS The driver override for ControllerHandle was - returned in DriverImageHandle. - @retval EFI_NOT_FOUND A driver override for ControllerHandle was not - found. - @retval EFI_INVALID_PARAMETER The handle specified by ControllerHandle is not a - valid handle. DriverImageHandle is not a handle - that was returned on a previous call to - GetDriver(). - -**/ -STATIC -EFI_STATUS -EFIAPI -GetDriver ( - IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL * This, - IN EFI_HANDLE ControllerHandle, - IN OUT EFI_HANDLE * DriverImageHandle - ) -{ - EFI_STATUS Status; - // - // Check that ControllerHandle is a valid handle - // - if (ControllerHandle == NULL) { - return EFI_INVALID_PARAMETER; - } - - // - // Read the environment variable(s) that contain the override mappings from Controller Device Path to - // a set of Driver Device Paths, and initialize in memory database of the overrides that map Controller - // Device Paths to an ordered set of Driver Device Paths and Driver Handles. This action is only performed - // once and finished in first call. - // - if (!mEnvironmentVariableRead) { - mEnvironmentVariableRead = TRUE; - - Status = InitOverridesMapping (&mMappingDataBase); - if (Status == EFI_NOT_FOUND) { - InitializeListHead (&mMappingDataBase); - return EFI_NOT_FOUND; - } else if (Status == EFI_VOLUME_CORRUPTED){ - DEBUG ((DEBUG_ERROR, "Platform Driver Override Variable is corrupt\n")); - // - // The environment variable(s) that contain the override mappings from Controller Device Path to - // a set of Driver Device Paths is corrupted, platform code can use LibDeleteOverridesVariables to - // delete all orverride variables as a policy. Here can be IBV/OEM customized. - // - - //LibDeleteOverridesVariables(); - InitializeListHead (&mMappingDataBase); - return EFI_NOT_FOUND; - } else if (EFI_ERROR (Status)){ - InitializeListHead (&mMappingDataBase); - return EFI_NOT_FOUND; - } - } - // - // if the environment variable does not exist or the variable appears to be corrupt, just return not found - // - if (IsListEmpty (&mMappingDataBase)) { - return EFI_NOT_FOUND; - } - - return GetDriverFromMapping ( - This, - ControllerHandle, - DriverImageHandle, - &mMappingDataBase, - mCallerImageHandle - ); - -} - - -/** - For the use of the ControllerHandle parameter in the GetDriverPath() and DriverLoaded() APIs - makes those APIs very difficult to use, so not support. - - - -**/ -STATIC -EFI_STATUS -EFIAPI -GetDriverPath ( - IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL * This, - IN EFI_HANDLE ControllerHandle, - IN OUT EFI_DEVICE_PATH_PROTOCOL **DriverImagePath - ) -{ - return EFI_UNSUPPORTED; -} - - -/** - For the use of the ControllerHandle parameter in the GetDriverPath() and DriverLoaded() APIs - makes those APIs very difficult to use, so not support. - - - -**/ -STATIC -EFI_STATUS -EFIAPI -DriverLoaded ( - IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL * This, - IN EFI_HANDLE ControllerHandle, - IN EFI_DEVICE_PATH_PROTOCOL * DriverImagePath, - IN EFI_HANDLE DriverImageHandle - ) -{ - return EFI_UNSUPPORTED; -}