OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcDriverConnectionLib.c File Reference
#include <Library/MemoryAllocationLib.h>
#include <Library/DebugLib.h>
#include <Library/OcDriverConnectionLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/PlatformDriverOverride.h>

Go to the source code of this file.

Functions

STATIC EFI_STATUS EFIAPI OcPlatformGetDriver (IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN OUT EFI_HANDLE *DriverImageHandle)
 
STATIC EFI_STATUS EFIAPI OcPlatformGetDriverPath (IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN OUT EFI_DEVICE_PATH_PROTOCOL **DriverImagePath)
 
STATIC EFI_STATUS EFIAPI OcPlatformDriverLoaded (IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath, IN EFI_HANDLE DriverImageHandle)
 
EFI_STATUS OcRegisterDriversToHighestPriority (IN EFI_HANDLE *PriorityDrivers)
 
EFI_STATUS OcConnectDrivers (VOID)
 

Variables

STATIC EFI_HANDLE * mPriorityDrivers
 
STATIC EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER mOrgPlatformGetDriver
 
STATIC EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL mOcPlatformDriverOverrideProtocol
 

Detailed Description

Copyright (C) 2020, vit9696. All rights reserved.

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.

Definition in file OcDriverConnectionLib.c.

Function Documentation

◆ OcConnectDrivers()

EFI_STATUS OcConnectDrivers ( VOID )

Connect effectively all drivers to effectively all handles.

Return values
EFI_SUCCESSon success.

Definition at line 199 of file OcDriverConnectionLib.c.

◆ OcPlatformDriverLoaded()

STATIC EFI_STATUS EFIAPI OcPlatformDriverLoaded ( IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL * This,
IN EFI_HANDLE ControllerHandle,
IN EFI_DEVICE_PATH_PROTOCOL * DriverImagePath,
IN EFI_HANDLE DriverImageHandle )

Definition at line 147 of file OcDriverConnectionLib.c.

◆ OcPlatformGetDriver()

STATIC EFI_STATUS EFIAPI OcPlatformGetDriver ( IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL * This,
IN EFI_HANDLE ControllerHandle,
IN OUT EFI_HANDLE * DriverImageHandle )

Definition at line 34 of file OcDriverConnectionLib.c.

◆ OcPlatformGetDriverPath()

STATIC EFI_STATUS EFIAPI OcPlatformGetDriverPath ( IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL * This,
IN EFI_HANDLE ControllerHandle,
IN OUT EFI_DEVICE_PATH_PROTOCOL ** DriverImagePath )

Definition at line 135 of file OcDriverConnectionLib.c.

◆ OcRegisterDriversToHighestPriority()

EFI_STATUS OcRegisterDriversToHighestPriority ( IN EFI_HANDLE * PriorityDrivers)

Registers given PriorityDrivers to highest priority during connecting controllers. Does this by installing custom EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL or by overriding existing EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL.GetDriver.

Parameters
[in]PriorityDriversNULL-terminated list of drivers to prioritise.
Return values
EFI_SUCCESSon successful override or installation.

Definition at line 166 of file OcDriverConnectionLib.c.

Variable Documentation

◆ mOcPlatformDriverOverrideProtocol

STATIC EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL mOcPlatformDriverOverrideProtocol
Initial value:
= {
}
STATIC EFI_STATUS EFIAPI OcPlatformDriverLoaded(IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath, IN EFI_HANDLE DriverImageHandle)
STATIC EFI_STATUS EFIAPI OcPlatformGetDriverPath(IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN OUT EFI_DEVICE_PATH_PROTOCOL **DriverImagePath)
STATIC EFI_STATUS EFIAPI OcPlatformGetDriver(IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN OUT EFI_HANDLE *DriverImageHandle)

Definition at line 159 of file OcDriverConnectionLib.c.

◆ mOrgPlatformGetDriver

STATIC EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER mOrgPlatformGetDriver

Definition at line 29 of file OcDriverConnectionLib.c.

◆ mPriorityDrivers

STATIC EFI_HANDLE* mPriorityDrivers

Definition at line 24 of file OcDriverConnectionLib.c.