summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorjchandra <jchandra@FreeBSD.org>2010-10-20 09:41:36 +0000
committerjchandra <jchandra@FreeBSD.org>2010-10-20 09:41:36 +0000
commit56d2c5a02ceb9f57dded4b83471f014f92ea23f8 (patch)
tree7cf5a797d40f3e77c2ef21bbd8d406b27a06d5d2 /sys/mips
parente24538c77017c07a9531d772b981471a82ca23fd (diff)
downloadFreeBSD-src-56d2c5a02ceb9f57dded4b83471f014f92ea23f8.zip
FreeBSD-src-56d2c5a02ceb9f57dded4b83471f014f92ea23f8.tar.gz
On uniprocessor, warn and fixup hardware cpu mask if more than on CPU
is enabled by the bootloader.
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/rmi/xlr_machdep.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/mips/rmi/xlr_machdep.c b/sys/mips/rmi/xlr_machdep.c
index b34955d..8f96633 100644
--- a/sys/mips/rmi/xlr_machdep.c
+++ b/sys/mips/rmi/xlr_machdep.c
@@ -167,6 +167,14 @@ xlr_parse_mmu_options(void)
*/
xlr_ncores = 1;
cpu_map = xlr_boot1_info.cpu_online_map;
+
+#ifndef SMP /* Uniprocessor! */
+ if (cpu_map != 0x1) {
+ printf("WARNING: Starting uniprocessor kernel on cpumask [0x%lx]!\n"
+ "WARNING: Other CPUs will be unused.\n", (u_long)cpu_map);
+ cpu_map = 0x1;
+ }
+#endif
core0_thr_mask = cpu_map & 0xf;
switch (core0_thr_mask) {
case 1:
@@ -188,9 +196,9 @@ xlr_parse_mmu_options(void)
xlr_ncores++;
}
}
+ xlr_hw_thread_mask = cpu_map;
/* setup hardware processor id to cpu id mapping */
- xlr_hw_thread_mask = xlr_boot1_info.cpu_online_map;
for (i = 0; i< MAXCPU; i++)
xlr_cpuid_to_hwtid[i] =
xlr_hwtid_to_cpuid [i] = -1;
OpenPOWER on IntegriCloud