1 /** @file 2 Head file for BDS Platform specific code 3 4 Copyright (c) 2013-2015 Intel Corporation. 5 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef _IOH_BDS_H 17 #define _IOH_BDS_H 18 19 #include <Ioh.h> 20 #include <Protocol/DevicePath.h> 21 #include <Library/DevicePathLib.h> 22 23 extern EFI_DEVICE_PATH_PROTOCOL *gDeviceConnectOption []; 24 25 #define PCI_DEVICE_PATH_NODE(Func, Dev) \ 26 { \ 27 { \ 28 HARDWARE_DEVICE_PATH, \ 29 HW_PCI_DP, \ 30 { \ 31 (UINT8) (sizeof (PCI_DEVICE_PATH)), \ 32 (UINT8) ((sizeof (PCI_DEVICE_PATH)) >> 8) \ 33 } \ 34 }, \ 35 (Func), \ 36 (Dev) \ 37 } 38 39 #define PNPID_DEVICE_PATH_NODE(PnpId) \ 40 { \ 41 { \ 42 ACPI_DEVICE_PATH, \ 43 ACPI_DP, \ 44 { \ 45 (UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), \ 46 (UINT8) ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8) \ 47 } \ 48 }, \ 49 EISA_PNP_ID((PnpId)), \ 50 0 \ 51 } 52 53 54 55 #define gEndEntire \ 56 { \ 57 END_DEVICE_PATH_TYPE, \ 58 END_ENTIRE_DEVICE_PATH_SUBTYPE, \ 59 { \ 60 END_DEVICE_PATH_LENGTH, \ 61 0 \ 62 } \ 63 } 64 65 #define gPciRootBridge \ 66 PNPID_DEVICE_PATH_NODE(0x0A03) 67 68 69 // 70 // Platform Root Bridge 71 // 72 typedef struct { 73 ACPI_HID_DEVICE_PATH PciRootBridge; 74 EFI_DEVICE_PATH_PROTOCOL End; 75 } PLATFORM_ROOT_BRIDGE_DEVICE_PATH; 76 77 78 typedef struct { 79 ACPI_HID_DEVICE_PATH PciRootBridge; 80 PCI_DEVICE_PATH IohDevice; 81 EFI_DEVICE_PATH_PROTOCOL End; 82 } IOH_PCI_USB_DEVICE_PATH; 83 84 // 85 // Ioh BDS Functions 86 // 87 88 89 #endif // _IOH_BDS_H 90