]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Protocol/PciHostBridgeResourceAllocation.h
Synchronize code with specs.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / PciHostBridgeResourceAllocation.h
index 33b4c34d45a1ff0f686b57bd0de6c5958e09cb35..4b51bdb81e3bcf9e0f000632b24074ceae8e3e0d 100644 (file)
@@ -1,6 +1,8 @@
 /** @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
@@ -10,8 +12,6 @@
   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
@@ -50,6 +50,14 @@ typedef struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL EFI_PCI_HOST_BR
 //\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
@@ -136,13 +144,14 @@ typedef enum {
 \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
@@ -160,11 +169,12 @@ EFI_STATUS
 \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
@@ -185,7 +195,7 @@ EFI_STATUS
 **/\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
@@ -208,7 +218,7 @@ EFI_STATUS
 **/\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
@@ -237,7 +247,7 @@ EFI_STATUS
 **/\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
@@ -257,11 +267,11 @@ EFI_STATUS
   @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
@@ -285,7 +295,7 @@ EFI_STATUS
 **/\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
@@ -309,7 +319,7 @@ EFI_STATUS
 **/\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