65 DBGC (
device,
"EFIDEV %s cannot open device path: %s\n",
67 goto err_open_device_path;
87 DBGC (
device,
"EFIDEV %s has no parent supporting " 90 goto err_locate_protocol;
111 err_open_device_path:
136 DBGC ( parent,
"EFIDEV %s could not add child",
138 DBGC ( parent,
" %s: %s\n",
182 DBGC (
device,
"EFIDEV %s is not a PCI device: %s\n",
189 DBGC (
device,
"EFIDEV %s could not get PCI information: %s\n",
220 DBGC (
device,
"EFIDEV %s could not get underlying device " EFI_BOOT_SERVICES * BootServices
A pointer to the EFI Boot Services Table.
struct arbelprm_rc_send_wqe rc
#define EEFI(efirc)
Convert an EFI status code to an iPXE status code.
int efipci_info(EFI_HANDLE device, struct efi_pci_device *efipci)
Get EFI PCI device information.
#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
struct pci_device pci
PCI device.
128 bit buffer containing a unique identifier value.
EFI_GUID efi_pci_io_protocol_guid
PCI I/O protocol GUID.
size_t efi_path_len(EFI_DEVICE_PATH_PROTOCOL *path)
Find length of device path (excluding terminator)
#define DBGC_EFI_OPENERS(...)
This protocol can be used on any device handle to obtain generic path/location information concerning...
int efi_child_add(EFI_HANDLE parent, EFI_HANDLE child)
Add EFI device as child of another EFI device.
EFI_CLOSE_PROTOCOL CloseProtocol
struct device dev
Generic device.
static void efi_path_terminate(EFI_DEVICE_PATH_PROTOCOL *end)
Terminate device path.
EFI_DEVICE_PATH_PROTOCOL * efi_path_prev(EFI_DEVICE_PATH_PROTOCOL *path, EFI_DEVICE_PATH_PROTOCOL *curr)
Find previous element of device path.
void efi_child_del(EFI_HANDLE parent, EFI_HANDLE child)
Remove EFI device as child of another EFI device.
static int efi_pci_info(EFI_HANDLE device, const char *prefix, struct device *dev)
Get underlying PCI device information.
FILE_LICENCE(GPL2_OR_LATER)
#define ENOMEM
Not enough space.
void * memcpy(void *dest, const void *src, size_t len) __nonnull
const char * efi_devpath_text(EFI_DEVICE_PATH_PROTOCOL *path)
Get textual representation of device path.
#define EFI_OPEN_PROTOCOL_GET_PROTOCOL
const char * efi_handle_name(EFI_HANDLE handle)
Get name of an EFI handle.
const char * efi_guid_ntoa(CONST EFI_GUID *guid)
Convert GUID to a printable string.
char * strerror(int errno)
Retrieve string representation of error number.
static void(* free)(struct refcnt *refcnt))
EFI_HANDLE efi_image_handle
Image handle passed to entry point.
EFI_GUID efi_device_path_protocol_guid
Device path protocol GUID.
int efi_locate_device(EFI_HANDLE device, EFI_GUID *protocol, EFI_HANDLE *parent, unsigned int skip)
Locate parent device supporting a given protocol.
#define BUS_TYPE_EFI
EFI bus type.
void * malloc(size_t size)
Allocate memory.
unsigned int bus_type
Bus type.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
uint32_t end
Ending offset.
struct device_description desc
Device description.
int snprintf(char *buf, size_t size, const char *fmt,...)
Write a formatted string to a buffer.
EFI_SYSTEM_TABLE * efi_systab
EFI_OPEN_PROTOCOL OpenProtocol
uint16_t protocol
Protocol ID.
EFI_LOCATE_DEVICE_PATH LocateDevicePath
void efi_device_info(EFI_HANDLE device, const char *prefix, struct device *dev)
Get underlying device information.