diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/board_info.c | 7 | ||||
| -rw-r--r-- | common/cmd_mp.c | 22 |
2 files changed, 24 insertions, 5 deletions
diff --git a/common/board_info.c b/common/board_info.c index 42d0641294a..4e5a1f78081 100644 --- a/common/board_info.c +++ b/common/board_info.c @@ -14,8 +14,7 @@ int __weak checkboard(void) /* * If the root node of the DTB has a "model" property, show it. - * If CONFIG_OF_CONTROL is disabled or the "model" property is missing, - * fall back to checkboard(). + * Then call checkboard(). */ int show_board_info(void) { @@ -25,10 +24,8 @@ int show_board_info(void) model = fdt_getprop(gd->fdt_blob, 0, "model", NULL); - if (model) { + if (model) printf("Model: %s\n", model); - return 0; - } #endif return checkboard(); diff --git a/common/cmd_mp.c b/common/cmd_mp.c index 328b338068b..a80c6421575 100644 --- a/common/cmd_mp.c +++ b/common/cmd_mp.c @@ -7,11 +7,32 @@ #include <common.h> #include <command.h> +static int cpu_status_all(void) +{ + unsigned long cpuid; + + for (cpuid = 0; ; cpuid++) { + if (!is_core_valid(cpuid)) { + if (cpuid == 0) { + printf("Core num: %lu is not valid\n", cpuid); + return 1; + } + break; + } + cpu_status(cpuid); + } + + return 0; +} + static int cpu_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { unsigned long cpuid; + if (argc == 2 && strncmp(argv[1], "status", 6) == 0) + return cpu_status_all(); + if (argc < 3) return CMD_RET_USAGE; @@ -48,6 +69,7 @@ cpu_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) #ifdef CONFIG_SYS_LONGHELP static char cpu_help_text[] = "<num> reset - Reset cpu <num>\n" + "cpu status - Status of all cpus\n" "cpu <num> status - Status of cpu <num>\n" "cpu <num> disable - Disable cpu <num>\n" "cpu <num> release <addr> [args] - Release cpu <num> at <addr> with [args]" |
