]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.h
Coding style modification.
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Pci / PciBusDxe / PciEnumerator.h
CommitLineData
3db51098 1/**@file\r
ead42efc 2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
3db51098 12**/\r
ead42efc 13\r
ead42efc 14\r
15#ifndef _EFI_PCI_ENUMERATOR_H\r
16#define _EFI_PCI_ENUMERATOR_H\r
17\r
18#include "PciResourceSupport.h"\r
19\r
20EFI_STATUS\r
21PciEnumerator (\r
22 IN EFI_HANDLE Controller\r
23 )\r
bcd70414 24/**\r
ead42efc 25\r
26Routine Description:\r
27\r
28 TODO: Add function description\r
29\r
30Arguments:\r
31\r
32 Controller - TODO: add argument description\r
33\r
34Returns:\r
35\r
36 TODO: add return values\r
37\r
bcd70414 38**/\r
ead42efc 39;\r
40\r
41EFI_STATUS\r
42PciRootBridgeEnumerator (\r
43 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc,\r
44 IN PCI_IO_DEVICE *RootBridgeDev\r
45 )\r
bcd70414 46/**\r
ead42efc 47\r
48Routine Description:\r
49\r
50 TODO: Add function description\r
51\r
52Arguments:\r
53\r
54 PciResAlloc - TODO: add argument description\r
55 RootBridgeDev - TODO: add argument description\r
56\r
57Returns:\r
58\r
59 TODO: add return values\r
60\r
bcd70414 61**/\r
ead42efc 62;\r
63\r
64EFI_STATUS\r
65ProcessOptionRom (\r
66 IN PCI_IO_DEVICE *Bridge,\r
67 IN UINT64 RomBase,\r
68 IN UINT64 MaxLength\r
69 )\r
bcd70414 70/**\r
ead42efc 71\r
72Routine Description:\r
73\r
74 TODO: Add function description\r
75\r
76Arguments:\r
77\r
78 Bridge - TODO: add argument description\r
79 RomBase - TODO: add argument description\r
80 MaxLength - TODO: add argument description\r
81\r
82Returns:\r
83\r
84 TODO: add return values\r
85\r
bcd70414 86**/\r
ead42efc 87;\r
88\r
89EFI_STATUS\r
90PciAssignBusNumber (\r
91 IN PCI_IO_DEVICE *Bridge,\r
92 IN UINT8 StartBusNumber,\r
93 OUT UINT8 *SubBusNumber\r
94 )\r
bcd70414 95/**\r
ead42efc 96\r
97Routine Description:\r
98\r
99 TODO: Add function description\r
100\r
101Arguments:\r
102\r
103 Bridge - TODO: add argument description\r
104 StartBusNumber - TODO: add argument description\r
105 SubBusNumber - TODO: add argument description\r
106\r
107Returns:\r
108\r
109 TODO: add return values\r
110\r
bcd70414 111**/\r
ead42efc 112;\r
113\r
114EFI_STATUS\r
115DetermineRootBridgeAttributes (\r
116 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc,\r
117 IN PCI_IO_DEVICE *RootBridgeDev\r
118 )\r
bcd70414 119/**\r
ead42efc 120\r
121Routine Description:\r
122\r
123 TODO: Add function description\r
124\r
125Arguments:\r
126\r
127 PciResAlloc - TODO: add argument description\r
128 RootBridgeDev - TODO: add argument description\r
129\r
130Returns:\r
131\r
132 TODO: add return values\r
133\r
bcd70414 134**/\r
ead42efc 135;\r
136\r
137UINT64\r
138GetMaxOptionRomSize (\r
139 IN PCI_IO_DEVICE *Bridge\r
140 )\r
bcd70414 141/**\r
ead42efc 142\r
143Routine Description:\r
144\r
145 TODO: Add function description\r
146\r
147Arguments:\r
148\r
149 Bridge - TODO: add argument description\r
150\r
151Returns:\r
152\r
153 TODO: add return values\r
154\r
bcd70414 155**/\r
ead42efc 156;\r
157\r
158EFI_STATUS\r
159PciHostBridgeDeviceAttribute (\r
160 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc\r
161 )\r
bcd70414 162/**\r
ead42efc 163\r
164Routine Description:\r
165\r
166 TODO: Add function description\r
167\r
168Arguments:\r
169\r
170 PciResAlloc - TODO: add argument description\r
171\r
172Returns:\r
173\r
174 TODO: add return values\r
175\r
bcd70414 176**/\r
ead42efc 177;\r
178\r
179EFI_STATUS\r
180GetResourceAllocationStatus (\r
181 VOID *AcpiConfig,\r
182 OUT UINT64 *IoResStatus,\r
183 OUT UINT64 *Mem32ResStatus,\r
184 OUT UINT64 *PMem32ResStatus,\r
185 OUT UINT64 *Mem64ResStatus,\r
186 OUT UINT64 *PMem64ResStatus\r
187 )\r
bcd70414 188/**\r
ead42efc 189\r
190Routine Description:\r
191\r
192 TODO: Add function description\r
193\r
194Arguments:\r
195\r
196 AcpiConfig - TODO: add argument description\r
197 IoResStatus - TODO: add argument description\r
198 Mem32ResStatus - TODO: add argument description\r
199 PMem32ResStatus - TODO: add argument description\r
200 Mem64ResStatus - TODO: add argument description\r
201 PMem64ResStatus - TODO: add argument description\r
202\r
203Returns:\r
204\r
205 TODO: add return values\r
206\r
bcd70414 207**/\r
ead42efc 208;\r
209\r
210EFI_STATUS\r
211RejectPciDevice (\r
212 IN PCI_IO_DEVICE *PciDevice\r
213 )\r
bcd70414 214/**\r
ead42efc 215\r
216Routine Description:\r
217\r
218 TODO: Add function description\r
219\r
220Arguments:\r
221\r
222 PciDevice - TODO: add argument description\r
223\r
224Returns:\r
225\r
226 TODO: add return values\r
227\r
bcd70414 228**/\r
ead42efc 229;\r
230\r
231BOOLEAN\r
232IsRejectiveDevice (\r
233 IN PCI_RESOURCE_NODE *PciResNode\r
234 )\r
bcd70414 235/**\r
ead42efc 236\r
237Routine Description:\r
238\r
239 TODO: Add function description\r
240\r
241Arguments:\r
242\r
243 PciResNode - TODO: add argument description\r
244\r
245Returns:\r
246\r
247 TODO: add return values\r
248\r
bcd70414 249**/\r
ead42efc 250;\r
251\r
252PCI_RESOURCE_NODE *\r
253GetLargerConsumerDevice (\r
254 IN PCI_RESOURCE_NODE *PciResNode1,\r
255 IN PCI_RESOURCE_NODE *PciResNode2\r
256 )\r
bcd70414 257/**\r
ead42efc 258\r
259Routine Description:\r
260\r
261 TODO: Add function description\r
262\r
263Arguments:\r
264\r
265 PciResNode1 - TODO: add argument description\r
266 PciResNode2 - TODO: add argument description\r
267\r
268Returns:\r
269\r
270 TODO: add return values\r
271\r
bcd70414 272**/\r
ead42efc 273;\r
274\r
275PCI_RESOURCE_NODE *\r
276GetMaxResourceConsumerDevice (\r
277 IN PCI_RESOURCE_NODE *ResPool\r
278 )\r
bcd70414 279/**\r
ead42efc 280\r
281Routine Description:\r
282\r
283 TODO: Add function description\r
284\r
285Arguments:\r
286\r
287 ResPool - TODO: add argument description\r
288\r
289Returns:\r
290\r
291 TODO: add return values\r
292\r
bcd70414 293**/\r
ead42efc 294;\r
295\r
296EFI_STATUS\r
297PciHostBridgeAdjustAllocation (\r
298 IN PCI_RESOURCE_NODE *IoPool,\r
299 IN PCI_RESOURCE_NODE *Mem32Pool,\r
300 IN PCI_RESOURCE_NODE *PMem32Pool,\r
301 IN PCI_RESOURCE_NODE *Mem64Pool,\r
302 IN PCI_RESOURCE_NODE *PMem64Pool,\r
303 IN UINT64 IoResStatus,\r
304 IN UINT64 Mem32ResStatus,\r
305 IN UINT64 PMem32ResStatus,\r
306 IN UINT64 Mem64ResStatus,\r
307 IN UINT64 PMem64ResStatus\r
308 )\r
bcd70414 309/**\r
ead42efc 310\r
311Routine Description:\r
312\r
313 TODO: Add function description\r
314\r
315Arguments:\r
316\r
317 IoPool - TODO: add argument description\r
318 Mem32Pool - TODO: add argument description\r
319 PMem32Pool - TODO: add argument description\r
320 Mem64Pool - TODO: add argument description\r
321 PMem64Pool - TODO: add argument description\r
322 IoResStatus - TODO: add argument description\r
323 Mem32ResStatus - TODO: add argument description\r
324 PMem32ResStatus - TODO: add argument description\r
325 Mem64ResStatus - TODO: add argument description\r
326 PMem64ResStatus - TODO: add argument description\r
327\r
328Returns:\r
329\r
330 TODO: add return values\r
331\r
bcd70414 332**/\r
ead42efc 333;\r
334\r
335EFI_STATUS\r
336ConstructAcpiResourceRequestor (\r
337 IN PCI_IO_DEVICE *Bridge,\r
338 IN PCI_RESOURCE_NODE *IoNode,\r
339 IN PCI_RESOURCE_NODE *Mem32Node,\r
340 IN PCI_RESOURCE_NODE *PMem32Node,\r
341 IN PCI_RESOURCE_NODE *Mem64Node,\r
342 IN PCI_RESOURCE_NODE *PMem64Node,\r
343 OUT VOID **pConfig\r
344 )\r
bcd70414 345/**\r
ead42efc 346\r
347Routine Description:\r
348\r
349 TODO: Add function description\r
350\r
351Arguments:\r
352\r
353 Bridge - TODO: add argument description\r
354 IoNode - TODO: add argument description\r
355 Mem32Node - TODO: add argument description\r
356 PMem32Node - TODO: add argument description\r
357 Mem64Node - TODO: add argument description\r
358 PMem64Node - TODO: add argument description\r
359 pConfig - TODO: add argument description\r
360\r
361Returns:\r
362\r
363 TODO: add return values\r
364\r
bcd70414 365**/\r
ead42efc 366;\r
367\r
368EFI_STATUS\r
369GetResourceBase (\r
370 IN VOID *pConfig,\r
371 OUT UINT64 *IoBase,\r
372 OUT UINT64 *Mem32Base,\r
373 OUT UINT64 *PMem32Base,\r
374 OUT UINT64 *Mem64Base,\r
375 OUT UINT64 *PMem64Base\r
376 )\r
bcd70414 377/**\r
ead42efc 378\r
379Routine Description:\r
380\r
381 TODO: Add function description\r
382\r
383Arguments:\r
384\r
385 pConfig - TODO: add argument description\r
386 IoBase - TODO: add argument description\r
387 Mem32Base - TODO: add argument description\r
388 PMem32Base - TODO: add argument description\r
389 Mem64Base - TODO: add argument description\r
390 PMem64Base - TODO: add argument description\r
391\r
392Returns:\r
393\r
394 TODO: add return values\r
395\r
bcd70414 396**/\r
ead42efc 397;\r
398\r
399EFI_STATUS\r
400PciBridgeEnumerator (\r
401 IN PCI_IO_DEVICE *BridgeDev\r
402 )\r
bcd70414 403/**\r
ead42efc 404\r
405Routine Description:\r
406\r
407 TODO: Add function description\r
408\r
409Arguments:\r
410\r
411 BridgeDev - TODO: add argument description\r
412\r
413Returns:\r
414\r
415 TODO: add return values\r
416\r
bcd70414 417**/\r
ead42efc 418;\r
419\r
420EFI_STATUS\r
421PciBridgeResourceAllocator (\r
422 IN PCI_IO_DEVICE *Bridge\r
423 )\r
bcd70414 424/**\r
ead42efc 425\r
426Routine Description:\r
427\r
428 TODO: Add function description\r
429\r
430Arguments:\r
431\r
432 Bridge - TODO: add argument description\r
433\r
434Returns:\r
435\r
436 TODO: add return values\r
437\r
bcd70414 438**/\r
ead42efc 439;\r
440\r
441EFI_STATUS\r
442GetResourceBaseFromBridge (\r
443 IN PCI_IO_DEVICE *Bridge,\r
444 OUT UINT64 *IoBase,\r
445 OUT UINT64 *Mem32Base,\r
446 OUT UINT64 *PMem32Base,\r
447 OUT UINT64 *Mem64Base,\r
448 OUT UINT64 *PMem64Base\r
449 )\r
bcd70414 450/**\r
ead42efc 451\r
452Routine Description:\r
453\r
454 TODO: Add function description\r
455\r
456Arguments:\r
457\r
458 Bridge - TODO: add argument description\r
459 IoBase - TODO: add argument description\r
460 Mem32Base - TODO: add argument description\r
461 PMem32Base - TODO: add argument description\r
462 Mem64Base - TODO: add argument description\r
463 PMem64Base - TODO: add argument description\r
464\r
465Returns:\r
466\r
467 TODO: add return values\r
468\r
bcd70414 469**/\r
ead42efc 470;\r
471\r
472EFI_STATUS\r
473PciHostBridgeP2CProcess (\r
474 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc\r
475 )\r
bcd70414 476/**\r
ead42efc 477\r
478Routine Description:\r
479\r
480 TODO: Add function description\r
481\r
482Arguments:\r
483\r
484 PciResAlloc - TODO: add argument description\r
485\r
486Returns:\r
487\r
488 TODO: add return values\r
489\r
bcd70414 490**/\r
ead42efc 491;\r
492\r
493EFI_STATUS\r
494NotifyPhase (\r
495 IN EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL *PciResAlloc,\r
496 EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE Phase\r
497 )\r
bcd70414 498/**\r
ead42efc 499\r
500Routine Description:\r
501\r
502 TODO: Add function description\r
503\r
504Arguments:\r
505\r
506 PciResAlloc - TODO: add argument description\r
507 Phase - TODO: add argument description\r
508\r
509Returns:\r
510\r
511 TODO: add return values\r
512\r
bcd70414 513**/\r
ead42efc 514;\r
515\r
516EFI_STATUS\r
517PreprocessController (\r
518 IN PCI_IO_DEVICE *Bridge,\r
519 IN UINT8 Bus,\r
520 IN UINT8 Device,\r
521 IN UINT8 Func,\r
522 IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase\r
523 )\r
bcd70414 524/**\r
ead42efc 525\r
526Routine Description:\r
527\r
528 TODO: Add function description\r
529\r
530Arguments:\r
531\r
532 Bridge - TODO: add argument description\r
533 Bus - TODO: add argument description\r
534 Device - TODO: add argument description\r
535 Func - TODO: add argument description\r
536 Phase - TODO: add argument description\r
537\r
538Returns:\r
539\r
540 TODO: add return values\r
541\r
bcd70414 542**/\r
ead42efc 543;\r
544\r
545EFI_STATUS\r
546EFIAPI\r
547PciHotPlugRequestNotify (\r
548 IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL * This,\r
549 IN EFI_PCI_HOTPLUG_OPERATION Operation,\r
550 IN EFI_HANDLE Controller,\r
551 IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL,\r
552 IN OUT UINT8 *NumberOfChildren,\r
553 IN OUT EFI_HANDLE * ChildHandleBuffer\r
554 )\r
bcd70414 555/**\r
ead42efc 556\r
557Routine Description:\r
558\r
559 TODO: Add function description\r
560\r
561Arguments:\r
562\r
563 This - TODO: add argument description\r
564 Operation - TODO: add argument description\r
565 Controller - TODO: add argument description\r
566 RemainingDevicePath - TODO: add argument description\r
567 NumberOfChildren - TODO: add argument description\r
568 ChildHandleBuffer - TODO: add argument description\r
569\r
570Returns:\r
571\r
572 TODO: add return values\r
573\r
bcd70414 574**/\r
ead42efc 575;\r
576\r
577BOOLEAN\r
578SearchHostBridgeHandle (\r
579 IN EFI_HANDLE RootBridgeHandle\r
580 )\r
bcd70414 581/**\r
ead42efc 582\r
583Routine Description:\r
584\r
585 TODO: Add function description\r
586\r
587Arguments:\r
588\r
589 RootBridgeHandle - TODO: add argument description\r
590\r
591Returns:\r
592\r
593 TODO: add return values\r
594\r
bcd70414 595**/\r
ead42efc 596;\r
597\r
598EFI_STATUS\r
599AddHostBridgeEnumerator (\r
600 IN EFI_HANDLE HostBridgeHandle\r
601 )\r
bcd70414 602/**\r
ead42efc 603\r
604Routine Description:\r
605\r
606 TODO: Add function description\r
607\r
608Arguments:\r
609\r
610 HostBridgeHandle - TODO: add argument description\r
611\r
612Returns:\r
613\r
614 TODO: add return values\r
615\r
bcd70414 616**/\r
ead42efc 617;\r
618\r
619#endif\r