Linux boot calls in efistub efi_pe_entry() ↦check_platform_features() ↦efi_system_table->boottime->handle_protocol() ↦efi_convert_cmdline() ↦efi_parse_options() =efi_info("Booting Linux Kernel...\n"); ↦setup_graphics() ↦handle_kernel_image() ↦efi_retrieve_tpm2_eventlog() ↦efi_enable_reset_attack_mitigation() ↦efi_get_secureboot() =efi_err("Ignoring DTB from command line.\n"); ↦efi_load_dtb() =efi_err("Failed to load device tree!\n"); =efi_info("Using DTB from command line\n"); |efi_info("Using DTB from configuration table\n"); |efi_info("Generating empty DTB\n"); ↦efi_load_initrd() ↦efi_random_get_seed() ↦get_efi_config_table() ?if (!IS_ENABLED(CONFIG_HIBERNATION) && !efi_nokaslr && !flat_va_mapping) =efi_get_random_bytes() =virtmap_base = EFI_RT_VIRTUAL_BASE + (((headroom >> 21) * rnd) >> (32 - 21)); ↦install_memreserve_table() ↳allocate_new_fdt_and_exit_boot() ↦efi_get_memory_map() ↦efi_allocate_pages() ↦efi_get_memory_map() ↦update_fdt() ↳efi_exit_boot_services() ↦priv_func() ↦efi_pci_disable_bridge_busmaster() ↦efi_bs_call(exit_boot_services ...) ↦efi_system_table->runtime->set_virtual_address_map() ↦efi_free(MAX_FDT_SIZE, *new_fdt_addr); ↦efi_system_table->boottime->free_pool(runtime_map); =efi_err("Failed to update FDT and exit boot services\n");