diff options
author | Attilio Rao <attilio@FreeBSD.org> | 2011-05-13 16:42:05 +0000 |
---|---|---|
committer | Attilio Rao <attilio@FreeBSD.org> | 2011-05-13 16:42:05 +0000 |
commit | 245a25353805f3a2951d932c19b24a3911a53a22 (patch) | |
tree | c08d4dee0bf7768439f6baa6b5051733407a8280 /sys/mips/sibyte | |
parent | 250c198bd7e991aa60aa606856538fc95713a4a8 (diff) | |
download | src-245a25353805f3a2951d932c19b24a3911a53a22.tar.gz src-245a25353805f3a2951d932c19b24a3911a53a22.zip |
Add the cpuset_t conversion for mips.
Notes
Notes:
svn path=/projects/largeSMP/; revision=221847
Diffstat (limited to 'sys/mips/sibyte')
-rw-r--r-- | sys/mips/sibyte/sb_scd.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/mips/sibyte/sb_scd.c b/sys/mips/sibyte/sb_scd.c index e5ac23c17720..f2035d818180 100644 --- a/sys/mips/sibyte/sb_scd.c +++ b/sys/mips/sibyte/sb_scd.c @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/module.h> #include <sys/bus.h> +#include <sys/cpuset.h> #include <machine/resource.h> #include <machine/hwfunc.h> @@ -242,11 +243,17 @@ sb_clear_mailbox(int cpu, uint64_t val) sb_store64(regaddr, val); } -cpumask_t +cpuset_t platform_cpu_mask(void) { - - return (~0U >> (32 - SYSREV_NUM_PROCESSORS(sb_read_sysrev()))); + cpuset_t cpumask; + int i, s; + + CPU_ZERO(&cpumask); + s = SYSREV_NUM_PROCESSORS(sb_read_sysrev()); + for (i = 0; i < s; i++) + CPU_SET(i, &cpumask); + return (cpumask); } #endif /* SMP */ |