54 if ( ( efirc =
efi_init ( image_handle, systab ) ) != 0 )
64 if ( (
rc =
main() ) != 0 ) {
90 DBGC (
device,
"EFI has loaded image device path %s\n",
92 DBGC (
device,
"EFI has boot option device path %s\n",
95 if ( bootpath && ( !
uri ) )
151 .dev = { .name =
"EFI" },
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
struct arbelprm_rc_send_wqe rc
void churi(struct uri *uri)
Change working URI.
#define __root_device
Declare a root device.
int efi_set_autoboot_ll_addr(EFI_HANDLE device, EFI_DEVICE_PATH_PROTOCOL *path)
Identify autoboot device.
int efi_autoexec_load(void)
Load autoexec script.
int efi_cachedhcp_record(EFI_HANDLE device, EFI_DEVICE_PATH_PROTOCOL *path)
Record cached DHCP packet.
const char * efi_devpath_text(EFI_DEVICE_PATH_PROTOCOL *path)
Get textual representation of device path.
void efi_driver_disconnect_all(void)
Disconnect EFI driver from all possible devices.
void efi_driver_reconnect_all(void)
Reconnect original EFI drivers to all possible devices.
int efi_driver_connect_all(void)
Connect EFI driver to all possible devices.
EFI_STATUS efi_init(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab)
Initialise EFI environment.
EFI_DEVICE_PATH_PROTOCOL * efi_loaded_image_path
Device path for the loaded image's device handle.
EFI_LOADED_IMAGE_PROTOCOL * efi_loaded_image
Loaded image protocol for this image.
EFI_DEVICE_PATH_PROTOCOL * efi_current_boot_path(void)
Get EFI device path for current boot option.
struct uri * efi_path_uri(EFI_DEVICE_PATH_PROTOCOL *path)
Parse URI from device path.
static void efi_snp_claim(void)
Claim network devices for use by iPXE.
static void efi_snp_release(void)
Release network devices for use via SNP.
void efi_veto(void)
Remove any vetoed drivers.
EFI watchdog holdoff timer.
static void efi_watchdog_start(void)
Start EFI watchdog holdoff timer.
static void efi_watchdog_stop(void)
Stop EFI watchdog holdoff timer.
static struct root_driver efi_root_driver
EFI root device driver.
static void efi_remove(struct root_device *rootdev __unused)
Remove EFI root bus.
static int efi_probe(struct root_device *rootdev __unused)
Probe EFI root bus.
static void efi_remove(struct root_device *rootdev __unused)
Remove EFI root bus.
static int efi_probe(struct root_device *rootdev __unused)
Probe EFI root bus.
EFI_STATUS EFIAPI _efi_start(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *systab)
EFI entry point.
static void efi_init_application(void)
Initialise EFI application.
#define __unused
Declare a variable or data structure as unused.
#define INIT_NORMAL
Normal initialisation.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
#define EFIRC(rc)
Convert an iPXE status code to an EFI status code.
static void efi_init_stack_guard(EFI_HANDLE handle)
Initialise stack cookie.
#define __init_fn(init_order)
Declare an initialisation functon.
__asmcall int main(void)
Main entry point.
static void(* free)(struct refcnt *refcnt))
This protocol can be used on any device handle to obtain generic path/location information concerning...
An initialisation function.
A Uniform Resource Identifier.
Uniform Resource Identifiers.
static void uri_put(struct uri *uri)
Decrement URI reference count.