diff options
author | jchandra <jchandra@FreeBSD.org> | 2010-10-20 09:41:36 +0000 |
---|---|---|
committer | jchandra <jchandra@FreeBSD.org> | 2010-10-20 09:41:36 +0000 |
commit | 56d2c5a02ceb9f57dded4b83471f014f92ea23f8 (patch) | |
tree | 7cf5a797d40f3e77c2ef21bbd8d406b27a06d5d2 /sys/mips/rmi | |
parent | e24538c77017c07a9531d772b981471a82ca23fd (diff) | |
download | FreeBSD-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/rmi')
-rw-r--r-- | sys/mips/rmi/xlr_machdep.c | 10 |
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; |