diff options
author | marcel <marcel@FreeBSD.org> | 2004-03-20 20:41:40 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2004-03-20 20:41:40 +0000 |
commit | 7e4265388d8a0551f21d82466d57a3248412de83 (patch) | |
tree | 36b15af5753b49fc795c2c808ed4a19a85446edd /sys/ia64/include | |
parent | ca53b93918141db9fd228e5939bf917800814022 (diff) | |
download | FreeBSD-src-7e4265388d8a0551f21d82466d57a3248412de83.zip FreeBSD-src-7e4265388d8a0551f21d82466d57a3248412de83.tar.gz |
Introduce the cpumask_t type. The purpose of the type is to create a
level of abstraction for any and all CPU mask and CPU bitmap variables
so that platforms have the ability to break free from the hard limit
of 32 CPUs, simply because we don't have more bits in an u_int. Note
that the type is not supposed to solve massive parallelism, where
the number of CPUs can be larger than the width of the widest integral
type. As such, cpumask_t is not supposed to be a compound type. If
such would be necessary in the future, we can deal with the issues
then and there. For now, it can be assumed that the type is integral
and unsigned.
With this commit, all MD definitions start off as u_int. This allows
us to phase-in cpumask_t at our leasure without breaking anything.
Once cpumask_t is used consistently, platforms can switch to wider
(or smaller) types if such would be beneficial (or not; whatever :-)
Compile-tested on: i386
Diffstat (limited to 'sys/ia64/include')
-rw-r--r-- | sys/ia64/include/_types.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/ia64/include/_types.h b/sys/ia64/include/_types.h index 9c15ef6..5809f63 100644 --- a/sys/ia64/include/_types.h +++ b/sys/ia64/include/_types.h @@ -55,6 +55,7 @@ typedef unsigned long __uint64_t; * Standard type definitions. */ typedef __int32_t __clock_t; /* clock()... */ +typedef unsigned int __cpumask_t; typedef __int64_t __critical_t; typedef double __double_t; typedef float __float_t; |