]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Bus/Pci/PciBus/Dxe/PciIo.h
Add ReadMe.txt to specify that the EFI image FatBinPkg provides does not contain...
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Pci / PciBus / Dxe / PciIo.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 PciIo.h
15
16 Abstract:
17
18 PCI Bus Driver
19
20 Revision History
21
22 --*/
23
24 #ifndef _EFI_PCI_IO_PROTOCOL_H
25 #define _EFI_PCI_IO_PROTOCOL_H
26
27 EFI_STATUS
28 InitializePciIoInstance (
29 PCI_IO_DEVICE *PciIoDevice
30 )
31 /*++
32
33 Routine Description:
34
35 TODO: Add function description
36
37 Arguments:
38
39 PciIoDevice - TODO: add argument description
40
41 Returns:
42
43 TODO: add return values
44
45 --*/
46 ;
47
48 EFI_STATUS
49 PciIoVerifyBarAccess (
50 PCI_IO_DEVICE *PciIoDevice,
51 UINT8 BarIndex,
52 PCI_BAR_TYPE Type,
53 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
54 IN UINTN Count,
55 UINT64 *Offset
56 )
57 /*++
58
59 Routine Description:
60
61 TODO: Add function description
62
63 Arguments:
64
65 PciIoDevice - TODO: add argument description
66 BarIndex - TODO: add argument description
67 Type - TODO: add argument description
68 Width - TODO: add argument description
69 Count - TODO: add argument description
70 Offset - TODO: add argument description
71
72 Returns:
73
74 TODO: add return values
75
76 --*/
77 ;
78
79 EFI_STATUS
80 PciIoVerifyConfigAccess (
81 PCI_IO_DEVICE *PciIoDevice,
82 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
83 IN UINTN Count,
84 IN UINT64 *Offset
85 )
86 /*++
87
88 Routine Description:
89
90 TODO: Add function description
91
92 Arguments:
93
94 PciIoDevice - TODO: add argument description
95 Width - TODO: add argument description
96 Count - TODO: add argument description
97 Offset - TODO: add argument description
98
99 Returns:
100
101 TODO: add return values
102
103 --*/
104 ;
105
106 EFI_STATUS
107 EFIAPI
108 PciIoPollMem (
109 IN EFI_PCI_IO_PROTOCOL *This,
110 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
111 IN UINT8 BarIndex,
112 IN UINT64 Offset,
113 IN UINT64 Mask,
114 IN UINT64 Value,
115 IN UINT64 Delay,
116 OUT UINT64 *Result
117 )
118 /*++
119
120 Routine Description:
121
122 TODO: Add function description
123
124 Arguments:
125
126 This - TODO: add argument description
127 Width - TODO: add argument description
128 BarIndex - TODO: add argument description
129 Offset - TODO: add argument description
130 Mask - TODO: add argument description
131 Value - TODO: add argument description
132 Delay - TODO: add argument description
133 Result - TODO: add argument description
134
135 Returns:
136
137 TODO: add return values
138
139 --*/
140 ;
141
142 EFI_STATUS
143 EFIAPI
144 PciIoPollIo (
145 IN EFI_PCI_IO_PROTOCOL *This,
146 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
147 IN UINT8 BarIndex,
148 IN UINT64 Offset,
149 IN UINT64 Mask,
150 IN UINT64 Value,
151 IN UINT64 Delay,
152 OUT UINT64 *Result
153 )
154 /*++
155
156 Routine Description:
157
158 TODO: Add function description
159
160 Arguments:
161
162 This - TODO: add argument description
163 Width - TODO: add argument description
164 BarIndex - TODO: add argument description
165 Offset - TODO: add argument description
166 Mask - TODO: add argument description
167 Value - TODO: add argument description
168 Delay - TODO: add argument description
169 Result - TODO: add argument description
170
171 Returns:
172
173 TODO: add return values
174
175 --*/
176 ;
177
178 EFI_STATUS
179 EFIAPI
180 PciIoMemRead (
181 IN EFI_PCI_IO_PROTOCOL *This,
182 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
183 IN UINT8 BarIndex,
184 IN UINT64 Offset,
185 IN UINTN Count,
186 IN OUT VOID *Buffer
187 )
188 /*++
189
190 Routine Description:
191
192 TODO: Add function description
193
194 Arguments:
195
196 This - TODO: add argument description
197 Width - TODO: add argument description
198 BarIndex - TODO: add argument description
199 Offset - TODO: add argument description
200 Count - TODO: add argument description
201 Buffer - TODO: add argument description
202
203 Returns:
204
205 TODO: add return values
206
207 --*/
208 ;
209
210 EFI_STATUS
211 EFIAPI
212 PciIoMemWrite (
213 IN EFI_PCI_IO_PROTOCOL *This,
214 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
215 IN UINT8 BarIndex,
216 IN UINT64 Offset,
217 IN UINTN Count,
218 IN OUT VOID *Buffer
219 )
220 /*++
221
222 Routine Description:
223
224 TODO: Add function description
225
226 Arguments:
227
228 This - TODO: add argument description
229 Width - TODO: add argument description
230 BarIndex - TODO: add argument description
231 Offset - TODO: add argument description
232 Count - TODO: add argument description
233 Buffer - TODO: add argument description
234
235 Returns:
236
237 TODO: add return values
238
239 --*/
240 ;
241
242 EFI_STATUS
243 EFIAPI
244 PciIoIoRead (
245 IN EFI_PCI_IO_PROTOCOL *This,
246 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
247 IN UINT8 BarIndex,
248 IN UINT64 Offset,
249 IN UINTN Count,
250 IN OUT VOID *Buffer
251 )
252 /*++
253
254 Routine Description:
255
256 TODO: Add function description
257
258 Arguments:
259
260 This - TODO: add argument description
261 Width - TODO: add argument description
262 BarIndex - TODO: add argument description
263 Offset - TODO: add argument description
264 Count - TODO: add argument description
265 Buffer - TODO: add argument description
266
267 Returns:
268
269 TODO: add return values
270
271 --*/
272 ;
273
274 EFI_STATUS
275 EFIAPI
276 PciIoIoWrite (
277 IN EFI_PCI_IO_PROTOCOL *This,
278 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
279 IN UINT8 BarIndex,
280 IN UINT64 Offset,
281 IN UINTN Count,
282 IN OUT VOID *Buffer
283 )
284 /*++
285
286 Routine Description:
287
288 TODO: Add function description
289
290 Arguments:
291
292 This - TODO: add argument description
293 Width - TODO: add argument description
294 BarIndex - TODO: add argument description
295 Offset - TODO: add argument description
296 Count - TODO: add argument description
297 Buffer - TODO: add argument description
298
299 Returns:
300
301 TODO: add return values
302
303 --*/
304 ;
305
306 EFI_STATUS
307 EFIAPI
308 PciIoConfigRead (
309 IN EFI_PCI_IO_PROTOCOL *This,
310 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
311 IN UINT32 Offset,
312 IN UINTN Count,
313 IN OUT VOID *Buffer
314 )
315 /*++
316
317 Routine Description:
318
319 TODO: Add function description
320
321 Arguments:
322
323 This - TODO: add argument description
324 Width - TODO: add argument description
325 Offset - TODO: add argument description
326 Count - TODO: add argument description
327 Buffer - TODO: add argument description
328
329 Returns:
330
331 TODO: add return values
332
333 --*/
334 ;
335
336 EFI_STATUS
337 EFIAPI
338 PciIoConfigWrite (
339 IN EFI_PCI_IO_PROTOCOL *This,
340 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
341 IN UINT32 Offset,
342 IN UINTN Count,
343 IN OUT VOID *Buffer
344 )
345 /*++
346
347 Routine Description:
348
349 TODO: Add function description
350
351 Arguments:
352
353 This - TODO: add argument description
354 Width - TODO: add argument description
355 Offset - TODO: add argument description
356 Count - TODO: add argument description
357 Buffer - TODO: add argument description
358
359 Returns:
360
361 TODO: add return values
362
363 --*/
364 ;
365
366 EFI_STATUS
367 EFIAPI
368 PciIoCopyMem (
369 IN EFI_PCI_IO_PROTOCOL *This,
370 IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
371 IN UINT8 DestBarIndex,
372 IN UINT64 DestOffset,
373 IN UINT8 SrcBarIndex,
374 IN UINT64 SrcOffset,
375 IN UINTN Count
376 )
377 /*++
378
379 Routine Description:
380
381 TODO: Add function description
382
383 Arguments:
384
385 This - TODO: add argument description
386 Width - TODO: add argument description
387 DestBarIndex - TODO: add argument description
388 DestOffset - TODO: add argument description
389 SrcBarIndex - TODO: add argument description
390 SrcOffset - TODO: add argument description
391 Count - TODO: add argument description
392
393 Returns:
394
395 TODO: add return values
396
397 --*/
398 ;
399
400 EFI_STATUS
401 EFIAPI
402 PciIoMap (
403 IN EFI_PCI_IO_PROTOCOL *This,
404 IN EFI_PCI_IO_PROTOCOL_OPERATION Operation,
405 IN VOID *HostAddress,
406 IN OUT UINTN *NumberOfBytes,
407 OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
408 OUT VOID **Mapping
409 )
410 /*++
411
412 Routine Description:
413
414 TODO: Add function description
415
416 Arguments:
417
418 This - TODO: add argument description
419 Operation - TODO: add argument description
420 HostAddress - TODO: add argument description
421 NumberOfBytes - TODO: add argument description
422 DeviceAddress - TODO: add argument description
423 Mapping - TODO: add argument description
424
425 Returns:
426
427 TODO: add return values
428
429 --*/
430 ;
431
432 EFI_STATUS
433 EFIAPI
434 PciIoUnmap (
435 IN EFI_PCI_IO_PROTOCOL *This,
436 IN VOID *Mapping
437 )
438 /*++
439
440 Routine Description:
441
442 TODO: Add function description
443
444 Arguments:
445
446 This - TODO: add argument description
447 Mapping - TODO: add argument description
448
449 Returns:
450
451 TODO: add return values
452
453 --*/
454 ;
455
456 EFI_STATUS
457 EFIAPI
458 PciIoAllocateBuffer (
459 IN EFI_PCI_IO_PROTOCOL *This,
460 IN EFI_ALLOCATE_TYPE Type,
461 IN EFI_MEMORY_TYPE MemoryType,
462 IN UINTN Pages,
463 OUT VOID **HostAddress,
464 IN UINT64 Attributes
465 )
466 /*++
467
468 Routine Description:
469
470 TODO: Add function description
471
472 Arguments:
473
474 This - TODO: add argument description
475 Type - TODO: add argument description
476 MemoryType - TODO: add argument description
477 Pages - TODO: add argument description
478 HostAddress - TODO: add argument description
479 Attributes - TODO: add argument description
480
481 Returns:
482
483 TODO: add return values
484
485 --*/
486 ;
487
488 EFI_STATUS
489 EFIAPI
490 PciIoFreeBuffer (
491 IN EFI_PCI_IO_PROTOCOL *This,
492 IN UINTN Pages,
493 IN VOID *HostAddress
494 )
495 /*++
496
497 Routine Description:
498
499 TODO: Add function description
500
501 Arguments:
502
503 This - TODO: add argument description
504 Pages - TODO: add argument description
505 HostAddress - TODO: add argument description
506
507 Returns:
508
509 TODO: add return values
510
511 --*/
512 ;
513
514 EFI_STATUS
515 EFIAPI
516 PciIoFlush (
517 IN EFI_PCI_IO_PROTOCOL *This
518 )
519 /*++
520
521 Routine Description:
522
523 TODO: Add function description
524
525 Arguments:
526
527 This - TODO: add argument description
528
529 Returns:
530
531 TODO: add return values
532
533 --*/
534 ;
535
536 EFI_STATUS
537 EFIAPI
538 PciIoGetLocation (
539 IN EFI_PCI_IO_PROTOCOL *This,
540 OUT UINTN *Segment,
541 OUT UINTN *Bus,
542 OUT UINTN *Device,
543 OUT UINTN *Function
544 )
545 /*++
546
547 Routine Description:
548
549 TODO: Add function description
550
551 Arguments:
552
553 This - TODO: add argument description
554 Segment - TODO: add argument description
555 Bus - TODO: add argument description
556 Device - TODO: add argument description
557 Function - TODO: add argument description
558
559 Returns:
560
561 TODO: add return values
562
563 --*/
564 ;
565
566 BOOLEAN
567 CheckBarType (
568 IN PCI_IO_DEVICE *PciIoDevice,
569 UINT8 BarIndex,
570 PCI_BAR_TYPE BarType
571 )
572 /*++
573
574 Routine Description:
575
576 TODO: Add function description
577
578 Arguments:
579
580 PciIoDevice - TODO: add argument description
581 BarIndex - TODO: add argument description
582 BarType - TODO: add argument description
583
584 Returns:
585
586 TODO: add return values
587
588 --*/
589 ;
590
591 EFI_STATUS
592 ModifyRootBridgeAttributes (
593 IN PCI_IO_DEVICE *PciIoDevice,
594 IN UINT64 Attributes,
595 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation
596 )
597 /*++
598
599 Routine Description:
600
601 TODO: Add function description
602
603 Arguments:
604
605 PciIoDevice - TODO: add argument description
606 Attributes - TODO: add argument description
607 Operation - TODO: add argument description
608
609 Returns:
610
611 TODO: add return values
612
613 --*/
614 ;
615
616 EFI_STATUS
617 SupportPaletteSnoopAttributes (
618 IN PCI_IO_DEVICE *PciIoDevice,
619 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation
620 )
621 /*++
622
623 Routine Description:
624
625 TODO: Add function description
626
627 Arguments:
628
629 PciIoDevice - TODO: add argument description
630 Operation - TODO: add argument description
631
632 Returns:
633
634 TODO: add return values
635
636 --*/
637 ;
638
639 EFI_STATUS
640 EFIAPI
641 PciIoAttributes (
642 IN EFI_PCI_IO_PROTOCOL * This,
643 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation,
644 IN UINT64 Attributes,
645 OUT UINT64 *Result OPTIONAL
646 )
647 /*++
648
649 Routine Description:
650
651 TODO: Add function description
652
653 Arguments:
654
655 This - TODO: add argument description
656 Operation - TODO: add argument description
657 Attributes - TODO: add argument description
658 Result - TODO: add argument description
659
660 Returns:
661
662 TODO: add return values
663
664 --*/
665 ;
666
667 EFI_STATUS
668 EFIAPI
669 PciIoGetBarAttributes (
670 IN EFI_PCI_IO_PROTOCOL * This,
671 IN UINT8 BarIndex,
672 OUT UINT64 *Supports, OPTIONAL
673 OUT VOID **Resources OPTIONAL
674 )
675 /*++
676
677 Routine Description:
678
679 TODO: Add function description
680
681 Arguments:
682
683 This - TODO: add argument description
684 BarIndex - TODO: add argument description
685 Supports - TODO: add argument description
686 Resources - TODO: add argument description
687
688 Returns:
689
690 TODO: add return values
691
692 --*/
693 ;
694
695 EFI_STATUS
696 EFIAPI
697 PciIoSetBarAttributes (
698 IN EFI_PCI_IO_PROTOCOL *This,
699 IN UINT64 Attributes,
700 IN UINT8 BarIndex,
701 IN OUT UINT64 *Offset,
702 IN OUT UINT64 *Length
703 )
704 /*++
705
706 Routine Description:
707
708 TODO: Add function description
709
710 Arguments:
711
712 This - TODO: add argument description
713 Attributes - TODO: add argument description
714 BarIndex - TODO: add argument description
715 Offset - TODO: add argument description
716 Length - TODO: add argument description
717
718 Returns:
719
720 TODO: add return values
721
722 --*/
723 ;
724
725 EFI_STATUS
726 UpStreamBridgesAttributes (
727 IN PCI_IO_DEVICE *PciIoDevice,
728 IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation,
729 IN UINT64 Attributes
730 )
731 /*++
732
733 Routine Description:
734
735 TODO: Add function description
736
737 Arguments:
738
739 PciIoDevice - TODO: add argument description
740 Operation - TODO: add argument description
741 Attributes - TODO: add argument description
742
743 Returns:
744
745 TODO: add return values
746
747 --*/
748 ;
749
750 BOOLEAN
751 PciDevicesOnTheSamePath (
752 IN PCI_IO_DEVICE *PciDevice1,
753 IN PCI_IO_DEVICE *PciDevice2
754 )
755 /*++
756
757 Routine Description:
758
759 TODO: Add function description
760
761 Arguments:
762
763 PciDevice1 - TODO: add argument description
764 PciDevice2 - TODO: add argument description
765
766 Returns:
767
768 TODO: add return values
769
770 --*/
771 ;
772
773 #endif