mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
main: Make the execution path a little clearer in main.c
bootdelay_process() never returns in some circumstances, whichs makes the control flow confusing. Change it so that the decision about how to execute the boot command is made in the main_loop() code, so it is easier to follow. Move CLI stuff to cli.c. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c1bb2cd0b6
commit
affb215626
5 changed files with 145 additions and 75 deletions
|
@ -100,6 +100,39 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer,
|
|||
*/
|
||||
int cli_simple_parse_line(char *line, char *argv[]);
|
||||
|
||||
#ifdef CONFIG_OF_CONTROL
|
||||
/**
|
||||
* cli_process_fdt() - process the boot command from the FDT
|
||||
*
|
||||
* If bootcmmd is defined in the /config node of the FDT, we use that
|
||||
* as the boot command. Further, if bootsecure is set to 1 (in the same
|
||||
* node) then we return true, indicating that the command should be executed
|
||||
* as securely as possible, avoiding the CLI parser.
|
||||
*
|
||||
* @cmdp: On entry, the command that will be executed if the FDT does
|
||||
* not have a command. Returns the command to execute after
|
||||
* checking the FDT.
|
||||
* @return true to execute securely, else false
|
||||
*/
|
||||
bool cli_process_fdt(const char **cmdp);
|
||||
|
||||
/** cli_secure_boot_cmd() - execute a command as securely as possible
|
||||
*
|
||||
* This avoids using the parser, thus executing the command with the
|
||||
* smallest amount of code. Parameters are not supported.
|
||||
*/
|
||||
void cli_secure_boot_cmd(const char *cmd);
|
||||
#else
|
||||
static inline bool cli_process_fdt(const char **cmdp)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void cli_secure_boot_cmd(const char *cmd)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_OF_CONTROL */
|
||||
|
||||
/**
|
||||
* Go into the command loop
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue