]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciEnumerator.h
Add PciBus & IdeBus
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Pci / PciBus / Dxe / PciEnumerator.h
diff --git a/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciEnumerator.h b/IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciEnumerator.h
new file mode 100644 (file)
index 0000000..e7667d5
--- /dev/null
@@ -0,0 +1,628 @@
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation                                                         \r
+All rights reserved. This program and the accompanying materials                          \r
+are licensed and made available under the terms and conditions of the BSD License         \r
+which accompanies this distribution.  The full text of the license may be found at        \r
+http://opensource.org/licenses/bsd-license.php                                            \r
+                                                                                          \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+Module Name:\r
+\r
+  PciEnumerator.h\r
+  \r
+Abstract:\r
+\r
+  PCI Bus Driver\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+#ifndef _EFI_PCI_ENUMERATOR_H\r
+#define _EFI_PCI_ENUMERATOR_H\r
+\r
+#include "PciResourceSupport.h"\r
+\r
+EFI_STATUS\r
+PciEnumerator (\r
+  IN EFI_HANDLE                    Controller\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Controller  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciRootBridgeEnumerator (\r
+  IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL  *PciResAlloc,\r
+  IN PCI_IO_DEVICE                                     *RootBridgeDev\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResAlloc   - TODO: add argument description\r
+  RootBridgeDev - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+ProcessOptionRom (\r
+  IN PCI_IO_DEVICE *Bridge,\r
+  IN UINT64        RomBase,\r
+  IN UINT64        MaxLength\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge    - TODO: add argument description\r
+  RomBase   - TODO: add argument description\r
+  MaxLength - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciAssignBusNumber (\r
+  IN PCI_IO_DEVICE                      *Bridge,\r
+  IN UINT8                              StartBusNumber,\r
+  OUT UINT8                             *SubBusNumber\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge          - TODO: add argument description\r
+  StartBusNumber  - TODO: add argument description\r
+  SubBusNumber    - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+DetermineRootBridgeAttributes (\r
+  IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc,\r
+  IN PCI_IO_DEVICE                                    *RootBridgeDev\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResAlloc   - TODO: add argument description\r
+  RootBridgeDev - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+UINT64\r
+GetMaxOptionRomSize (\r
+  IN PCI_IO_DEVICE   *Bridge\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciHostBridgeDeviceAttribute (\r
+  IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResAlloc - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+GetResourceAllocationStatus (\r
+  VOID        *AcpiConfig,\r
+  OUT UINT64  *IoResStatus,\r
+  OUT UINT64  *Mem32ResStatus,\r
+  OUT UINT64  *PMem32ResStatus,\r
+  OUT UINT64  *Mem64ResStatus,\r
+  OUT UINT64  *PMem64ResStatus\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  AcpiConfig      - TODO: add argument description\r
+  IoResStatus     - TODO: add argument description\r
+  Mem32ResStatus  - TODO: add argument description\r
+  PMem32ResStatus - TODO: add argument description\r
+  Mem64ResStatus  - TODO: add argument description\r
+  PMem64ResStatus - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+RejectPciDevice (\r
+  IN PCI_IO_DEVICE       *PciDevice\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciDevice - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+BOOLEAN\r
+IsRejectiveDevice (\r
+  IN  PCI_RESOURCE_NODE   *PciResNode\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResNode  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+PCI_RESOURCE_NODE *\r
+GetLargerConsumerDevice (\r
+  IN  PCI_RESOURCE_NODE   *PciResNode1,\r
+  IN  PCI_RESOURCE_NODE   *PciResNode2\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResNode1 - TODO: add argument description\r
+  PciResNode2 - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+PCI_RESOURCE_NODE *\r
+GetMaxResourceConsumerDevice (\r
+  IN  PCI_RESOURCE_NODE   *ResPool\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  ResPool - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciHostBridgeAdjustAllocation (\r
+  IN  PCI_RESOURCE_NODE   *IoPool,\r
+  IN  PCI_RESOURCE_NODE   *Mem32Pool,\r
+  IN  PCI_RESOURCE_NODE   *PMem32Pool,\r
+  IN  PCI_RESOURCE_NODE   *Mem64Pool,\r
+  IN  PCI_RESOURCE_NODE   *PMem64Pool,\r
+  IN  UINT64              IoResStatus,\r
+  IN  UINT64              Mem32ResStatus,\r
+  IN  UINT64              PMem32ResStatus,\r
+  IN  UINT64              Mem64ResStatus,\r
+  IN  UINT64              PMem64ResStatus\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  IoPool          - TODO: add argument description\r
+  Mem32Pool       - TODO: add argument description\r
+  PMem32Pool      - TODO: add argument description\r
+  Mem64Pool       - TODO: add argument description\r
+  PMem64Pool      - TODO: add argument description\r
+  IoResStatus     - TODO: add argument description\r
+  Mem32ResStatus  - TODO: add argument description\r
+  PMem32ResStatus - TODO: add argument description\r
+  Mem64ResStatus  - TODO: add argument description\r
+  PMem64ResStatus - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+ConstructAcpiResourceRequestor (\r
+  IN PCI_IO_DEVICE      *Bridge,\r
+  IN PCI_RESOURCE_NODE  *IoNode,\r
+  IN PCI_RESOURCE_NODE  *Mem32Node,\r
+  IN PCI_RESOURCE_NODE  *PMem32Node,\r
+  IN PCI_RESOURCE_NODE  *Mem64Node,\r
+  IN PCI_RESOURCE_NODE  *PMem64Node,\r
+  OUT VOID              **pConfig\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge      - TODO: add argument description\r
+  IoNode      - TODO: add argument description\r
+  Mem32Node   - TODO: add argument description\r
+  PMem32Node  - TODO: add argument description\r
+  Mem64Node   - TODO: add argument description\r
+  PMem64Node  - TODO: add argument description\r
+  pConfig     - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+GetResourceBase (\r
+  IN VOID     *pConfig,\r
+  OUT UINT64  *IoBase,\r
+  OUT UINT64  *Mem32Base,\r
+  OUT UINT64  *PMem32Base,\r
+  OUT UINT64  *Mem64Base,\r
+  OUT UINT64  *PMem64Base\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  pConfig     - TODO: add argument description\r
+  IoBase      - TODO: add argument description\r
+  Mem32Base   - TODO: add argument description\r
+  PMem32Base  - TODO: add argument description\r
+  Mem64Base   - TODO: add argument description\r
+  PMem64Base  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciBridgeEnumerator (\r
+  IN PCI_IO_DEVICE                                     *BridgeDev\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  BridgeDev - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciBridgeResourceAllocator (\r
+  IN PCI_IO_DEVICE  *Bridge\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+GetResourceBaseFromBridge (\r
+  IN  PCI_IO_DEVICE *Bridge,\r
+  OUT UINT64        *IoBase,\r
+  OUT UINT64        *Mem32Base,\r
+  OUT UINT64        *PMem32Base,\r
+  OUT UINT64        *Mem64Base,\r
+  OUT UINT64        *PMem64Base\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge      - TODO: add argument description\r
+  IoBase      - TODO: add argument description\r
+  Mem32Base   - TODO: add argument description\r
+  PMem32Base  - TODO: add argument description\r
+  Mem64Base   - TODO: add argument description\r
+  PMem64Base  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PciHostBridgeP2CProcess (\r
+  IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResAlloc - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+NotifyPhase (\r
+  IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc,\r
+  EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE       Phase\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  PciResAlloc - TODO: add argument description\r
+  Phase       - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+PreprocessController (\r
+  IN PCI_IO_DEVICE                                  *Bridge,\r
+  IN UINT8                                          Bus,\r
+  IN UINT8                                          Device,\r
+  IN UINT8                                          Func,\r
+  IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE   Phase\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  Bridge  - TODO: add argument description\r
+  Bus     - TODO: add argument description\r
+  Device  - TODO: add argument description\r
+  Func    - TODO: add argument description\r
+  Phase   - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+PciHotPlugRequestNotify (\r
+  IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This,\r
+  IN EFI_PCI_HOTPLUG_OPERATION        Operation,\r
+  IN EFI_HANDLE                       Controller,\r
+  IN EFI_DEVICE_PATH_PROTOCOL         * RemainingDevicePath OPTIONAL,\r
+  IN OUT UINT8                        *NumberOfChildren,\r
+  IN OUT EFI_HANDLE                   * ChildHandleBuffer\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  This                - TODO: add argument description\r
+  Operation           - TODO: add argument description\r
+  Controller          - TODO: add argument description\r
+  RemainingDevicePath - TODO: add argument description\r
+  NumberOfChildren    - TODO: add argument description\r
+  ChildHandleBuffer   - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+BOOLEAN\r
+SearchHostBridgeHandle (\r
+  IN EFI_HANDLE RootBridgeHandle\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  RootBridgeHandle  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+AddHostBridgeEnumerator (\r
+  IN EFI_HANDLE HostBridgeHandle\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  TODO: Add function description\r
+\r
+Arguments:\r
+\r
+  HostBridgeHandle  - TODO: add argument description\r
+\r
+Returns:\r
+\r
+  TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+#endif\r