/** @file\r
- This file declares Pci Host Bridge Resource Allocation Protocol\r
-\r
+ This file declares Pci Host Bridge Resource Allocation Protocol which \r
+ Provides the basic interfaces to abstract a PCI host bridge resource allocation. This protocol is\r
+ mandatory if the system includes PCI devices.\r
+ \r
Copyright (c) 2007, 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
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: PciHostBridgeResourceAllocation.h\r
-\r
@par Revision Reference:\r
This protocol is defined in Framework of EFI Pci Host Bridge Resource Allocation Protocol Spec\r
Version 0.9\r
//\r
#define EFI_PCI_HOST_BRIDGE_MEM64_DECODE 2\r
\r
+typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;\r
+\r
+/// The request of this resource type could be fulfilled.\r
+#define EFI_RESOURCE_SATISFIED 0x0000000000000000ULL\r
+\r
+/// The request of this resource type could not be fulfilled for its\r
+/// absence in the host bridge resource pool.\r
+#define EFI_RESOURCE_NOT_SATISFIED 0xFFFFFFFFFFFFFFFFULL\r
\r
//\r
// EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE\r
\r
@retval EFI_SUCCESS Success\r
@retval EFI_OUT_OF_RESOURCES If SubmitResources ( ) could not allocate resources\r
+ @retval EFI_INVALID_PARAMETER The Phase is invalid\r
@retval EFI_NOT_READY This phase cannot be entered at this time\r
@retval EFI_DEVICE_ERROR SetResources failed due to HW error.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_NOTIFY_PHASE) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_NOTIFY_PHASE)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase\r
);\r
\r
@retval EFI_SUCCESS Success\r
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid\r
+ @retval EFI_NOT_FOUND There are no more PCI root bridge device handles.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_NEXT_ROOT_BRIDGE) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_NEXT_ROOT_BRIDGE)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN OUT EFI_HANDLE *RootBridgeHandle\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_ATTRIBUTES) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_ATTRIBUTES)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_HANDLE RootBridgeHandle,\r
OUT UINT64 *Attributes\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_START_BUS_ENUMERATION) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_START_BUS_ENUMERATION)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_HANDLE RootBridgeHandle,\r
OUT VOID **Configuration\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SET_BUS_NUMBERS) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SET_BUS_NUMBERS)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_HANDLE RootBridgeHandle,\r
IN VOID *Configuration\r
@retval EFI_INVALID_PARAMETER Configuration is NULL\r
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI resource descriptor\r
@retval EFI_INVALID_PARAMETER Configuration includes a resource descriptor of unsupported type\r
-\r
+ \r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SUBMIT_RESOURCES) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SUBMIT_RESOURCES)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_HANDLE RootBridgeHandle,\r
IN VOID *Configuration\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_PROPOSED_RESOURCES) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_PROPOSED_RESOURCES)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_HANDLE RootBridgeHandle,\r
OUT VOID **Configuration\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_PREPROCESS_CONTROLLER) (\r
+(EFIAPI *EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_PREPROCESS_CONTROLLER)(\r
IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *This,\r
IN EFI_HANDLE RootBridgeHandle,\r
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS PciAddress,\r