50091750626a6180e6803c2e36b96ed9a2fdbdf7
[people/mcb30/edk2.git] / edk2 / IntelFrameworkModulePkg / Bus / Pci / PciBusDxe / PciDeviceSupport.h
1 /**@file\r
2 \r
3 Copyright (c) 2006, Intel Corporation                                                         \r
4 All rights reserved. This program and the accompanying materials                          \r
5 are licensed and made available under the terms and conditions of the BSD License         \r
6 which accompanies this distribution.  The full text of the license may be found at        \r
7 http://opensource.org/licenses/bsd-license.php                                            \r
8                                                                                           \r
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
11 \r
12 **/\r
13 \r
14 #ifndef _EFI_PCI_DEVICE_SUPPORT_H\r
15 #define _EFI_PCI_DEVICE_SUPPORT_H\r
16 \r
17 EFI_STATUS\r
18 InitializePciDevicePool (\r
19   VOID\r
20   )\r
21 /*++\r
22 \r
23 Routine Description:\r
24 \r
25   TODO: Add function description\r
26 \r
27 Arguments:\r
28 \r
29   None\r
30 \r
31 Returns:\r
32 \r
33   TODO: add return values\r
34 \r
35 --*/\r
36 ;\r
37 \r
38 EFI_STATUS\r
39 InsertRootBridge (\r
40   PCI_IO_DEVICE *RootBridge\r
41   )\r
42 /*++\r
43 \r
44 Routine Description:\r
45 \r
46   TODO: Add function description\r
47 \r
48 Arguments:\r
49 \r
50   RootBridge  - TODO: add argument description\r
51 \r
52 Returns:\r
53 \r
54   TODO: add return values\r
55 \r
56 --*/\r
57 ;\r
58 \r
59 EFI_STATUS\r
60 InsertPciDevice (\r
61   PCI_IO_DEVICE *Bridge,\r
62   PCI_IO_DEVICE *PciDeviceNode\r
63   )\r
64 /*++\r
65 \r
66 Routine Description:\r
67 \r
68   TODO: Add function description\r
69 \r
70 Arguments:\r
71 \r
72   Bridge        - TODO: add argument description\r
73   PciDeviceNode - TODO: add argument description\r
74 \r
75 Returns:\r
76 \r
77   TODO: add return values\r
78 \r
79 --*/\r
80 ;\r
81 \r
82 EFI_STATUS\r
83 DestroyRootBridge (\r
84   IN PCI_IO_DEVICE *RootBridge\r
85   )\r
86 /*++\r
87 \r
88 Routine Description:\r
89 \r
90   TODO: Add function description\r
91 \r
92 Arguments:\r
93 \r
94   RootBridge  - TODO: add argument description\r
95 \r
96 Returns:\r
97 \r
98   TODO: add return values\r
99 \r
100 --*/\r
101 ;\r
102 \r
103 EFI_STATUS\r
104 DestroyPciDeviceTree (\r
105   IN PCI_IO_DEVICE *Bridge\r
106   )\r
107 /*++\r
108 \r
109 Routine Description:\r
110 \r
111   TODO: Add function description\r
112 \r
113 Arguments:\r
114 \r
115   Bridge  - TODO: add argument description\r
116 \r
117 Returns:\r
118 \r
119   TODO: add return values\r
120 \r
121 --*/\r
122 ;\r
123 \r
124 EFI_STATUS\r
125 DestroyRootBridgeByHandle (\r
126   EFI_HANDLE Controller\r
127   )\r
128 /*++\r
129 \r
130 Routine Description:\r
131 \r
132   TODO: Add function description\r
133 \r
134 Arguments:\r
135 \r
136   Controller  - TODO: add argument description\r
137 \r
138 Returns:\r
139 \r
140   TODO: add return values\r
141 \r
142 --*/\r
143 ;\r
144 \r
145 EFI_STATUS\r
146 RegisterPciDevice (\r
147   IN  EFI_HANDLE                     Controller,\r
148   IN  PCI_IO_DEVICE                  *PciIoDevice,\r
149   OUT EFI_HANDLE                     *Handle OPTIONAL\r
150   )\r
151 /*++\r
152 \r
153 Routine Description:\r
154 \r
155   TODO: Add function description\r
156 \r
157 Arguments:\r
158 \r
159   Controller  - TODO: add argument description\r
160   PciIoDevice - TODO: add argument description\r
161   Handle      - TODO: add argument description\r
162 \r
163 Returns:\r
164 \r
165   TODO: add return values\r
166 \r
167 --*/\r
168 ;\r
169 \r
170 EFI_STATUS\r
171 RemoveAllPciDeviceOnBridge (\r
172   EFI_HANDLE               RootBridgeHandle,\r
173   PCI_IO_DEVICE            *Bridge\r
174   )\r
175 /*++\r
176 \r
177 Routine Description:\r
178 \r
179   TODO: Add function description\r
180 \r
181 Arguments:\r
182 \r
183   RootBridgeHandle  - TODO: add argument description\r
184   Bridge            - TODO: add argument description\r
185 \r
186 Returns:\r
187 \r
188   TODO: add return values\r
189 \r
190 --*/\r
191 ;\r
192 \r
193 EFI_STATUS\r
194 DeRegisterPciDevice (\r
195   IN  EFI_HANDLE                     Controller,\r
196   IN  EFI_HANDLE                     Handle\r
197   )\r
198 /*++\r
199 \r
200 Routine Description:\r
201 \r
202   TODO: Add function description\r
203 \r
204 Arguments:\r
205 \r
206   Controller  - TODO: add argument description\r
207   Handle      - TODO: add argument description\r
208 \r
209 Returns:\r
210 \r
211   TODO: add return values\r
212 \r
213 --*/\r
214 ;\r
215 \r
216 EFI_STATUS\r
217 StartPciDevicesOnBridge (\r
218   IN EFI_HANDLE                          Controller,\r
219   IN PCI_IO_DEVICE                       *RootBridge,\r
220   IN EFI_DEVICE_PATH_PROTOCOL            *RemainingDevicePath,\r
221   IN OUT UINT8                           *NumberOfChildren,\r
222   IN OUT EFI_HANDLE                      *ChildHandleBuffer\r
223   )\r
224 /*++\r
225 \r
226 Routine Description:\r
227 \r
228   TODO: Add function description\r
229 \r
230 Arguments:\r
231 \r
232   Controller          - TODO: add argument description\r
233   RootBridge          - TODO: add argument description\r
234   RemainingDevicePath - TODO: add argument description\r
235   NumberOfChildren    - TODO: add argument description\r
236   ChildHandleBuffer   - TODO: add argument description\r
237 \r
238 Returns:\r
239 \r
240   TODO: add return values\r
241 \r
242 --*/\r
243 ;\r
244 \r
245 EFI_STATUS\r
246 StartPciDevices (\r
247   IN EFI_HANDLE                         Controller,\r
248   IN EFI_DEVICE_PATH_PROTOCOL           *RemainingDevicePath\r
249   )\r
250 /*++\r
251 \r
252 Routine Description:\r
253 \r
254   TODO: Add function description\r
255 \r
256 Arguments:\r
257 \r
258   Controller          - TODO: add argument description\r
259   RemainingDevicePath - TODO: add argument description\r
260 \r
261 Returns:\r
262 \r
263   TODO: add return values\r
264 \r
265 --*/\r
266 ;\r
267 \r
268 PCI_IO_DEVICE *\r
269 CreateRootBridge (\r
270   IN EFI_HANDLE RootBridgeHandle\r
271   )\r
272 /*++\r
273 \r
274 Routine Description:\r
275 \r
276   TODO: Add function description\r
277 \r
278 Arguments:\r
279 \r
280   RootBridgeHandle  - TODO: add argument description\r
281 \r
282 Returns:\r
283 \r
284   TODO: add return values\r
285 \r
286 --*/\r
287 ;\r
288 \r
289 PCI_IO_DEVICE *\r
290 GetRootBridgeByHandle (\r
291   EFI_HANDLE RootBridgeHandle\r
292   )\r
293 /*++\r
294 \r
295 Routine Description:\r
296 \r
297   TODO: Add function description\r
298 \r
299 Arguments:\r
300 \r
301   RootBridgeHandle  - TODO: add argument description\r
302 \r
303 Returns:\r
304 \r
305   TODO: add return values\r
306 \r
307 --*/\r
308 ;\r
309 \r
310 BOOLEAN\r
311 RootBridgeExisted (\r
312   IN EFI_HANDLE RootBridgeHandle\r
313   )\r
314 /*++\r
315 \r
316 Routine Description:\r
317 \r
318   TODO: Add function description\r
319 \r
320 Arguments:\r
321 \r
322   RootBridgeHandle  - TODO: add argument description\r
323 \r
324 Returns:\r
325 \r
326   TODO: add return values\r
327 \r
328 --*/\r
329 ;\r
330 \r
331 BOOLEAN\r
332 PciDeviceExisted (\r
333   IN PCI_IO_DEVICE    *Bridge,\r
334   IN PCI_IO_DEVICE    *PciIoDevice\r
335   )\r
336 /*++\r
337 \r
338 Routine Description:\r
339 \r
340   TODO: Add function description\r
341 \r
342 Arguments:\r
343 \r
344   Bridge      - TODO: add argument description\r
345   PciIoDevice - TODO: add argument description\r
346 \r
347 Returns:\r
348 \r
349   TODO: add return values\r
350 \r
351 --*/\r
352 ;\r
353 \r
354 PCI_IO_DEVICE *\r
355 ActiveVGADeviceOnTheSameSegment (\r
356   IN PCI_IO_DEVICE        *VgaDevice\r
357   )\r
358 /*++\r
359 \r
360 Routine Description:\r
361 \r
362   TODO: Add function description\r
363 \r
364 Arguments:\r
365 \r
366   VgaDevice - TODO: add argument description\r
367 \r
368 Returns:\r
369 \r
370   TODO: add return values\r
371 \r
372 --*/\r
373 ;\r
374 \r
375 PCI_IO_DEVICE *\r
376 ActiveVGADeviceOnTheRootBridge (\r
377   IN PCI_IO_DEVICE        *RootBridge\r
378   )\r
379 /*++\r
380 \r
381 Routine Description:\r
382 \r
383   TODO: Add function description\r
384 \r
385 Arguments:\r
386 \r
387   RootBridge  - TODO: add argument description\r
388 \r
389 Returns:\r
390 \r
391   TODO: add return values\r
392 \r
393 --*/\r
394 ;\r
395 \r
396 EFI_STATUS\r
397 GetHpcPciAddress (\r
398   IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL  *PciRootBridgeIo,\r
399   IN  EFI_DEVICE_PATH_PROTOCOL         *HpcDevicePath,\r
400   OUT UINT64                           *PciAddress\r
401   )\r
402 /*++\r
403 \r
404 Routine Description:\r
405 \r
406   TODO: Add function description\r
407 \r
408 Arguments:\r
409 \r
410   PciRootBridgeIo - TODO: add argument description\r
411   HpcDevicePath   - TODO: add argument description\r
412   PciAddress      - TODO: add argument description\r
413 \r
414 Returns:\r
415 \r
416   TODO: add return values\r
417 \r
418 --*/\r
419 ;\r
420 \r
421 EFI_STATUS\r
422 GetHpcPciAddressFromRootBridge (\r
423   IN  PCI_IO_DEVICE                    *RootBridge,\r
424   IN  EFI_DEVICE_PATH_PROTOCOL         *RemainingDevicePath,\r
425   OUT UINT64                           *PciAddress\r
426   )\r
427 /*++\r
428 \r
429 Routine Description:\r
430 \r
431   TODO: Add function description\r
432 \r
433 Arguments:\r
434 \r
435   RootBridge          - TODO: add argument description\r
436   RemainingDevicePath - TODO: add argument description\r
437   PciAddress          - TODO: add argument description\r
438 \r
439 Returns:\r
440 \r
441   TODO: add return values\r
442 \r
443 --*/\r
444 ;\r
445 \r
446 EFI_STATUS\r
447 FreePciDevice (\r
448   IN PCI_IO_DEVICE *PciIoDevice\r
449   )\r
450 /*++\r
451 \r
452 Routine Description:\r
453 \r
454   TODO: Add function description\r
455 \r
456 Arguments:\r
457 \r
458   PciIoDevice - TODO: add argument description\r
459 \r
460 Returns:\r
461 \r
462   TODO: add return values\r
463 \r
464 --*/\r
465 ;\r
466 \r
467 #endif\r