#include <Protocol/LoadedImage.h>\r
#include <Protocol/PciHostBridgeResourceAllocation.h>\r
#include <Protocol/PciIo.h>\r
-#include <Guid/PciHotplugDevice.h>\r
+#include <Protocol/LoadFile2.h>\r
#include <Protocol/PciRootBridgeIo.h>\r
#include <Protocol/PciHotPlugRequest.h>\r
#include <Protocol/DevicePath.h>\r
#include <Protocol/PciPlatform.h>\r
#include <Protocol/PciHotPlugInit.h>\r
#include <Protocol/Decompress.h>\r
-#include <Guid/PciOptionRomTable.h>\r
#include <Protocol/BusSpecificDriverOverride.h>\r
#include <Protocol/UgaIo.h>\r
#include <Protocol/IncompatiblePciDeviceSupport.h>\r
#include <IndustryStandard/Acpi.h>\r
#include "ComponentName.h"\r
\r
+\r
+//\r
+// Global Variables\r
+//\r
+extern EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *gEfiIncompatiblePciDeviceSupport;\r
+extern EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2;\r
+\r
//\r
// Driver Produced Protocol Prototypes\r
//\r
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL PciDriverOverride;\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo;\r
+ EFI_LOAD_FILE2_PROTOCOL LoadFile2;\r
\r
//\r
// PCI configuration space header type\r
#define PCI_IO_DEVICE_FROM_LINK(a) \\r
CR (a, PCI_IO_DEVICE, Link, PCI_IO_DEVICE_SIGNATURE)\r
\r
+#define PCI_IO_DEVICE_FROM_LOAD_FILE2_THIS(a) \\r
+ CR (a, PCI_IO_DEVICE, LoadFile2, PCI_IO_DEVICE_SIGNATURE)\r
+\r
//\r
// Global Variables\r
//\r
-extern EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL *gEfiIncompatiblePciDeviceSupport;\r
-extern EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL gPciBusComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gPciBusComponentName2;\r
extern LIST_ENTRY gPciDevicePool;\r
extern BOOLEAN gFullEnumeration;\r
extern UINTN gPciHostBridgeNumber;\r