proc->thread stage 2: MAJOR revamping of system calls, ucred, jail API,
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 23 Jun 2003 17:55:51 +0000 (17:55 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 23 Jun 2003 17:55:51 +0000 (17:55 +0000)
commit41c20dac9ca2167a1e232a8098c4e809a29d75ce
treee3960f2151b94e6df16e9243cfde9a82597dcd1a
parent17d46a8c13ae127657d5c3ff4520af96d26a9bb8
proc->thread stage 2: MAJOR revamping of system calls, ucred, jail API,
and some work on the low level device interface (proc arg -> thread arg).
As -current did, I have removed p_cred and incorporated its functions
into p_ucred.  p_prison has also been moved into p_ucred and adjusted
accordingly.  The jail interface tests now uses ucreds rather then processes.

The syscall(p,uap) interface has been changed to just (uap).  This is inclusive
of the emulation code.  It makes little sense to pass a proc pointer around
which confuses the MP readability of the code, because most system call code
will only work with the current process anyway.  Note that eventually
*ALL* syscall emulation code will be moved to a kernel-protected userland
layer because it really makes no sense whatsoever to implement these
emulations in the kernel.

suser() now takes no arguments and only operates with the current process.
The process argument has been removed from suser_xxx() so it now just takes
a ucred and flags.

The sysctl interface was adjusted somewhat.
289 files changed:
sys/bus/cam/cam_xpt.c
sys/bus/cam/scsi/scsi_cd.c
sys/bus/cam/scsi/scsi_ch.c
sys/bus/cam/scsi/scsi_da.c
sys/bus/cam/scsi/scsi_pass.c
sys/bus/cam/scsi/scsi_sa.c
sys/bus/firewire/firewirereg.h
sys/bus/firewire/fwdev.c
sys/bus/pccard/pccard.c
sys/bus/pci/pci.c
sys/bus/usb/usb.c
sys/bus/usb/usb_port.h
sys/contrib/ipfilter/netinet/ip_fil.c
sys/contrib/ipfilter/netinet/ip_fil.h
sys/ddb/db_ps.c
sys/dev/agp/agp.c
sys/dev/disk/ata/ata-all.c
sys/dev/disk/ata/ata-disk.c
sys/dev/disk/ata/ata-raid.c
sys/dev/disk/ata/atapi-cd.c
sys/dev/disk/ata/atapi-fd.c
sys/dev/disk/ata/atapi-tape.c
sys/dev/disk/ccd/ccd.c
sys/dev/disk/fd/fd.c
sys/dev/disk/isp/isp_freebsd.c
sys/dev/disk/isp/isp_freebsd.h
sys/dev/disk/md/md.c
sys/dev/disk/vn/vn.c
sys/dev/misc/joy/joy.c
sys/dev/misc/kbd/kbd.c
sys/dev/misc/lpt/lpt.c
sys/dev/misc/nmdm/nmdm.c
sys/dev/misc/ppi/ppi.c
sys/dev/misc/psm/psm.c
sys/dev/misc/snp/snp.c
sys/dev/misc/streams/streams.c
sys/dev/misc/syscons/schistory.c
sys/dev/misc/syscons/scmouse.c
sys/dev/misc/syscons/scterm-dumb.c
sys/dev/misc/syscons/scterm-sc.c
sys/dev/misc/syscons/scvesactl.c
sys/dev/misc/syscons/scvidctl.c
sys/dev/misc/syscons/syscons.c
sys/dev/misc/syscons/syscons.h
sys/dev/misc/syscons/sysmouse.c
sys/dev/netif/an/if_an.c
sys/dev/netif/awi/awi.c
sys/dev/netif/awi/awi_wep.c
sys/dev/netif/awi/awi_wicfg.c
sys/dev/netif/sbni/if_sbni.c
sys/dev/netif/sbsh/if_sbsh.c
sys/dev/netif/wi/if_wi.c
sys/dev/netif/wi/wi_hostap.c
sys/dev/raid/aac/aacvar.h
sys/dev/raid/asr/asr.c
sys/dev/raid/ida/ida.c
sys/dev/raid/ida/ida_disk.c
sys/dev/raid/mlx/mlx.c
sys/dev/raid/mlx/mlx_disk.c
sys/dev/raid/mlx/mlxvar.h
sys/dev/raid/mly/mly.c
sys/dev/raid/vinum/vinum.c
sys/dev/raid/vinum/vinumio.c
sys/dev/raid/vinum/vinumioctl.c
sys/dev/serial/rp/rp.c
sys/dev/serial/sio/sio.c
sys/dev/sound/isa/i386/spkr/spkr.c
sys/dev/sound/pcm/channel.c
sys/dev/sound/pcm/dsp.c
sys/dev/sound/pcm/mixer.c
sys/dev/sound/pcm/mixer.h
sys/dev/sound/pcm/sndstat.c
sys/dev/usbmisc/ucom/ucom.c
sys/dev/usbmisc/ugen/ugen.c
sys/dev/usbmisc/uhid/uhid.c
sys/dev/usbmisc/umodem/umodem.c
sys/dev/usbmisc/urio/urio.c
sys/dev/video/bktr/bktr_core.c
sys/dev/video/bktr/bktr_core.h
sys/dev/video/bktr/bktr_os.c
sys/emulation/ibcs2/i386/ibcs2_fcntl.c
sys/emulation/ibcs2/i386/ibcs2_ioctl.c
sys/emulation/ibcs2/i386/ibcs2_ipc.c
sys/emulation/ibcs2/i386/ibcs2_isc.c
sys/emulation/ibcs2/i386/ibcs2_isc_syscall.h
sys/emulation/ibcs2/i386/ibcs2_isc_sysent.c
sys/emulation/ibcs2/i386/ibcs2_misc.c
sys/emulation/ibcs2/i386/ibcs2_msg.c
sys/emulation/ibcs2/i386/ibcs2_other.c
sys/emulation/ibcs2/i386/ibcs2_proto.h
sys/emulation/ibcs2/i386/ibcs2_signal.c
sys/emulation/ibcs2/i386/ibcs2_socksys.c
sys/emulation/ibcs2/i386/ibcs2_socksys.h
sys/emulation/ibcs2/i386/ibcs2_stat.c
sys/emulation/ibcs2/i386/ibcs2_syscall.h
sys/emulation/ibcs2/i386/ibcs2_sysent.c
sys/emulation/ibcs2/i386/ibcs2_sysi86.c
sys/emulation/ibcs2/i386/ibcs2_util.c
sys/emulation/ibcs2/i386/ibcs2_util.h
sys/emulation/ibcs2/i386/ibcs2_xenix.c
sys/emulation/ibcs2/i386/ibcs2_xenix.h
sys/emulation/ibcs2/i386/ibcs2_xenix_syscall.h
sys/emulation/ibcs2/i386/ibcs2_xenix_sysent.c
sys/emulation/linux/i386/linprocfs/linprocfs_misc.c
sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c
sys/emulation/linux/i386/linux_machdep.c
sys/emulation/linux/i386/linux_proto.h
sys/emulation/linux/i386/linux_ptrace.c
sys/emulation/linux/i386/linux_syscall.h
sys/emulation/linux/i386/linux_sysent.c
sys/emulation/linux/i386/linux_sysvec.c
sys/emulation/linux/linux_file.c
sys/emulation/linux/linux_getcwd.c
sys/emulation/linux/linux_ioctl.c
sys/emulation/linux/linux_ipc.c
sys/emulation/linux/linux_ipc.h
sys/emulation/linux/linux_mib.c
sys/emulation/linux/linux_misc.c
sys/emulation/linux/linux_signal.c
sys/emulation/linux/linux_signal.h
sys/emulation/linux/linux_socket.c
sys/emulation/linux/linux_stats.c
sys/emulation/linux/linux_sysctl.c
sys/emulation/linux/linux_uid16.c
sys/emulation/linux/linux_util.c
sys/emulation/linux/linux_util.h
sys/emulation/posix4/p1003_1b.c
sys/emulation/svr4/i386/svr4_machdep.c
sys/emulation/svr4/svr4_fcntl.c
sys/emulation/svr4/svr4_filio.c
sys/emulation/svr4/svr4_ioctl.c
sys/emulation/svr4/svr4_misc.c
sys/emulation/svr4/svr4_proto.h
sys/emulation/svr4/svr4_resource.c
sys/emulation/svr4/svr4_signal.c
sys/emulation/svr4/svr4_socket.c
sys/emulation/svr4/svr4_stat.c
sys/emulation/svr4/svr4_stream.c
sys/emulation/svr4/svr4_syscall.h
sys/emulation/svr4/svr4_syscallnames.c
sys/emulation/svr4/svr4_sysent.c
sys/emulation/svr4/svr4_sysvec.c
sys/emulation/svr4/svr4_util.h
sys/i386/apm/apm.c
sys/i386/i386/genassym.c
sys/i386/i386/machdep.c
sys/i386/i386/mem.c
sys/i386/i386/perfmon.c
sys/i386/i386/sys_machdep.c
sys/i386/i386/trap.c
sys/i386/i386/vm86.c
sys/kern/init_main.c
sys/kern/init_sysent.c
sys/kern/kern_acct.c
sys/kern/kern_acl.c
sys/kern/kern_descrip.c
sys/kern/kern_event.c
sys/kern/kern_exec.c
sys/kern/kern_exit.c
sys/kern/kern_fork.c
sys/kern/kern_jail.c
sys/kern/kern_kthread.c
sys/kern/kern_ktrace.c
sys/kern/kern_linker.c
sys/kern/kern_memio.c
sys/kern/kern_mib.c
sys/kern/kern_module.c
sys/kern/kern_ntptime.c
sys/kern/kern_p1003_1b.c
sys/kern/kern_proc.c
sys/kern/kern_prot.c
sys/kern/kern_random.c
sys/kern/kern_resource.c
sys/kern/kern_shutdown.c
sys/kern/kern_sig.c
sys/kern/kern_syscalls.c
sys/kern/kern_sysctl.c
sys/kern/kern_threads.c
sys/kern/kern_time.c
sys/kern/kern_xxx.c
sys/kern/makesyscalls.sh
sys/kern/subr_disk.c
sys/kern/subr_diskslice.c
sys/kern/subr_log.c
sys/kern/subr_prof.c
sys/kern/subr_xxx.c
sys/kern/sys_generic.c
sys/kern/sys_pipe.c
sys/kern/sys_process.c
sys/kern/syscalls.c
sys/kern/sysv_ipc.c
sys/kern/sysv_msg.c
sys/kern/sysv_sem.c
sys/kern/sysv_shm.c
sys/kern/tty.c
sys/kern/tty_conf.c
sys/kern/tty_cons.c
sys/kern/tty_pty.c
sys/kern/tty_tty.c
sys/kern/uipc_socket.c
sys/kern/uipc_syscalls.c
sys/kern/uipc_usrreq.c
sys/kern/vfs_aio.c
sys/kern/vfs_cache.c
sys/kern/vfs_subr.c
sys/kern/vfs_syscalls.c
sys/kern/vfs_vnops.c
sys/net/bpf.c
sys/net/gre/if_gre.c
sys/net/if.c
sys/net/ppp/if_ppp.c
sys/net/ppp_layer/ppp_tty.c
sys/net/raw_usrreq.c
sys/net/rtsock.c
sys/net/sl/if_sl.c
sys/net/tap/if_tap.c
sys/net/tun/if_tun.c
sys/netgraph/socket/ng_socket.c
sys/netgraph/tty/ng_tty.c
sys/netinet/in.c
sys/netinet/in_gif.c
sys/netinet/in_pcb.c
sys/netinet/ip_divert.c
sys/netinet/raw_ip.c
sys/netinet/tcp_subr.c
sys/netinet/udp_usrreq.c
sys/netinet6/in6.c
sys/netinet6/in6_pcb.c
sys/netinet6/in6_src.c
sys/netinet6/ip6_input.c
sys/netinet6/ip6_output.c
sys/netinet6/raw_ip6.c
sys/netinet6/udp6_output.c
sys/netinet6/udp6_usrreq.c
sys/netproto/ncp/ncp_subr.h
sys/netproto/smb/smb_dev.c
sys/netproto/smb/smb_subr.c
sys/netproto/smb/smb_subr.h
sys/platform/pc32/apm/apm.c
sys/platform/pc32/i386/genassym.c
sys/platform/pc32/i386/machdep.c
sys/platform/pc32/i386/mem.c
sys/platform/pc32/i386/perfmon.c
sys/platform/pc32/i386/sys_machdep.c
sys/platform/pc32/i386/trap.c
sys/platform/pc32/i386/vm86.c
sys/platform/vkernel/i386/genassym.c
sys/sys/conf.h
sys/sys/filedesc.h
sys/sys/proc.h
sys/sys/random.h
sys/sys/select.h
sys/sys/signalvar.h
sys/sys/syscall-hide.h
sys/sys/syscall.h
sys/sys/syscall.mk
sys/sys/sysctl.h
sys/sys/sysent.h
sys/sys/sysproto.h
sys/sys/systm.h
sys/sys/tty.h
sys/sys/ucred.h
sys/sys/user.h
sys/vfs/coda/coda_psdev.c
sys/vfs/coda/coda_psdev.h
sys/vfs/coda/coda_vfsops.c
sys/vfs/fdesc/fdesc_vnops.c
sys/vfs/isofs/cd9660/cd9660_vfsops.c
sys/vfs/mfs/mfs_vnops.c
sys/vfs/msdosfs/msdosfs_vnops.c
sys/vfs/nfs/nfs_serv.c
sys/vfs/nfs/nfs_syscalls.c
sys/vfs/nwfs/nwfs_vfsops.c
sys/vfs/portal/portal_vnops.c
sys/vfs/procfs/procfs.h
sys/vfs/procfs/procfs_ctl.c
sys/vfs/procfs/procfs_dbregs.c
sys/vfs/procfs/procfs_fpregs.c
sys/vfs/procfs/procfs_mem.c
sys/vfs/procfs/procfs_regs.c
sys/vfs/procfs/procfs_status.c
sys/vfs/procfs/procfs_vnops.c
sys/vfs/smbfs/smbfs_vnops.c
sys/vfs/specfs/spec_vnops.c
sys/vfs/ufs/ufs_vnops.c
sys/vfs/umapfs/umap_vfsops.c
sys/vm/vm_mmap.c
sys/vm/vm_swap.c
sys/vm/vm_unix.c