freebsd-skq/sys/sys
marcel 7e4265388d 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
2004-03-20 20:41:40 +00:00
..
_iovec.h Move the typedef for size_t into _iovec.h, so that size_t is available 2003-02-26 20:16:58 +00:00
_label.h Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
_lock.h
_mutex.h Add some basic support for measuring sleep mutex contention to the 2004-01-25 01:59:27 +00:00
_null.h Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror) 2004-03-05 08:10:19 +00:00
_semaphore.h The sem_timedwait() and ksem_timedwait() functions both 2004-02-03 22:27:03 +00:00
_sigset.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
_task.h Defer the vrele() on a jail's root vnode reference from prison_free() 2004-01-23 20:44:26 +00:00
_timespec.h Simplify struct __timespec, fix style bugs, add an XXX comment. 2003-02-26 16:50:01 +00:00
_timeval.h Move struct timeval to its own header so that it can be shared between 2002-12-31 04:08:41 +00:00
_types.h Move details of dev_t (and udev_t) to <sys/_types.h>. 2003-03-28 15:27:30 +00:00
aac_ioctl.h Do some small cleanups to comments and remove AACQ_COMPLETE definitions since 2004-02-07 17:40:38 +00:00
acct.h Move details of dev_t (and udev_t) to <sys/_types.h>. 2003-03-28 15:27:30 +00:00
acl.h Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
agpio.h Add simple support for AGP 3.0 including enabling 8x mode. The simple 2003-10-23 18:08:56 +00:00
aio.h
alq.h Add an explicit credential argument to alq_open() to allow the caller to 2003-06-22 22:28:56 +00:00
assym.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
ata.h Add SATA support fields 2004-03-15 13:17:24 +00:00
bio.h Bring back the geom_bioqueues, they _are_ a good idea. 2004-01-28 08:39:18 +00:00
bitstring.h Finish the repocopy of bitstring.h to sys so it can be used 2003-06-13 19:40:13 +00:00
blist.h Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
buf.h Fix copy&paste-o. 2004-03-12 06:51:21 +00:00
bus_dma.h Document the lockfunc and lockfuncarg arguments to bus_dma_tag_create() in 2003-11-07 23:29:42 +00:00
bus.h Add bus_alloc_resource_any(9), which does bus_alloc_resource() with the 2004-03-17 17:40:34 +00:00
callout.h
cdefs.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
cdio.h Remove no longer existant CDIOCREADAUDIO ioctl. 2003-10-20 09:29:40 +00:00
cdrio.h * Add CDRIOC{READ,WRITE}SPEED ioctls to cd(4). Units are in KB/sec. 2002-10-18 22:03:39 +00:00
chio.h Use symbolic constants instead of "4". 2003-05-31 16:54:37 +00:00
clist.h
clock.h
condvar.h Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
conf.h Add clone_setup() function rather than rely on lazy initialization. 2004-03-11 12:58:55 +00:00
cons.h Rename cn_unavailable to cnunavailable for little more consistency. 2004-02-05 17:35:28 +00:00
consio.h 1. Allow information about current history size be retrieved using ioctl(2); 2002-08-19 16:32:09 +00:00
copyright.h Happy 2004! 2003-12-31 22:27:51 +00:00
ctype.h Resolve conflicts arising from the ACPI CA 20021118 import. 2002-11-27 18:09:20 +00:00
dataacq.h
device_port.h
devicestat.h Add an XXX comment with a TODO item for next time we run a revision 2003-05-31 21:10:01 +00:00
digiio.h
dir.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
dirent.h Fix namespace issues by using the relatively new visibility 2002-09-10 18:12:16 +00:00
disk.h I think the divorce successed, so stop #including <geom/geom_disk.h> 2003-04-01 18:55:04 +00:00
disklabel.h Sanitize the LABELSECTOR & LABELOFFSET definitions: 2003-06-07 09:06:39 +00:00
diskmbr.h Add definitions for location of the magic sequence and the length 2003-04-13 21:52:22 +00:00
diskpc98.h Remove DIOCGPC98 ioctl. 2003-05-01 14:40:16 +00:00
dkstat.h #include <sys/resource.h> to limit ports damage. 2003-05-07 15:26:43 +00:00
domain.h - add dom_if{attach,detach} framework. 2003-10-17 15:46:31 +00:00
dvdio.h
elf32.h
elf64.h
elf_common.h Add defines required for TLS support. 2003-06-18 16:38:22 +00:00
elf_generic.h
endian.h Quiet warnings about mis-matched pointer assignment. 2003-10-15 20:05:57 +00:00
errno.h Copyin and copyout are only possible from a process-native thread, 2002-10-07 06:25:26 +00:00
event.h Tweak the definition of the EV_SET macro so that it evaluates each 2003-02-02 19:39:51 +00:00
eventhandler.h Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
eventvar.h
exec.h Increase the size of SPARE_USRSPACE. It is way too small by default 2003-11-07 21:25:54 +00:00
extattr.h Userspace prototypes for the extattr_list_*() system calls. 2003-06-04 04:04:24 +00:00
fbio.h Add FBTYPEs used by the sbus bus support in XFree86. This uses some of 2003-06-18 17:49:52 +00:00
fcntl.h Move FMARK and FDEFER til sys/file.h where they belong. 2003-06-20 07:59:59 +00:00
fdcio.h
file.h Add a f_vnode field to struct file. 2003-06-22 08:41:43 +00:00
filedesc.h Fixed the XXX'ed namespace pollution in rev.1.54 by using 2004-03-04 11:35:30 +00:00
filio.h
fnv_hash.h
gmon.h
gpt.h o Include <sys/uuid.h>. This avoids that applications such as 2002-11-10 20:13:58 +00:00
iconv.h Make msdosfs long filenames matching case insensitive again. 2003-12-08 08:32:20 +00:00
imgact_aout.h Forward declare struct vnode so that <sys/vnode.h> or some other header 2002-09-05 07:54:03 +00:00
imgact_elf.h Add an additional field to the elf brandinfo structure to support 2003-12-23 02:42:39 +00:00
imgact.h Bring in two sets of changes: 2002-11-05 17:51:56 +00:00
inflate.h
interrupt.h Expand the argument to the ithread enable/disable helper hooks from an 2003-11-17 06:08:10 +00:00
ioccom.h
ioctl_compat.h
ioctl.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
ipc.h It is possible for an active aio to prevent shared memory from being 2003-01-13 23:04:32 +00:00
jail.h By default, when a process in jail calls getfsstat(), only return the 2004-02-14 18:31:11 +00:00
joystick.h
jumbo.h Fix 2 vm_offset_t -> vm_paddr_t missed in previous commit. 2003-03-25 01:47:29 +00:00
kbio.h
kenv.h
kernel.h Remove the /* 1.2 */ comment which was orphaned by previous commit. 2004-03-10 09:23:27 +00:00
kerneldump.h Add kernel dump support, based on the ia64 version (which was committed 2002-10-20 17:03:15 +00:00
kobj.h * Add multiple inheritance to kobj. Each class can have zero or more base 2003-10-16 09:16:28 +00:00
kse.h GC the unused <machine/kse.h> file. 2003-12-24 00:51:30 +00:00
kthread.h Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
ktr.h Retire the KTR_LOCKMGR bit and use it to log eventhandler messages 2003-03-11 20:07:22 +00:00
ktrace.h - Add a td_pflags field to struct thread for private flags accessed only by 2003-06-09 17:38:32 +00:00
libkern.h Back out previous commit; it doesn't seem to do what I thought it does. 2004-02-16 21:31:14 +00:00
limits.h Move GID/UID_MAX under __BSD_VISIBLE protection. 2004-03-15 13:43:44 +00:00
linedisc.h Add clone_setup() function rather than rely on lazy initialization. 2004-03-11 12:58:55 +00:00
link_aout.h Repo copy link.h to sys/link_elf.h and sys/link_aout.h since they are 2002-08-22 20:35:23 +00:00
link_elf.h Implement dlinfo() function. 2003-02-13 17:47:44 +00:00
linker_set.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
linker.h Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values 2003-05-01 03:31:18 +00:00
lock.h Rework witness_lock() to make it slightly more useful and flexible. 2004-01-28 20:39:57 +00:00
lockf.h
lockmgr.h - Add an interlock argument to BUF_LOCK and BUF_TIMELOCK. 2003-02-25 03:37:48 +00:00
mac_policy.h Forward declare struct proc, struct sockaddr, and struct thread, which 2004-02-26 20:44:50 +00:00
mac.h Reimplement sysctls handling by MAC framework. 2004-02-22 12:31:44 +00:00
malloc.h correct typo in comment 2003-08-19 16:41:12 +00:00
mbpool.h Add a facility for devices, specifically network interfaces, that require 2003-07-15 08:59:38 +00:00
mbuf.h Tweak existing header and other build infrastructure to be able to build 2004-02-26 03:53:54 +00:00
mchain.h Some style fixes. 2003-02-21 16:24:49 +00:00
md4.h
md5.h
mdioctl.h Fix a long-standing deadlock issue with vnode backed md(4) devices: 2004-03-10 20:41:09 +00:00
memrange.h Some BIOSs are using MTRR values that are only documented under NDA 2002-09-15 15:07:55 +00:00
mman.h Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
module.h
mount.h Make vfs_nmount() public. The Linux emulator needs this in order to mount 2004-03-16 08:59:37 +00:00
mouse.h
msg.h Add const qualifier to data argument for msgsnd. 2003-01-26 20:09:34 +00:00
msgbuf.h Fixed some style bugs (spaces instead of tabs in macro definitions ...). 2004-02-18 02:56:14 +00:00
mtio.h
mutex.h Rename NET_PICKUP_GIANT() to NET_LOCK_GIANT(), and NET_DROP_GIANT() 2004-03-01 22:37:01 +00:00
namei.h Consistently use the BSD u_int and u_short instead of the SYSV uint and 2003-08-07 15:04:27 +00:00
nlist_aout.h Pad after "char *n_name;" in the !_AOUT_INCLUDE_ case so that struct nlist 2002-09-05 08:03:02 +00:00
param.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
pciio.h
pcpu.h Hook CPUs up to newbus. CPUs will ultimately be a bus driver so that 2004-03-09 03:37:21 +00:00
pioctl.h
pipe.h Coalesce pipe allocations and frees. Previously, the pipe code 2004-02-01 05:56:51 +00:00
poll.h
posix4.h Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
power.h
priority.h
proc.h Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
procfs.h
protosw.h Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
ptio.h
ptrace.h Implement preliminary support for the PT_SYSCALL command to ptrace(2). 2003-10-09 10:17:16 +00:00
queue.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
random.h add RANDOM_PURE for use by crypto drivers that harvest data from h/w RNG's 2002-10-04 20:34:08 +00:00
reboot.h Changed the RB_PAUSE flag from 0x40000 to 0x100000 and marked the old 2003-11-15 10:04:06 +00:00
regression.h
resource.h Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
resourcevar.h - Convert the plimit lock to a pool mutex lock. 2004-02-06 19:35:14 +00:00
rman.h Implement rman_get_device 2003-02-12 07:00:59 +00:00
rtprio.h
runq.h
sbuf.h Add the new function "sbuf_done()" which returns non-zero if the sbuf is 2002-10-04 09:58:17 +00:00
sched.h Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
select.h Add complete struct timeval by including <sys/_timeval.h>. 2002-12-31 04:13:50 +00:00
selinfo.h - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
sem.h s/u_short/unsigned short/ to make this compile if _POSIX_C_SOURCE=200112 2003-06-02 17:23:37 +00:00
sema.h
semaphore.h The sem_timedwait() and ksem_timedwait() functions both 2004-02-03 22:27:03 +00:00
sf_buf.h Refactor the existing machine-dependent sf_buf_free() into a machine- 2004-03-16 19:04:28 +00:00
shm.h Bring shm functions closer the the opengroup standards. 2003-01-25 21:33:05 +00:00
sigio.h When compiling the kernel do not implicitly include filedesc.h from proc.h, 2003-01-01 01:56:19 +00:00
signal.h - According to mike@FreeBSD.org SIGTHR should be hiden by 2003-03-31 23:31:50 +00:00
signalvar.h If a thread masks all its signal, in cursig(), no signal will be exchanged 2003-11-10 03:11:08 +00:00
sleepqueue.h - Remove old sleep queues. 2004-03-12 19:06:18 +00:00
smp.h Fix all users of mp_maxid to use the same semantics, namely: 2003-12-03 14:57:26 +00:00
snoop.h Declare the snp ioctl()s to work on udev_t, since that is what they 2002-11-11 10:45:31 +00:00
socket.h Define AF_ARP/PF_ARP. 2004-03-14 00:49:09 +00:00
socketvar.h Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
sockio.h Add the kernel side of network interface renaming support. 2004-02-04 02:54:25 +00:00
soundcard.h New defines that paves the way for new midi features and ports. 2003-11-22 03:27:09 +00:00
stat.h Fix two misuses of __BSD_VISIBLE. 2003-05-22 17:07:57 +00:00
statvfs.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
stddef.h Change the definition of NULL on ia64 (for LP64 compilations) from 2003-12-07 21:10:06 +00:00
stdint.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
sun_disklabel.h Introduce a #define for the length of the bootloader code. 2003-04-23 08:04:30 +00:00
sx.h Include <sys/queue.h> before <sys/_lock.h> instead of depending on 2004-02-04 14:18:21 +00:00
syscall.h Nudge Giant as far as I can into kern_open(). Mark open() as MPSAFE. 2004-03-16 10:46:42 +00:00
syscall.mk Nudge Giant as far as I can into kern_open(). Mark open() as MPSAFE. 2004-03-16 10:46:42 +00:00
syscallsubr.h Back out the following revisions: 2003-11-05 01:53:10 +00:00
sysctl.h Rename the wiredlen member of struct sysctl_req to validlen and always 2004-03-16 06:53:03 +00:00
sysent.h Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
syslimits.h These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
syslog.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
sysproto.h Nudge Giant as far as I can into kern_open(). Mark open() as MPSAFE. 2004-03-16 10:46:42 +00:00
systm.h Switch the sleep/wakeup and condition variable implementations to use the 2004-02-27 18:52:44 +00:00
taskqueue.h Defer the vrele() on a jail's root vnode reference from prison_free() 2004-01-23 20:44:26 +00:00
termios.h
thr.h - Add two files to support the thr threading interface. 2003-04-01 00:30:30 +00:00
tiio.h
time.h Move boottime from <sys/kernel.h> to <sys/time.h> where it belongs. 2004-02-29 10:55:15 +00:00
timeb.h
timepps.h Long overdue comment claification: RFC 2783 was approved long time ago. 2003-11-23 18:52:23 +00:00
timers.h
times.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
timespec.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
timetc.h Give timecounters a numeric quality field. 2003-08-16 08:23:53 +00:00
timex.h
tree.h Sync with OpenBSD (two-year old bug fix) 2004-03-19 20:14:23 +00:00
tty.h Use a new message buffer `consmsgbuf' to forward messages to a 2003-06-22 02:54:33 +00:00
ttychars.h
ttycom.h Fixed editing error in a comment in previous commit. 2004-02-04 17:08:46 +00:00
ttydefaults.h
ttydev.h
turnstile.h Clarify and tweak some comments. 2004-02-27 16:14:27 +00:00
types.h Introduce the cpumask_t type. The purpose of the type is to create a 2004-03-20 20:41:40 +00:00
ucontext.h Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
ucred.h Fixed some style bugs (insertion sort error and extra blank line). 2003-11-12 15:07:18 +00:00
uio.h Introduce uiomove_fromphys(). This is a variant of uiomove() that takes 2004-03-20 19:36:29 +00:00
umtx.h Catch a few places where NULL (pointer) was used where 0 (integer) was 2003-12-23 02:36:43 +00:00
un.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
unistd.h Update limits and configuration parameters for 1003.1/TC1/D6. 2002-10-27 18:03:02 +00:00
unpcb.h Remove vestiges of no longer needed unp_rvnode field. 2003-02-06 01:34:43 +00:00
user.h Make proc's kg_nice/ki_nice explicitly signed for PPC. This is a 2004-01-22 06:56:00 +00:00
utsname.h
uuid.h Introduce {be,le}_uuid_{enc,dec}() functions for explicitly encoding 2003-05-31 16:47:07 +00:00
vmmeter.h - It's more accurate to say that vm_paging_needed() returns TRUE 2003-02-02 07:16:40 +00:00
vnode.h Remove unused second arg to vfinddev(). 2004-03-11 16:33:11 +00:00
wait.h - Replace wait1() with a kern_wait() function that accepts the pid, 2004-03-17 20:00:00 +00:00
watchdog.h Add a generic watchdog facility which through a single device entry 2004-02-28 20:06:59 +00:00
xrpuio.h