]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - common/cli.c
imx: hab: Check if CSF is valid before authenticating image
[people/ms/u-boot.git] / common / cli.c
index b6ae80a5fe9d2cb79c7b6571c3e91714ba830f06..57874d87977b7263c773bc41467922eda2ebee52 100644 (file)
 #include <common.h>
 #include <cli.h>
 #include <cli_hush.h>
+#include <console.h>
 #include <fdtdec.h>
 #include <malloc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_CMDLINE
 /*
  * Run a command using the selected parser.
  *
@@ -26,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
  */
 int run_command(const char *cmd, int flag)
 {
-#ifndef CONFIG_SYS_HUSH_PARSER
+#ifndef CONFIG_HUSH_PARSER
        /*
         * cli_run_command can return 0 or 1 for success, so clean up
         * its result.
@@ -53,7 +55,7 @@ int run_command(const char *cmd, int flag)
  */
 int run_command_repeatable(const char *cmd, int flag)
 {
-#ifndef CONFIG_SYS_HUSH_PARSER
+#ifndef CONFIG_HUSH_PARSER
        return cli_simple_run_command(cmd, flag);
 #else
        /*
@@ -67,6 +69,7 @@ int run_command_repeatable(const char *cmd, int flag)
        return 0;
 #endif
 }
+#endif /* CONFIG_CMDLINE */
 
 int run_command_list(const char *cmd, int len, int flag)
 {
@@ -76,7 +79,7 @@ int run_command_list(const char *cmd, int len, int flag)
 
        if (len == -1) {
                len = strlen(cmd);
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
                /* hush will never change our string */
                need_buff = 0;
 #else
@@ -91,7 +94,7 @@ int run_command_list(const char *cmd, int len, int flag)
                memcpy(buff, cmd, len);
                buff[len] = '\0';
        }
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
        rcode = parse_string_outer(buff, FLAG_PARSE_SEMICOLON);
 #else
        /*
@@ -101,10 +104,14 @@ int run_command_list(const char *cmd, int len, int flag)
         * doing a malloc() which is actually required only in a case that
         * is pretty rare.
         */
+#ifdef CONFIG_CMDLINE
        rcode = cli_simple_run_command_list(buff, flag);
+#else
+       rcode = board_run_command(buff);
+#endif
+#endif
        if (need_buff)
                free(buff);
-#endif
 
        return rcode;
 }
@@ -122,7 +129,7 @@ int do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        for (i = 1; i < argc; ++i) {
                char *arg;
 
-               arg = getenv(argv[i]);
+               arg = env_get(argv[i]);
                if (arg == NULL) {
                        printf("## Error: \"%s\" not defined\n", argv[i]);
                        return 1;
@@ -165,7 +172,9 @@ bool cli_process_fdt(const char **cmdp)
  */
 void cli_secure_boot_cmd(const char *cmd)
 {
+#ifdef CONFIG_CMDLINE
        cmd_tbl_t *cmdtp;
+#endif
        int rc;
 
        if (!cmd) {
@@ -177,6 +186,7 @@ void cli_secure_boot_cmd(const char *cmd)
        disable_ctrlc(1);
 
        /* Find the command directly. */
+#ifdef CONFIG_CMDLINE
        cmdtp = find_cmd(cmd);
        if (!cmdtp) {
                printf("## Error: \"%s\" not defined\n", cmd);
@@ -186,6 +196,10 @@ void cli_secure_boot_cmd(const char *cmd)
        /* Run the command, forcing no flags and faking argc and argv. */
        rc = (cmdtp->cmd)(cmdtp, 0, 1, (char **)&cmd);
 
+#else
+       rc = board_run_command(cmd);
+#endif
+
        /* Shouldn't ever return from boot command. */
        printf("## Error: \"%s\" returned (code %d)\n", cmd, rc);
 
@@ -200,18 +214,20 @@ err:
 
 void cli_loop(void)
 {
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
        parse_file_outer();
        /* This point is never reached */
        for (;;);
-#else
+#elif defined(CONFIG_CMDLINE)
        cli_simple_loop();
-#endif /*CONFIG_SYS_HUSH_PARSER*/
+#else
+       printf("## U-Boot command line is disabled. Please enable CONFIG_CMDLINE\n");
+#endif /*CONFIG_HUSH_PARSER*/
 }
 
 void cli_init(void)
 {
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
        u_boot_hush_start();
 #endif