TianoCore EDK2 master
Loading...
Searching...
No Matches
PciIo.h
Go to the documentation of this file.
1
9#ifndef _EFI_PCI_IO_PROTOCOL_H_
10#define _EFI_PCI_IO_PROTOCOL_H_
11
18VOID
20 IN PCI_IO_DEVICE *PciIoDevice
21 );
22
40 IN PCI_IO_DEVICE *PciIoDevice,
41 IN UINT8 BarIndex,
42 IN PCI_BAR_TYPE Type,
44 IN IN UINTN Count,
45 IN UINT64 *Offset
46 );
47
63 IN PCI_IO_DEVICE *PciIoDevice,
65 IN UINTN Count,
66 IN UINT64 *Offset
67 );
68
92EFIAPI
96 IN UINT8 BarIndex,
97 IN UINT64 Offset,
98 IN UINT64 Mask,
99 IN UINT64 Value,
100 IN UINT64 Delay,
101 OUT UINT64 *Result
102 );
103
127EFIAPI
131 IN UINT8 BarIndex,
132 IN UINT64 Offset,
133 IN UINT64 Mask,
134 IN UINT64 Value,
135 IN UINT64 Delay,
136 OUT UINT64 *Result
137 );
138
160EFIAPI
164 IN UINT8 BarIndex,
165 IN UINT64 Offset,
166 IN UINTN Count,
167 IN OUT VOID *Buffer
168 );
169
191EFIAPI
195 IN UINT8 BarIndex,
196 IN UINT64 Offset,
197 IN UINTN Count,
198 IN OUT VOID *Buffer
199 );
200
222EFIAPI
226 IN UINT8 BarIndex,
227 IN UINT64 Offset,
228 IN UINTN Count,
229 IN OUT VOID *Buffer
230 );
231
253EFIAPI
257 IN UINT8 BarIndex,
258 IN UINT64 Offset,
259 IN UINTN Count,
260 IN OUT VOID *Buffer
261 );
262
282EFIAPI
286 IN UINT32 Offset,
287 IN UINTN Count,
288 IN OUT VOID *Buffer
289 );
290
310EFIAPI
314 IN UINT32 Offset,
315 IN UINTN Count,
316 IN OUT VOID *Buffer
317 );
318
348EFIAPI
352 IN UINT8 DestBarIndex,
353 IN UINT64 DestOffset,
354 IN UINT8 SrcBarIndex,
355 IN UINT64 SrcOffset,
356 IN UINTN Count
357 );
358
379EFIAPI
380PciIoMap (
383 IN VOID *HostAddress,
384 IN OUT UINTN *NumberOfBytes,
385 OUT EFI_PHYSICAL_ADDRESS *DeviceAddress,
386 OUT VOID **Mapping
387 );
388
400EFIAPI
403 IN VOID *Mapping
404 );
405
427EFIAPI
431 IN EFI_MEMORY_TYPE MemoryType,
432 IN UINTN Pages,
433 OUT VOID **HostAddress,
434 IN UINT64 Attributes
435 );
436
450EFIAPI
453 IN UINTN Pages,
454 IN VOID *HostAddress
455 );
456
469EFIAPI
472 );
473
488EFIAPI
491 OUT UINTN *Segment,
492 OUT UINTN *Bus,
493 OUT UINTN *Device,
494 OUT UINTN *Function
495 );
496
509BOOLEAN
511 IN PCI_IO_DEVICE *PciIoDevice,
512 IN UINT8 BarIndex,
513 IN PCI_BAR_TYPE BarType
514 );
515
529 IN PCI_IO_DEVICE *PciIoDevice,
530 IN UINT64 Attributes,
532 );
533
546 IN PCI_IO_DEVICE *PciIoDevice,
548 );
549
570EFIAPI
574 IN UINT64 Attributes,
575 OUT UINT64 *Result OPTIONAL
576 );
577
601EFIAPI
604 IN UINT8 BarIndex,
605 OUT UINT64 *Supports OPTIONAL,
606 OUT VOID **Resources OPTIONAL
607 );
608
634EFIAPI
637 IN UINT64 Attributes,
638 IN UINT8 BarIndex,
639 IN OUT UINT64 *Offset,
640 IN OUT UINT64 *Length
641 );
642
653BOOLEAN
655 IN PCI_IO_DEVICE *PciDevice1,
656 IN PCI_IO_DEVICE *PciDevice2
657 );
658
659#endif
UINT64 UINTN
EFI_STATUS EFIAPI PciIoGetLocation(IN EFI_PCI_IO_PROTOCOL *This, OUT UINTN *Segment, OUT UINTN *Bus, OUT UINTN *Device, OUT UINTN *Function)
BOOLEAN CheckBarType(IN PCI_IO_DEVICE *PciIoDevice, IN UINT8 BarIndex, IN PCI_BAR_TYPE BarType)
Definition: PciIo.c:1282
EFI_STATUS EFIAPI PciIoMemRead(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINTN Count, IN OUT VOID *Buffer)
EFI_STATUS EFIAPI PciIoAttributes(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation, IN UINT64 Attributes, OUT UINT64 *Result OPTIONAL)
EFI_STATUS EFIAPI PciIoSetBarAttributes(IN EFI_PCI_IO_PROTOCOL *This, IN UINT64 Attributes, IN UINT8 BarIndex, IN OUT UINT64 *Offset, IN OUT UINT64 *Length)
EFI_STATUS EFIAPI PciIoConfigRead(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT32 Offset, IN UINTN Count, IN OUT VOID *Buffer)
Definition: PciIo.c:725
EFI_STATUS EFIAPI PciIoMemWrite(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINTN Count, IN OUT VOID *Buffer)
EFI_STATUS ModifyRootBridgeAttributes(IN PCI_IO_DEVICE *PciIoDevice, IN UINT64 Attributes, IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation)
Definition: PciIo.c:1329
BOOLEAN PciDevicesOnTheSamePath(IN PCI_IO_DEVICE *PciDevice1, IN PCI_IO_DEVICE *PciDevice2)
Definition: PciIo.c:2079
EFI_STATUS EFIAPI PciIoPollMem(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINT64 Mask, IN UINT64 Value, IN UINT64 Delay, OUT UINT64 *Result)
EFI_STATUS EFIAPI PciIoMap(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_OPERATION Operation, IN VOID *HostAddress, IN OUT UINTN *NumberOfBytes, OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, OUT VOID **Mapping)
Definition: PciIo.c:964
EFI_STATUS EFIAPI PciIoIoWrite(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINTN Count, IN OUT VOID *Buffer)
VOID InitializePciIoInstance(IN PCI_IO_DEVICE *PciIoDevice)
Definition: PciIo.c:52
EFI_STATUS SupportPaletteSnoopAttributes(IN PCI_IO_DEVICE *PciIoDevice, IN EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION Operation)
Definition: PciIo.c:1405
EFI_STATUS EFIAPI PciIoConfigWrite(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT32 Offset, IN UINTN Count, IN OUT VOID *Buffer)
Definition: PciIo.c:794
EFI_STATUS EFIAPI PciIoFlush(IN EFI_PCI_IO_PROTOCOL *This)
EFI_STATUS EFIAPI PciIoGetBarAttributes(IN EFI_PCI_IO_PROTOCOL *This, IN UINT8 BarIndex, OUT UINT64 *Supports OPTIONAL, OUT VOID **Resources OPTIONAL)
EFI_STATUS PciIoVerifyConfigAccess(IN PCI_IO_DEVICE *PciIoDevice, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINTN Count, IN UINT64 *Offset)
Definition: PciIo.c:136
EFI_STATUS EFIAPI PciIoCopyMem(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 DestBarIndex, IN UINT64 DestOffset, IN UINT8 SrcBarIndex, IN UINT64 SrcOffset, IN UINTN Count)
EFI_STATUS EFIAPI PciIoPollIo(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINT64 Mask, IN UINT64 Value, IN UINT64 Delay, OUT UINT64 *Result)
EFI_STATUS PciIoVerifyBarAccess(IN PCI_IO_DEVICE *PciIoDevice, IN UINT8 BarIndex, IN PCI_BAR_TYPE Type, IN IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN IN UINTN Count, IN UINT64 *Offset)
Definition: PciIo.c:75
EFI_STATUS EFIAPI PciIoUnmap(IN EFI_PCI_IO_PROTOCOL *This, IN VOID *Mapping)
Definition: PciIo.c:1051
EFI_STATUS EFIAPI PciIoAllocateBuffer(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, OUT VOID **HostAddress, IN UINT64 Attributes)
Definition: PciIo.c:1108
EFI_STATUS EFIAPI PciIoIoRead(IN EFI_PCI_IO_PROTOCOL *This, IN EFI_PCI_IO_PROTOCOL_WIDTH Width, IN UINT8 BarIndex, IN UINT64 Offset, IN UINTN Count, IN OUT VOID *Buffer)
EFI_STATUS EFIAPI PciIoFreeBuffer(IN EFI_PCI_IO_PROTOCOL *This, IN UINTN Pages, IN VOID *HostAddress)
Definition: PciIo.c:1166
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_PCI_IO_PROTOCOL_WIDTH
Definition: PciIo.h:28
EFI_PCI_IO_PROTOCOL_ATTRIBUTE_OPERATION
Definition: PciIo.h:99
EFI_PCI_IO_PROTOCOL_OPERATION
Definition: PciIo.h:77
UINT64 EFI_PHYSICAL_ADDRESS
Definition: UefiBaseType.h:50
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
EFI_MEMORY_TYPE
EFI_ALLOCATE_TYPE
Definition: UefiSpec.h:29