audk/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h

620 lines
11 KiB
C
Raw Normal View History

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