TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/PciHostBridgeResourceAllocation.h>
#include <Protocol/PciIo.h>
#include <Protocol/LoadFile2.h>
#include <Protocol/PciRootBridgeIo.h>
#include <Protocol/PciHotPlugRequest.h>
#include <Protocol/DevicePath.h>
#include <Protocol/PciPlatform.h>
#include <Protocol/PciHotPlugInit.h>
#include <Protocol/Decompress.h>
#include <Protocol/BusSpecificDriverOverride.h>
#include <Protocol/IncompatiblePciDeviceSupport.h>
#include <Protocol/PciOverride.h>
#include <Protocol/PciEnumerationComplete.h>
#include <Protocol/IoMmu.h>
#include <Protocol/DeviceSecurity.h>
#include <Library/DebugLib.h>
#include <Library/UefiDriverEntryPoint.h>
#include <Library/BaseLib.h>
#include <Library/UefiLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/ReportStatusCodeLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DevicePathLib.h>
#include <Library/PcdLib.h>
#include <IndustryStandard/Pci.h>
#include <IndustryStandard/PeImage.h>
#include <IndustryStandard/Acpi.h>
#include "ComponentName.h"
#include "PciIo.h"
#include "PciCommand.h"
#include "PciDeviceSupport.h"
#include "PciEnumerator.h"
#include "PciEnumeratorSupport.h"
#include "PciDriverOverride.h"
#include "PciRomTable.h"
#include "PciOptionRomSupport.h"
#include "PciPowerManagement.h"
#include "PciHotPlugSupport.h"
#include "PciLib.h"
Go to the source code of this file.
Data Structures | |
struct | _PCI_BAR |
struct | _PCI_IO_DEVICE |
Typedefs | |
typedef struct _PCI_IO_DEVICE | PCI_IO_DEVICE |
typedef struct _PCI_BAR | PCI_BAR |
Functions | |
EFI_STATUS EFIAPI | PciBusDriverBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
EFI_STATUS EFIAPI | PciBusDriverBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath) |
EFI_STATUS EFIAPI | PciBusDriverBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer) |
Header files and data structures needed by PCI Bus module.
Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file PciBus.h.
#define EFI_PCI_RID | ( | Bus, | |
Device, | |||
Function | |||
) | (((UINT32)Bus << 8) + ((UINT32)Device << 3) + (UINT32)Function) |
#define IS_PCI_GFX | ( | _p | ) | IS_CLASS2 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_OTHER) |
#define PCI_IO_DEVICE_FROM_LINK | ( | a | ) | CR (a, PCI_IO_DEVICE, Link, PCI_IO_DEVICE_SIGNATURE) |
#define PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS | ( | a | ) | CR (a, PCI_IO_DEVICE, LoadFile2, PCI_IO_DEVICE_SIGNATURE) |
#define PCI_IO_DEVICE_FROM_PCI_DRIVER_OVERRIDE_THIS | ( | a | ) | CR (a, PCI_IO_DEVICE, PciDriverOverride, PCI_IO_DEVICE_SIGNATURE) |
#define PCI_IO_DEVICE_FROM_PCI_IO_THIS | ( | a | ) | CR (a, PCI_IO_DEVICE, PciIo, PCI_IO_DEVICE_SIGNATURE) |
#define PCI_IO_DEVICE_SIGNATURE SIGNATURE_32 ('p', 'c', 'i', 'o') |
typedef struct _PCI_IO_DEVICE PCI_IO_DEVICE |
EFI_STATUS EFIAPI PciBusDriverBindingStart | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Start this driver on ControllerHandle and enumerate Pci bus and start all device under PCI bus.
This | Protocol instance pointer. |
Controller | Handle of device to bind driver to. |
RemainingDevicePath | Optional parameter use to pick a specific child device to start. |
EFI_SUCCESS | This driver is added to ControllerHandle. |
EFI_ALREADY_STARTED | This driver is already running on ControllerHandle. |
other | This driver does not support this device. |
EFI_STATUS EFIAPI PciBusDriverBindingStop | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN UINTN | NumberOfChildren, | ||
IN EFI_HANDLE * | ChildHandleBuffer | ||
) |
Stop this driver on ControllerHandle. Support stopping any child handles created by this driver.
This | Protocol instance pointer. |
Controller | Handle of device to stop driver on. |
NumberOfChildren | Number of Handles in ChildHandleBuffer. If number of children is zero stop the entire bus driver. |
ChildHandleBuffer | List of Child Handles to Stop. |
EFI_SUCCESS | This driver is removed ControllerHandle. |
other | This driver was not removed from this device. |
EFI_STATUS EFIAPI PciBusDriverBindingSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Test to see if this driver supports ControllerHandle. Any ControllerHandle than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be supported.
This | Protocol instance pointer. |
Controller | Handle of device to test. |
RemainingDevicePath | Optional parameter use to pick a specific child device to start. |
EFI_SUCCESS | This driver supports this device. |
EFI_ALREADY_STARTED | This driver is already running on this device. |
other | This driver does not support this device. |
|
extern |
|
extern |
Definition at line 14 of file ComponentName.c.
|
extern |
Definition at line 23 of file ComponentName.c.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
Definition at line 14 of file PciResourceSupport.c.
|
extern |
Definition at line 15 of file PciResourceSupport.c.