X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkModulePkg%2FBus%2FPci%2FPciBusDxe%2FPciBus.h;h=9dfdbe62d77ea664f03062c6ce11add937e80391;hp=980de9110490d8176a730c3ac946650d630a0eac;hb=7508355e68808d55ce2a7aefdeb53ec8715c7306;hpb=f02bd3768c1aba2d4e023c7623dff4dab2dbb1df diff --git a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBus.h b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBus.h index 980de91104..9dfdbe62d7 100644 --- a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBus.h +++ b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciBus.h @@ -1,4 +1,4 @@ -/**@file +/** @file Copyright (c) 2006, Intel Corporation All rights reserved. This program and the accompanying materials @@ -12,8 +12,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ -#ifndef _EFI_PCI_BUS_H -#define _EFI_PCI_BUS_H +#ifndef _EFI_PCI_BUS_H_ +#define _EFI_PCI_BUS_H_ #include @@ -45,6 +45,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include #include #include @@ -112,12 +113,6 @@ typedef struct { #define EFI_BRIDGE_MEM32_DECODE_SUPPORTED 0x0040 #define PCI_MAX_HOST_BRIDGE_NUM 0x0010 -// -// Define resource status constant -// -#define EFI_RESOURCE_NONEXISTENT 0xFFFFFFFFFFFFFFFFULL -#define EFI_RESOURCE_LESS 0xFFFFFFFFFFFFFFFEULL -#define EFI_RESOURCE_SATISFIED 0x0000000000000000ULL // // Define option for attribute @@ -266,6 +261,20 @@ extern EFI_PCI_PLATFORM_PROTOCOL *gPciPlatformProtocol; // // PCI Bus Support Function Prototypes // +/** + Test to see if this driver supports ControllerHandle. Any ControllerHandle + than contains a gEfiPciRootBridgeIoProtocolGuid protocol can be supported. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to test. + @param RemainingDevicePath Optional parameter use to pick a specific child. + device to start. + + @retval EFI_SUCCESS This driver supports this device. + @retval EFI_ALREADY_STARTED This driver is already running on this device. + @retval other This driver does not support this device. + +**/ EFI_STATUS EFIAPI PciBusDriverBindingSupported ( @@ -274,6 +283,20 @@ PciBusDriverBindingSupported ( IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath ); +/** + Start this driver on ControllerHandle and enumerate Pci bus and start + all device under PCI bus. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to bind driver to. + @param RemainingDevicePath Optional parameter use to pick a specific child. + device to start. + + @retval EFI_SUCCESS This driver is added to ControllerHandle. + @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle. + @retval other This driver does not support this device. + +**/ EFI_STATUS EFIAPI PciBusDriverBindingStart ( @@ -282,6 +305,20 @@ PciBusDriverBindingStart ( IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath ); +/** + Stop this driver on ControllerHandle. Support stoping any child handles + created by this driver. + + @param This Protocol instance pointer. + @param ControllerHandle Handle of device to stop driver on. + @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of + children is zero stop the entire bus driver. + @param ChildHandleBuffer List of Child Handles to Stop. + + @retval EFI_SUCCESS This driver is removed ControllerHandle. + @retval other This driver was not removed from this device. + +**/ EFI_STATUS EFIAPI PciBusDriverBindingStop (