1 // SPDX-License-Identifier: GPL-2.0+
11 #include <bootstage.h>
19 #include <version_string.h>
20 #include <efi_loader.h>
22 static void run_preboot_environment_command(void)
26 p = env_get("preboot");
30 if (IS_ENABLED(CONFIG_AUTOBOOT_KEYED))
31 prev = disable_ctrlc(1); /* disable Ctrl-C checking */
33 run_command_list(p, -1, 0);
35 if (IS_ENABLED(CONFIG_AUTOBOOT_KEYED))
36 disable_ctrlc(prev); /* restore Ctrl-C checking */
40 /* We come here after U-Boot is initialised and ready to process commands */
45 bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
47 if (IS_ENABLED(CONFIG_VERSION_VARIABLE))
48 env_set("ver", version_string); /* set version variable */
52 if (IS_ENABLED(CONFIG_USE_PREBOOT))
53 run_preboot_environment_command();
55 if (IS_ENABLED(CONFIG_UPDATE_TFTP))
56 update_tftp(0UL, NULL, NULL);
58 if (IS_ENABLED(CONFIG_EFI_CAPSULE_ON_DISK_EARLY)) {
59 /* efi_init_early() already called */
60 if (efi_init_obj_list() == EFI_SUCCESS)
61 efi_launch_capsules();
64 s = bootdelay_process();
65 if (cli_process_fdt(&s))
66 cli_secure_boot_cmd(s);
71 panic("No CLI available");