1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-16 15:11:52 +00:00
freebsd/sys/sys
Marcel Moolenaar 12eb46c8bb Change the definition of NULL on ia64 (for LP64 compilations) from
an int constant to a long constant. This change improves consistency
in the following two ways:
1. The first 8 arguments are always passed in registers on ia64, which
   by virtue of the generated code implicitly widens ints to longs and
   allows the use of an 32-bit integral type for 64-bit arguments.
   Subsequent arguments are passed onto the memory stack, which does
   not exhibit the same behaviour and consequently do not allow this.
   In practice this means that variadic functions taking pointers
   and given NULL (without cast) work as long as the NULL is passed
   in one of the first 8 arguments. A SIGSEGV is more likely the
   result if such would be done for stack-based arguments. This is
   due to the fact that the upper 4 bytes remain undefined.
2. All 64-bit platforms that FreeBSD supports, with the obvious
   exception of ia64, allow 32-bit integral types (specifically NULL)
   when 64-bit pointers are expected in variadic functions by way of
   how the compiler generates code. As such, code that works correctly
   (whether rightfully so or not) on any platform other than ia64, may
   fail on ia64.

To more easily allow tweaking of the definition of NULL, this commit
removes the 12 definitions in the various headers and puts it in a
new header that can be included whenever NULL is to be made visible.

This commit fixes GNOME, emacs, xemacs and a whole bunch of ports
that I don't particularly care about at this time...
2003-12-07 21:10:06 +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 Rename MAC_MAX_POLICIES to MAC_MAX_SLOTS, since the variables and 2003-05-08 19:49:42 +00:00
_lock.h
_mutex.h Add an implementation of turnstiles and change the sleep mutex code to use 2003-11-11 22:07:29 +00:00
_null.h Change the definition of NULL on ia64 (for LP64 compilations) from 2003-12-07 21:10:06 +00:00
_semaphore.h Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c. 2002-09-19 00:43:32 +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
_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
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
ata.h Update the PIO mode gathering code. 2003-09-08 08:30:43 +00:00
bio.h Retire bio_blkno entirely. 2003-10-18 17:53:34 +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 Send B_PHYS out to pasture, it no longer serves any function. 2003-11-15 09:28:09 +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 Convenience functions to generate notifications from the kernel. The ACPI 2003-10-24 22:41:54 +00:00
callout.h
cdefs.h While not illegal, attempt to pacify gcc -Wundef. It just so happens 2003-10-31 05:42:53 +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 - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
conf.h The size and contents of the DEV_STRATEGY() macro has progressed to 2003-10-18 09:03:15 +00:00
cons.h Add a new cn_flags fields to struct consdev, the low-level console 2003-10-18 02:13:39 +00:00
consio.h
copyright.h We've had something like this file since 1992, so therefore this file 2003-01-07 04:37:40 +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
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 Oops, SHUTDOWN_PRI_LAST should be EVENTHANDLER_PRI_LAST, not 2003-03-24 21:24:37 +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 Add an implementation of turnstiles and change the sleep mutex code to use 2003-11-11 22:07:29 +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 Include module.h 2003-11-05 06:27:40 +00:00
imgact_aout.h
imgact_elf.h - Provide backwards compatibility for kern.fallback_elf_brand. 2003-01-05 03:48:14 +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_bt848.h
ioctl_compat.h
ioctl_meteor.h Ooops. These are still used by the bktr driver. David O'Brien has 2003-12-07 06:37:32 +00:00
ioctl.h
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 o In struct prison, add an allprison linked list of prisons (protected 2003-04-09 02:55:18 +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 - add dom_if{attach,detach} framework. 2003-10-17 15:46:31 +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 Add kse_switchin(2). This syscall can be used by KSE implementations 2003-12-07 19:34:29 +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 Pass a malloc type into the libkern strdup() implementation explicitly, 2003-02-25 22:11:39 +00:00
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
linedisc.h The size and contents of the DEV_STRATEGY() macro has progressed to 2003-10-18 09:03:15 +00:00
link_aout.h
link_elf.h Implement dlinfo() function. 2003-02-13 17:47:44 +00:00
linker_set.h Add a __section(x) macro as well. Use this in linker_set.h. ie: 2002-09-23 06:11:29 +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 when MUTEX_PROFILING is enabled turn on LOCK_DEBUG; otherwise all the mutex's 2003-09-19 22:01:56 +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 Rename mac_create_cred() MAC Framework entry point to mac_copy_cred(), 2003-12-06 21:48:03 +00:00
mac.h Rename mac_create_cred() MAC Framework entry point to mac_copy_cred(), 2003-12-06 21:48:03 +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 Correct a problem where ipfw-generated packets were being returned 2003-11-24 03:57:03 +00:00
mchain.h Some style fixes. 2003-02-21 16:24:49 +00:00
md4.h
md5.h
mdioctl.h Add a couple of undocumented test options to MD(4) to aid in regression 2003-04-09 11:59:29 +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 Update the statfs structure with 64-bit fields to allow 2003-11-12 08:01:40 +00:00
mouse.h
msg.h Add const qualifier to data argument for msgsnd. 2003-01-26 20:09:34 +00:00
msgbuf.h Replace the code for reading and writing the kernel message buffer 2003-06-22 02:18:31 +00:00
mtio.h
mutex.h o make debug_mpsafenet globally visible 2003-11-05 23:42:51 +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
param.h Change the definition of NULL on ia64 (for LP64 compilations) from 2003-12-07 21:10:06 +00:00
pciio.h
pcpu.h Allow the MD backend to provide an alternative to 2003-11-20 22:50:26 +00:00
pioctl.h
pipe.h Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +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 Remove the WITNESS debug code from _STOPEVENT. It has pointed out a 2003-11-15 23:57:19 +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 Add safe _FOREACH iterators to the rest of the queue.h types. 2003-08-14 14:49:26 +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 - Remove PRIO_TOTAL. 2003-11-02 03:50:16 +00:00
resourcevar.h According to the submitter, POSIX mandates that all interval timers are 2003-10-28 20:46:23 +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 - Only allow pinning and unpinning of curthread. 2003-11-15 23:54:49 +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 o Adjust the SEM_VALUE_MAX macro so that <machine/limits.h> isn't 2002-10-04 21:31:33 +00:00
sf_buf.h - Modify alpha's sf_buf implementation to use the direct virtual-to- 2003-11-16 06:11:26 +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
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 Add a sysctl MIB, NET_RT_IFMALIST, to retrieve multicast group memberships 2003-11-14 18:48:15 +00:00
socketvar.h - Modify alpha's sf_buf implementation to use the direct virtual-to- 2003-11-16 06:11:26 +00:00
sockio.h
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
stddef.h Change the definition of NULL on ia64 (for LP64 compilations) from 2003-12-07 21:10:06 +00:00
stdint.h
sun_disklabel.h Introduce a #define for the length of the bootloader code. 2003-04-23 08:04:30 +00:00
sx.h
syscall.h Regen due to kse_switchin(2). 2003-12-07 19:36:16 +00:00
syscall.mk Regen due to kse_switchin(2). 2003-12-07 19:36:16 +00:00
syscallsubr.h Back out the following revisions: 2003-11-05 01:53:10 +00:00
sysctl.h Fix a typo in a comment: sysctl(1) should be sysctl(8). 2003-11-14 21:37:35 +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 Relent and back out rev 1.15. 2003-09-10 19:08:16 +00:00
syslog.h
sysproto.h Regen due to kse_switchin(2). 2003-12-07 19:36:16 +00:00
systm.h Re-arrange and consolidate some random debugging stuff 2003-12-07 05:04:49 +00:00
taskqueue.h "fast swi" taskqueue support. This is a taskqueue that uses spinlocks 2003-09-05 23:09:22 +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 constify bintime_add, bintime_sub, bintime2timespec, timespec2bintime, 2003-10-26 02:38:34 +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
timespec.h
timetc.h Give timecounters a numeric quality field. 2003-08-16 08:23:53 +00:00
timex.h
tree.h
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
ttydefaults.h
ttydev.h
turnstile.h Oh dear, forgot this file in the turnstile commit. This header defines 2003-11-11 23:08:26 +00:00
types.h Move details of dev_t (and udev_t) to <sys/_types.h>. 2003-03-28 15:27:30 +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 a uiomove_frombuf helper routine that handles computing and 2003-10-02 15:00:55 +00:00
umtx.h - Remove the blocked pointer from the umtx structure. 2003-06-03 05:24:46 +00:00
un.h
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 - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +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 Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +00:00
wait.h
watchdog.h Remove an '_' which was surplus to requirements. 2003-06-25 08:30:45 +00:00
xrpuio.h