TianoCore EDK2 master
|
Go to the source code of this file.
Functions | |
EFI_STATUS EFIAPI | CoreConnectController (IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE *DriverImageHandle OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL, IN BOOLEAN Recursive) |
VOID | AddSortedDriverBindingProtocol (IN EFI_HANDLE DriverBindingHandle, IN OUT UINTN *NumberOfSortedDriverBindingProtocols, IN OUT EFI_DRIVER_BINDING_PROTOCOL **SortedDriverBindingProtocols, IN UINTN DriverBindingHandleCount, IN OUT EFI_HANDLE *DriverBindingHandleBuffer, IN BOOLEAN IsImageHandle) |
EFI_STATUS | CoreConnectSingleController (IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE *ContextDriverImageHandles OPTIONAL, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL) |
EFI_STATUS EFIAPI | CoreDisconnectController (IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE DriverImageHandle OPTIONAL, IN EFI_HANDLE ChildHandle OPTIONAL) |
Support functions to connect/disconnect UEFI Driver model Protocol
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DriverSupport.c.
VOID AddSortedDriverBindingProtocol | ( | IN EFI_HANDLE | DriverBindingHandle, |
IN OUT UINTN * | NumberOfSortedDriverBindingProtocols, | ||
IN OUT EFI_DRIVER_BINDING_PROTOCOL ** | SortedDriverBindingProtocols, | ||
IN UINTN | DriverBindingHandleCount, | ||
IN OUT EFI_HANDLE * | DriverBindingHandleBuffer, | ||
IN BOOLEAN | IsImageHandle | ||
) |
Add Driver Binding Protocols from Context Driver Image Handles to sorted Driver Binding Protocol list.
DriverBindingHandle | Handle of the driver binding protocol. |
NumberOfSortedDriverBindingProtocols | Number Of sorted driver binding protocols |
SortedDriverBindingProtocols | The sorted protocol list. |
DriverBindingHandleCount | Driver Binding Handle Count. |
DriverBindingHandleBuffer | The buffer of driver binding protocol to be modified. |
IsImageHandle | Indicate whether DriverBindingHandle is an image handle |
Definition at line 262 of file DriverSupport.c.
EFI_STATUS EFIAPI CoreConnectController | ( | IN EFI_HANDLE | ControllerHandle, |
IN EFI_HANDLE *DriverImageHandle | OPTIONAL, | ||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath | OPTIONAL, | ||
IN BOOLEAN | Recursive | ||
) |
Connects one or more drivers to a controller.
ControllerHandle | The handle of the controller to which driver(s) are to be connected. |
DriverImageHandle | A pointer to an ordered list handles that support the EFI_DRIVER_BINDING_PROTOCOL. |
RemainingDevicePath | A pointer to the device path that specifies a child of the controller specified by ControllerHandle. |
Recursive | If TRUE, then ConnectController() is called recursively until the entire tree of controllers below the controller specified by ControllerHandle have been created. If FALSE, then the tree of controllers is only expanded one level. |
EFI_SUCCESS | 1) One or more drivers were connected to ControllerHandle. 2) No drivers were connected to ControllerHandle, but RemainingDevicePath is not NULL, and it is an End Device Path Node. |
EFI_INVALID_PARAMETER | ControllerHandle is NULL. |
EFI_NOT_FOUND | 1) There are no EFI_DRIVER_BINDING_PROTOCOL instances present in the system. 2) No drivers were connected to ControllerHandle. |
EFI_SECURITY_VIOLATION | The user has no permission to start UEFI device drivers on the device path associated with the ControllerHandle or specified by the RemainingDevicePath. |
Definition at line 44 of file DriverSupport.c.
EFI_STATUS CoreConnectSingleController | ( | IN EFI_HANDLE | ControllerHandle, |
IN EFI_HANDLE *ContextDriverImageHandles | OPTIONAL, | ||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath | OPTIONAL | ||
) |
Connects a controller to a driver.
ControllerHandle | Handle of the controller to be connected. |
ContextDriverImageHandles | DriverImageHandle A pointer to an ordered list of driver image handles. |
RemainingDevicePath | RemainingDevicePath A pointer to the device path that specifies a child of the controller specified by ControllerHandle. |
EFI_SUCCESS | One or more drivers were connected to ControllerHandle. |
EFI_OUT_OF_RESOURCES | No enough system resources to complete the request. |
EFI_NOT_FOUND | No drivers were connected to ControllerHandle. |
Definition at line 393 of file DriverSupport.c.
EFI_STATUS EFIAPI CoreDisconnectController | ( | IN EFI_HANDLE | ControllerHandle, |
IN EFI_HANDLE DriverImageHandle | OPTIONAL, | ||
IN EFI_HANDLE ChildHandle | OPTIONAL | ||
) |
Disonnects a controller from a driver
ControllerHandle | ControllerHandle The handle of the controller from which driver(s) are to be disconnected. |
DriverImageHandle | DriverImageHandle The driver to disconnect from ControllerHandle. |
ChildHandle | ChildHandle The handle of the child to destroy. |
EFI_SUCCESS | One or more drivers were disconnected from the controller. |
EFI_SUCCESS | On entry, no drivers are managing ControllerHandle. |
EFI_SUCCESS | DriverImageHandle is not NULL, and on entry DriverImageHandle is not managing ControllerHandle. |
EFI_INVALID_PARAMETER | ControllerHandle is NULL. |
EFI_INVALID_PARAMETER | DriverImageHandle is not NULL, and it is not a valid EFI_HANDLE. |
EFI_INVALID_PARAMETER | ChildHandle is not NULL, and it is not a valid EFI_HANDLE. |
EFI_OUT_OF_RESOURCES | There are not enough resources available to disconnect any drivers from ControllerHandle. |
EFI_DEVICE_ERROR | The controller could not be disconnected because of a device error. |
Definition at line 737 of file DriverSupport.c.