summaryrefslogtreecommitdiff
path: root/Include/PciBusEx.h
diff options
context:
space:
mode:
Diffstat (limited to 'Include/PciBusEx.h')
-rw-r--r--Include/PciBusEx.h158
1 files changed, 158 insertions, 0 deletions
diff --git a/Include/PciBusEx.h b/Include/PciBusEx.h
new file mode 100644
index 0000000..53b1796
--- /dev/null
+++ b/Include/PciBusEx.h
@@ -0,0 +1,158 @@
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2005, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//**********************************************************************
+
+//**********************************************************************
+// $Header: /Alaska/BIN/Core/Modules/PciBus/PciBusEx.h 2 11/14/08 1:36p Yakovlevs $
+//
+// $Revision: 2 $
+//
+// $Date: 11/14/08 1:36p $
+//**********************************************************************
+// Revision History
+// ----------------
+// $Log: /Alaska/BIN/Core/Modules/PciBus/PciBusEx.h $
+//
+// 2 11/14/08 1:36p Yakovlevs
+// Removed unused function from PciBusEx protocol.
+//
+// 1 9/25/08 11:29a Yakovlevs
+//
+//**********************************************************************
+//<AMI_FHDR_START>
+//
+// Name: PciBusEx.h
+//
+// Description: Defines PciBus Extended protocol Interface to provide
+// additional PCI Bus related functions.
+//
+//<AMI_FHDR_END>
+//**********************************************************************
+#ifndef __PCI_BUS_EX__H__
+#define __PCI_BUS_EX__H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include <Efi.h>
+#include <PciBus.h>
+#include <Protocol\PciIo.h>
+
+#define AMI_PCI_BUS_EXT_PROTOCOL_GUID \
+{ 0xf42a009d, 0x977f, 0x4f08, 0x94, 0x40, 0xbc, 0xa5, 0xa3, 0xbe, 0xd9, 0xaf };
+
+//-------------------------------------------------
+//Forward Declarations
+//-------------------------------------------------
+typedef struct _AMI_PCI_EXT_PROTOCOL AMI_PCI_EXT_PROTOCOL;
+
+
+//-------------------------------------------------
+// Protocol Function Definitions
+//-------------------------------------------------
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_IS_PCI_EXPRESS)(
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCIE_DATA **PciExpData OPTIONAL
+);
+
+//-------------------------------------------------
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_IS_PCI_X)(
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCIX_DATA **PciXData OPTIONAL
+);
+
+//-------------------------------------------------
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_IS_P2P_BRG)(
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCI_BRG_EXT **BrgData OPTIONAL
+);
+
+//-------------------------------------------------
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_IS_CRD_BRG)(
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCI_BRG_EXT **BrgData OPTIONAL
+);
+
+//-------------------------------------------------
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_IS_REG_DEVICE)(
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL
+);
+
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_GET_CLASS_CODES_INFO) (
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCI_DEV_CLASS *CassCodes
+);
+
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_GET_PCI_PIC_IRQ) (
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCI_IRQ_PIC_ROUTE **PicIrqTblEntry,
+ EFI_PCI_CONFIGURATION_ADDRESS **ParentDevices,
+ OUT UINTN *EntryCount
+);
+
+typedef EFI_STATUS (EFIAPI * AMI_PCI_EXT_GET_PCI_APIC_IRQ) (
+ IN AMI_PCI_EXT_PROTOCOL *This,
+ IN EFI_HANDLE PciDeviceHandle,
+ IN EFI_PCI_IO_PROTOCOL *PciIo OPTIONAL,
+ OUT PCI_IRQ_APIC_ROUTE **ApicIrqTblEntry,
+ EFI_PCI_CONFIGURATION_ADDRESS **ParentDevices,
+ OUT UINTN *EntryCount
+);
+
+
+
+typedef struct _AMI_PCI_EXT_PROTOCOL {
+ AMI_PCI_EXT_IS_PCI_EXPRESS IsPciExpress;
+ AMI_PCI_EXT_IS_PCI_X IsPciX;
+ AMI_PCI_EXT_IS_P2P_BRG IsPci2PciBridge;
+ AMI_PCI_EXT_IS_CRD_BRG IsPci2CrdBridge;
+ AMI_PCI_EXT_IS_REG_DEVICE IsPciDevice;
+ AMI_PCI_EXT_GET_CLASS_CODES_INFO GetClassCodesInfo;
+ AMI_PCI_EXT_GET_PCI_PIC_IRQ GetPciPicIrq;
+ AMI_PCI_EXT_GET_PCI_APIC_IRQ GetPciApicIrq;
+ EFI_HANDLE PciExtHanle;
+} AMI_PCI_EXT_PROTOCOL;
+
+/****** DO NOT WRITE BELOW THIS LINE *******/
+#ifdef __cplusplus
+}
+#endif
+#endif
+//**********************************************************************
+//**********************************************************************
+//** **
+//** (C)Copyright 1985-2005, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//**********************************************************************
+//********************************************************************** \ No newline at end of file