|
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.