text: /*++
  
    Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
                                                                                     
  
    SPDX-License-Identifier: BSD-2-Clause-Patent
  
                                                                                     
  
  
  Module Name:
  
      PciPlatform.h
  
  Abstract:
  
  --*/
  #ifndef PCI_PLATFORM_H_
  #define PCI_PLATFORM_H_
  
  
  #include <PiDxe.h>
  #include "Platform.h"
  
  //
  // Produced Protocols
  //
  #include <Protocol/PciPlatform.h>
  
  #define IGD_DID_II                     0x0BE1
  #define IGD_DID_0BE4                   0x0BE4
  #define IGD_DID_VLV_A0                 0x0F31
  #define OPROM_DID_OFFSET               0x46
  
  typedef struct {
    EFI_GUID  FileName;
    UINTN     Segment;
    UINTN     Bus;
    UINTN     Device;
    UINTN     Function;
    UINT16    VendorId;
    UINT16    DeviceId;
    UINT8     Flag;
  } PCI_OPTION_ROM_TABLE;
  
  EFI_STATUS
  EFIAPI
  PhaseNotify (
    IN  EFI_PCI_PLATFORM_PROTOCOL                     *This,
    IN  EFI_HANDLE                                    HostBridge,
    IN  EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase,
    IN  EFI_PCI_CHIPSET_EXECUTION_PHASE               ChipsetPhase
    );
  
  
  EFI_STATUS
  EFIAPI
  PlatformPrepController (
    IN EFI_PCI_PLATFORM_PROTOCOL                      *This,
    IN   EFI_HANDLE                                   HostBridge,
    IN  EFI_HANDLE                                    RootBridge,
    IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS   PciAddress,
    IN  EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE  Phase,
    IN  EFI_PCI_CHIPSET_EXECUTION_PHASE               ChipsetPhase
    );
  
  EFI_STATUS
  EFIAPI    
  GetPlatformPolicy (
    IN CONST EFI_PCI_PLATFORM_PROTOCOL                      *This,
    OUT EFI_PCI_PLATFORM_POLICY                       *PciPolicy
    );
  
  EFI_STATUS
  EFIAPI
  GetPciRom (
    IN CONST EFI_PCI_PLATFORM_PROTOCOL                      *This,
    IN EFI_HANDLE                                     PciHandle,
    OUT  VOID                                         **RomImage,
    OUT  UINTN                                        *RomSize
    );
  
  #endif
  
  
  