iPXE
efi_pci.h
Go to the documentation of this file.
1 #ifndef _IPXE_EFI_PCI_H
2 #define _IPXE_EFI_PCI_H
3 
4 /** @file
5  *
6  * EFI driver interface
7  */
8 
9 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
10 FILE_SECBOOT ( PERMITTED );
11 
12 #include <ipxe/pci.h>
13 #include <ipxe/efi/efi.h>
15 
16 /* PciRootBridgeIo.h uses LShiftU64(), which isn't defined anywhere else */
17 static inline EFIAPI uint64_t LShiftU64 ( UINT64 value, UINTN shift ) {
18  return ( value << shift );
19 }
20 
21 /** An EFI PCI device */
23  /** PCI device */
24  struct pci_device pci;
25  /** PCI I/O protocol */
27 };
28 
29 extern int efipci_info ( EFI_HANDLE device, struct efi_pci_device *efipci );
30 
31 #endif /* _IPXE_EFI_PCI_H */
struct pci_device pci
PCI device.
Definition: efi_pci.h:24
unsigned long long uint64_t
Definition: stdint.h:13
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
FILE_SECBOOT(PERMITTED)
A hardware device.
Definition: device.h:77
pseudo_bit_t value[0x00020]
Definition: arbel.h:13
#define EFIAPI
PCI bus.
A PCI device.
Definition: pci.h:211
UINT64 UINTN
Unsigned value of native width.
unsigned long long UINT64
Definition: ProcessorBind.h:97
EFI API.
EFI_PCI_IO_PROTOCOL * io
PCI I/O protocol.
Definition: efi_pci.h:26
An EFI PCI device.
Definition: efi_pci.h:22
int efipci_info(EFI_HANDLE device, struct efi_pci_device *efipci)
Get EFI PCI device information.
Definition: efi_pci.c:705
static EFIAPI uint64_t LShiftU64(UINT64 value, UINTN shift)
Definition: efi_pci.h:17
EFI PCI I/O Protocol provides the basic Memory, I/O, PCI configuration, and DMA interfaces that a dri...
The EFI_PCI_IO_PROTOCOL provides the basic Memory, I/O, PCI configuration, and DMA interfaces used to...
Definition: PciIo.h:519
Definition: efi.h:62