TianoCore EDK2 master
Loading...
Searching...
No Matches
PciDriverOverride.h File Reference

Go to the source code of this file.

Data Structures

struct  PCI_DRIVER_OVERRIDE_LIST
 

Macros

#define DRIVER_OVERRIDE_SIGNATURE   SIGNATURE_32 ('d', 'r', 'o', 'v')
 
#define DRIVER_OVERRIDE_FROM_LINK(a)    CR (a, PCI_DRIVER_OVERRIDE_LIST, Link, DRIVER_OVERRIDE_SIGNATURE)
 

Functions

VOID InitializePciDriverOverrideInstance (IN OUT PCI_IO_DEVICE *PciIoDevice)
 
EFI_STATUS AddDriver (IN PCI_IO_DEVICE *PciIoDevice, IN EFI_HANDLE DriverImageHandle, IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath)
 
EFI_STATUS EFIAPI GetDriver (IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This, IN OUT EFI_HANDLE *DriverImageHandle)
 

Detailed Description

Functions declaration for Bus Specific Driver Override protocol.

Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file PciDriverOverride.h.

Macro Definition Documentation

◆ DRIVER_OVERRIDE_FROM_LINK

#define DRIVER_OVERRIDE_FROM_LINK (   a)     CR (a, PCI_DRIVER_OVERRIDE_LIST, Link, DRIVER_OVERRIDE_SIGNATURE)

Definition at line 24 of file PciDriverOverride.h.

◆ DRIVER_OVERRIDE_SIGNATURE

#define DRIVER_OVERRIDE_SIGNATURE   SIGNATURE_32 ('d', 'r', 'o', 'v')

Definition at line 12 of file PciDriverOverride.h.

Function Documentation

◆ AddDriver()

EFI_STATUS AddDriver ( IN PCI_IO_DEVICE PciIoDevice,
IN EFI_HANDLE  DriverImageHandle,
IN EFI_DEVICE_PATH_PROTOCOL DriverImagePath 
)

Add an overriding driver image.

Parameters
PciIoDeviceInstance of PciIo device.
DriverImageHandleImage handle of newly added driver image.
DriverImagePathDevice path of newly added driver image.
Return values
EFI_SUCCESSSuccessfully added driver.
EFI_OUT_OF_RESOURCESNo memory resource for new driver instance.
otherSome error occurred when locating gEfiLoadedImageProtocolGuid.

Definition at line 163 of file PciDriverOverride.c.

◆ GetDriver()

EFI_STATUS EFIAPI GetDriver ( IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL This,
IN OUT EFI_HANDLE DriverImageHandle 
)

Uses a bus specific algorithm to retrieve a driver image handle for a controller.

Parameters
ThisA pointer to the EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance.
DriverImageHandleOn 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.
Return values
EFI_SUCCESSA bus specific override driver is returned in DriverImageHandle.
EFI_NOT_FOUNDThe end of the list of override drivers was reached. A bus specific override driver is not returned in DriverImageHandle.
EFI_INVALID_PARAMETERDriverImageHandle is not a handle that was returned on a previous call to GetDriver().

Definition at line 96 of file PciDriverOverride.c.

◆ InitializePciDriverOverrideInstance()

VOID InitializePciDriverOverrideInstance ( IN OUT PCI_IO_DEVICE PciIoDevice)

Initializes a PCI Driver Override Instance.

Parameters
PciIoDevicePCI Device instance.

Definition at line 18 of file PciDriverOverride.c.