Skip to content
Snippets Groups Projects
main.c 1.36 KiB
Newer Older
  • Learn to ignore specific revisions
  • Wolfgang Denk's avatar
    Wolfgang Denk committed
    /*
     * (C) Copyright 2000
     * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
     *
    
     * SPDX-License-Identifier:	GPL-2.0+
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
     */
    
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    #include <common.h>
    
    #include <autoboot.h>
    
    #include <cli.h>
    
    #include <console.h>
    
    Simon Glass's avatar
    Simon Glass committed
    #include <version.h>
    
    DECLARE_GLOBAL_DATA_PTR;
    
    
    /*
     * Board-specific Platform code can reimplement show_boot_progress () if needed
     */
    
    __weak void show_boot_progress(int val) {}
    
    Simon Glass's avatar
    Simon Glass committed
    static void run_preboot_environment_command(void)
    {
    
    #ifdef CONFIG_PREBOOT
    
    Simon Glass's avatar
    Simon Glass committed
    	char *p;
    
    
    	p = getenv("preboot");
    	if (p != NULL) {
    # ifdef CONFIG_AUTOBOOT_KEYED
    		int prev = disable_ctrlc(1);	/* disable Control C checking */
    # endif
    
    		run_command_list(p, -1, 0);
    
    # ifdef CONFIG_AUTOBOOT_KEYED
    		disable_ctrlc(prev);	/* restore Control C checking */
    # endif
    	}
    #endif /* CONFIG_PREBOOT */
    
    /* We come here after U-Boot is initialised and ready to process commands */
    
    Simon Glass's avatar
    Simon Glass committed
    void main_loop(void)
    {
    
    Simon Glass's avatar
    Simon Glass committed
    	bootstage_mark_name(BOOTSTAGE_ID_MAIN_LOOP, "main_loop");
    
    #ifdef CONFIG_VERSION_VARIABLE
    	setenv("ver", version_string);  /* set version variable */
    #endif /* CONFIG_VERSION_VARIABLE */
    
    
    Simon Glass's avatar
    Simon Glass committed
    
    	run_preboot_environment_command();
    
    
    #if defined(CONFIG_UPDATE_TFTP)
    
    #endif /* CONFIG_UPDATE_TFTP */
    
    
    	s = bootdelay_process();
    	if (cli_process_fdt(&s))
    		cli_secure_boot_cmd(s);
    
    	autoboot_command(s);
    
    	panic("No CLI available");
    
    Wolfgang Denk's avatar
    Wolfgang Denk committed
    }