diff options
| author | Michal Simek <[email protected]> | 2015-06-22 10:46:40 +0200 |
|---|---|---|
| committer | Michal Simek <[email protected]> | 2015-07-28 11:56:29 +0200 |
| commit | 711e5e26b41457e658155e7c225c9ccfed0182ef (patch) | |
| tree | 7666295c1c80f0fc53b6bc904c4940d60cba0c30 | |
| parent | 80fd9792f5c227d0b8ed3b0d662328c81eb6bda9 (diff) | |
cmd_mp: Add support for showing all CPU status by one command
Use one command for showing overall CPU status than several without
knowing how many cpus is available in the system.
Signed-off-by: Michal Simek <[email protected]>
Reviewed-by: Tom Rini <[email protected]>
| -rw-r--r-- | common/cmd_mp.c | 22 |
1 files changed, 22 insertions, 0 deletions
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]" |
