1 /*++ 2 3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR> 4 5 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 9 The full text of the license may be found at 11 http://opensource.org/licenses/bsd-license.php. 13 15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 17 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 19 21 23 Module Name: 24 25 PciPlatform.h 26 27 Abstract: 28 29 --*/ 30 #ifndef PCI_PLATFORM_H_ 31 #define PCI_PLATFORM_H_ 32 33 34 #include <PiDxe.h> 35 #include "Platform.h" 36 37 // 38 // Produced Protocols 39 // 40 #include <Protocol/PciPlatform.h> 41 42 #define IGD_DID_II 0x0BE1 43 #define IGD_DID_0BE4 0x0BE4 44 #define IGD_DID_VLV_A0 0x0F31 45 #define OPROM_DID_OFFSET 0x46 46 47 typedef struct { 48 EFI_GUID FileName; 49 UINTN Segment; 50 UINTN Bus; 51 UINTN Device; 52 UINTN Function; 53 UINT16 VendorId; 54 UINT16 DeviceId; 55 UINT8 Flag; 56 } PCI_OPTION_ROM_TABLE; 57 58 EFI_STATUS 59 EFIAPI 60 PhaseNotify ( 61 IN EFI_PCI_PLATFORM_PROTOCOL *This, 62 IN EFI_HANDLE HostBridge, 63 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase, 64 IN EFI_PCI_CHIPSET_EXECUTION_PHASE ChipsetPhase 65 ); 66 67 68 EFI_STATUS 69 EFIAPI 70 PlatformPrepController ( 71 IN EFI_PCI_PLATFORM_PROTOCOL *This, 72 IN EFI_HANDLE HostBridge, 73 IN EFI_HANDLE RootBridge, 74 IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_PCI_ADDRESS PciAddress, 75 IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase, 76 IN EFI_PCI_CHIPSET_EXECUTION_PHASE ChipsetPhase 77 ); 78 79 EFI_STATUS 80 EFIAPI 81 GetPlatformPolicy ( 82 IN CONST EFI_PCI_PLATFORM_PROTOCOL *This, 83 OUT EFI_PCI_PLATFORM_POLICY *PciPolicy 84 ); 85 86 EFI_STATUS 87 EFIAPI 88 GetPciRom ( 89 IN CONST EFI_PCI_PLATFORM_PROTOCOL *This, 90 IN EFI_HANDLE PciHandle, 91 OUT VOID **RomImage, 92 OUT UINTN *RomSize 93 ); 94 95 #endif 96 97 98