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