1 /*++ 2 3 Copyright (c) 2005 - 2006, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 PciDeviceSupport.h 15 16 Abstract: 17 18 19 20 Revision History 21 22 --*/ 23 24 #ifndef _EFI_PCI_DEVICE_SUPPORT_H 25 #define _EFI_PCI_DEVICE_SUPPORT_H 26 27 EFI_STATUS 28 InitializePciDevicePool ( 29 VOID 30 ) 31 /*++ 32 33 Routine Description: 34 35 TODO: Add function description 36 37 Arguments: 38 39 None 40 41 Returns: 42 43 TODO: add return values 44 45 --*/ 46 ; 47 48 EFI_STATUS 49 InsertPciDevice ( 50 PCI_IO_DEVICE *Bridge, 51 PCI_IO_DEVICE *PciDeviceNode 52 ) 53 /*++ 54 55 Routine Description: 56 57 TODO: Add function description 58 59 Arguments: 60 61 Bridge - TODO: add argument description 62 PciDeviceNode - TODO: add argument description 63 64 Returns: 65 66 TODO: add return values 67 68 --*/ 69 ; 70 71 EFI_STATUS 72 DestroyPciDeviceTree ( 73 IN PCI_IO_DEVICE *Bridge 74 ) 75 /*++ 76 77 Routine Description: 78 79 TODO: Add function description 80 81 Arguments: 82 83 Bridge - TODO: add argument description 84 85 Returns: 86 87 TODO: add return values 88 89 --*/ 90 ; 91 92 EFI_STATUS 93 DestroyRootBridgeByHandle ( 94 EFI_HANDLE Controller 95 ) 96 /*++ 97 98 Routine Description: 99 100 TODO: Add function description 101 102 Arguments: 103 104 Controller - TODO: add argument description 105 106 Returns: 107 108 TODO: add return values 109 110 --*/ 111 ; 112 113 EFI_STATUS 114 RegisterPciDevice ( 115 IN EFI_HANDLE Controller, 116 IN PCI_IO_DEVICE *PciIoDevice, 117 OUT EFI_HANDLE *Handle OPTIONAL 118 ) 119 /*++ 120 121 Routine Description: 122 123 This function registers the PCI IO device. It creates a handle for this PCI IO device 124 (if the handle does not exist), attaches appropriate protocols onto the handle, does 125 necessary initialization, and sets up parent/child relationship with its bus controller. 126 127 Arguments: 128 129 Controller - An EFI handle for the PCI bus controller. 130 PciIoDevice - A PCI_IO_DEVICE pointer to the PCI IO device to be registered. 131 Handle - A pointer to hold the EFI handle for the PCI IO device. 132 133 Returns: 134 135 EFI_SUCCESS - The PCI device is successfully registered. 136 Others - An error occurred when registering the PCI device. 137 138 --*/ 139 ; 140 141 EFI_STATUS 142 DeRegisterPciDevice ( 143 IN EFI_HANDLE Controller, 144 IN EFI_HANDLE Handle 145 ) 146 /*++ 147 148 Routine Description: 149 150 TODO: Add function description 151 152 Arguments: 153 154 Controller - TODO: add argument description 155 Handle - TODO: add argument description 156 157 Returns: 158 159 TODO: add return values 160 161 --*/ 162 ; 163 164 EFI_STATUS 165 StartPciDevices ( 166 IN EFI_HANDLE Controller, 167 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath 168 ) 169 /*++ 170 171 Routine Description: 172 173 TODO: Add function description 174 175 Arguments: 176 177 Controller - TODO: add argument description 178 RemainingDevicePath - TODO: add argument description 179 180 Returns: 181 182 TODO: add return values 183 184 --*/ 185 ; 186 187 PCI_IO_DEVICE * 188 CreateRootBridge ( 189 IN EFI_HANDLE RootBridgeHandle 190 ) 191 /*++ 192 193 Routine Description: 194 195 TODO: Add function description 196 197 Arguments: 198 199 RootBridgeHandle - TODO: add argument description 200 201 Returns: 202 203 TODO: add return values 204 205 --*/ 206 ; 207 208 PCI_IO_DEVICE * 209 GetRootBridgeByHandle ( 210 EFI_HANDLE RootBridgeHandle 211 ) 212 /*++ 213 214 Routine Description: 215 216 TODO: Add function description 217 218 Arguments: 219 220 RootBridgeHandle - TODO: add argument description 221 222 Returns: 223 224 TODO: add return values 225 226 --*/ 227 ; 228 229 EFI_STATUS 230 InsertRootBridge ( 231 PCI_IO_DEVICE *RootBridge 232 ); 233 234 EFI_STATUS 235 DestroyRootBridge ( 236 IN PCI_IO_DEVICE *RootBridge 237 ); 238 239 BOOLEAN 240 RootBridgeExisted ( 241 IN EFI_HANDLE RootBridgeHandle 242 ) 243 /*++ 244 245 Routine Description: 246 247 TODO: Add function description 248 249 Arguments: 250 251 RootBridgeHandle - TODO: add argument description 252 253 Returns: 254 255 TODO: add return values 256 257 --*/ 258 ; 259 260 BOOLEAN 261 PciDeviceExisted ( 262 IN PCI_IO_DEVICE *Bridge, 263 IN PCI_IO_DEVICE *PciIoDevice 264 ) 265 /*++ 266 267 Routine Description: 268 269 TODO: Add function description 270 271 Arguments: 272 273 Bridge - TODO: add argument description 274 PciIoDevice - TODO: add argument description 275 276 Returns: 277 278 TODO: add return values 279 280 --*/ 281 ; 282 283 PCI_IO_DEVICE * 284 ActiveVGADeviceOnTheSameSegment ( 285 IN PCI_IO_DEVICE *VgaDevice 286 ) 287 /*++ 288 289 Routine Description: 290 291 TODO: Add function description 292 293 Arguments: 294 295 VgaDevice - TODO: add argument description 296 297 Returns: 298 299 TODO: add return values 300 301 --*/ 302 ; 303 304 PCI_IO_DEVICE * 305 ActiveVGADeviceOnTheRootBridge ( 306 IN PCI_IO_DEVICE *RootBridge 307 ) 308 /*++ 309 310 Routine Description: 311 312 TODO: Add function description 313 314 Arguments: 315 316 RootBridge - TODO: add argument description 317 318 Returns: 319 320 TODO: add return values 321 322 --*/ 323 ; 324 #endif 325