summaryrefslogtreecommitdiffstats
path: root/sys/mips/sibyte
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2011-02-12 02:08:24 +0000
committerjmallett <jmallett@FreeBSD.org>2011-02-12 02:08:24 +0000
commit43ee1f2df30c3b8c4c3bbf22918455c6e0032535 (patch)
tree7cb42a62b2992d416a5721dfcfe9f64c3c4a94d6 /sys/mips/sibyte
parentf74b693166215a41e29f1932c91ef7c921e662a7 (diff)
downloadFreeBSD-src-43ee1f2df30c3b8c4c3bbf22918455c6e0032535.zip
FreeBSD-src-43ee1f2df30c3b8c4c3bbf22918455c6e0032535.tar.gz
Allow the platform code to return a bitmask of running cores rather than just
a number of cores, this allows for a sparse set of CPUs. Implement support for sparse core masks on Octeon. XXX jeff@ suggests that all_cpus should include cores that are offline or running other applications/OSes, so the platform API should be further extended to allow us to set all_cpus to include all cores that are physically-present as opposed to only those that are running FreeBSD. Submitted by: Bhanu Prakash (with modifications) Reviewed by: jchandra Glanced at by: kib, jeff, jhb
Diffstat (limited to 'sys/mips/sibyte')
-rw-r--r--sys/mips/sibyte/sb_scd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/mips/sibyte/sb_scd.c b/sys/mips/sibyte/sb_scd.c
index f0c7295..e5ac23c 100644
--- a/sys/mips/sibyte/sb_scd.c
+++ b/sys/mips/sibyte/sb_scd.c
@@ -242,11 +242,11 @@ sb_clear_mailbox(int cpu, uint64_t val)
sb_store64(regaddr, val);
}
-int
-platform_num_processors(void)
+cpumask_t
+platform_cpu_mask(void)
{
- return (SYSREV_NUM_PROCESSORS(sb_read_sysrev()));
+ return (~0U >> (32 - SYSREV_NUM_PROCESSORS(sb_read_sysrev())));
}
#endif /* SMP */
OpenPOWER on IntegriCloud