/*
- * Copyright 2008 Freescale Semiconductor, Inc.
+ * Copyright 2008-2009 Freescale Semiconductor, Inc.
*
* See file CREDITS for list of people who contributed to this
* project.
}
cpuid = simple_strtoul(argv[1], NULL, 10);
- if (cpuid >= CONFIG_NUM_CPUS) {
+ if (cpuid >= cpu_numcores()) {
printf ("Core num: %lu is out of range[0..%d]\n",
- cpuid, CONFIG_NUM_CPUS - 1);
+ cpuid, cpu_numcores() - 1);
return 1;
}
cpu_reset(cpuid);
} else if (strncmp(argv[2], "status", 6) == 0) {
cpu_status(cpuid);
+ } else if (strncmp(argv[2], "disable", 7) == 0) {
+ return cpu_disable(cpuid);
} else {
cmd_usage(cmdtp);
return 1;
"Multiprocessor CPU boot manipulation and release",
"<num> reset - Reset cpu <num>\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]"
#ifdef CPU_ARCH_HELP
"\n"