Attach driver to device.
242 &bofm1.interface ) ) != 0 ) {
244 DBGC (
device,
"EFIBOFM %s cannot find BOFM protocol\n",
246 goto err_locate_bofm;
248 bofmtab = &bofm1.bofm1->BofmTable;
249 DBGC (
device,
"EFIBOFM %s found version 1 BOFM table at %p+%04x\n",
254 &bofm2.interface ) ) == 0 ) {
255 bofmtab2 = &bofm2.bofm2->BofmTable;
256 DBGC (
device,
"EFIBOFM %s found version 2 BOFM table at " 258 bofmtab2->Parameters.Length );
259 assert ( bofm2.bofm2->RegisterSupport ==
260 bofm1.bofm1->RegisterSupport );
262 DBGC (
device,
"EFIBOFM %s cannot find BOFM2 protocol\n",
269 DBGC2 (
device,
"EFIBOFM %s version 1 before processing:\n",
273 DBGC2 (
device,
"EFIBOFM %s version 2 before processing:\n",
281 DBGC2 (
device,
"EFIBOFM %s version 1 after processing:\n",
285 DBGC2 (
device,
"EFIBOFM %s version 2 after processing:\n",
292 if ( ( efirc = bofm2.bofm2->SetStatus ( bofm2.bofm2,
device,
293 FALSE, bofmrc ) ) != 0){
295 DBGC (
device,
"EFIBOFM %s could not set BOFM2 " 301 if ( ( efirc = bofm1.bofm1->SetStatus ( bofm1.bofm1,
device,
302 FALSE, bofmrc ) ) != 0){
304 DBGC (
device,
"EFIBOFM %s could not set BOFM "
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.
EFI_LOCATE_PROTOCOL LocateProtocol
int efipci_open(EFI_HANDLE device, UINT32 attributes, struct efi_pci_device *efipci)
Open EFI PCI device.
EFI_HANDLE device
EFI device handle.
assert((readw(&hdr->flags) &(GTF_reading|GTF_writing))==0)
#define EFI_OPEN_PROTOCOL_GET_PROTOCOL
const char * efi_handle_name(EFI_HANDLE handle)
Get name of an EFI handle.
char * strerror(int errno)
Retrieve string representation of error number.
#define EAGAIN
Resource temporarily unavailable.
static EFI_GUID bofm2_protocol_guid
BOFM2 protocol GUID.
int bofm(userptr_t bofmtab, struct pci_device *pci)
Process BOFM table.
void efipci_close(EFI_HANDLE device)
Close EFI PCI device.
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
static EFI_GUID bofm1_protocol_guid
BOFM1 protocol GUID.
userptr_t virt_to_user(volatile const void *addr)
Convert virtual address to user pointer.
EFI_SYSTEM_TABLE * efi_systab
#define NULL
NULL pointer (VOID *)