freebsd-skq/sys
Peter Wemm 51504d9ac4 Create new syscalls for mmap(), lseek(), pread(), pwrite(), truncate() and
ftruncate(), but without the pad arg.

There are several reasons for this.  Consider 'mmap()'.  On AMD64, the
function call (and syscall) ABI allow for 6 register arguments.  Additional
arguments go on the stack.  mmap(2) has 6 arguments.  However, the syscall
definition has an extra 'int pad' argument.  This pushes it to 7 arguments,
which means one must spill into the memory stack.  Since the kernel API
doesn't match userland API, we have a hack in libc - libc/sys/mmap.c.
This implements the userland API by calling __syscall() with an extra
argument and the pad argument, for a total of 8 args.  This is all
unnecessary and inconvenient for several things, including the kernel's
syscall handler code which now has to handle merging stack arguments with
register arguments.  It is a big deal for certain 3rd party code.

I'm adding libc glue to make the transition totally painless.  I had
intended to mark the old syscalls as COMPAT6, but the potential to shoot
your feet by building a new kernel without COMPAT_FREEBSD6 but with a
slighly older userland was too great.  For now, they have manual
"freebsd6_" prefixes rather than being COMPAT6.  They will go back to
being marked 'COMPAT6' after 7-stable starts.

Approved by: re (kensmith)
2007-07-04 22:47:37 +00:00
..
amd64 Temporary disconnect i4bing, i4bisppp and i4bipr from the build for 2007-07-04 00:18:39 +00:00
arm The iop34x has 128 interrupts. 2007-06-16 15:03:33 +00:00
boot - Remove UMAP filesystem. It was disconnected from build three years ago, 2007-06-25 05:06:57 +00:00
bsm Change $P4$ ID strings to P4 ID strings so that they are not auto-expanded 2007-04-17 12:27:08 +00:00
cam After talking with njl@, change this wildcard entry to be a bit less wild. 2007-07-01 17:42:07 +00:00
cddl In zfs_vget, if we fail to translate an inode number to the corresponding 2007-06-27 12:00:24 +00:00
coda Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
compat Try a cheap way to get around gcc4.2 believing that user arguments 2007-06-17 04:37:57 +00:00
conf Reintroducing !INET6 + IPSEC building fix which was accidentally reverted 2007-07-04 03:44:57 +00:00
contrib Add two place holders in struct pf_rule for future netgraph integration. 2007-07-03 12:58:33 +00:00
crypto Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
ddb
dev Be much more forgiving towards applications that requesting ioctls 2007-07-04 12:33:11 +00:00
fs Since rev. 1.199 of sys/kern/kern_conf.c, the thread that calls 2007-07-03 17:42:37 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom Have gpart synthesize a disk geometry if the underlying provider 2007-06-17 22:19:19 +00:00
gnu Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
i4b Temporary disconnect i4bing, i4bisppp and i4bipr from the build for 2007-07-04 00:18:39 +00:00
i386 Temporary disconnect i4bing, i4bisppp and i4bipr from the build for 2007-07-04 00:18:39 +00:00
ia64 Enable SCTP by default for GENERIC kernels in order to give it 2007-06-14 17:14:27 +00:00
isa Prototype (but functional) Linux-ish /dev/nvram interface to the extra 2007-06-15 22:58:14 +00:00
kern Create new syscalls for mmap(), lseek(), pread(), pwrite(), truncate() and 2007-07-04 22:47:37 +00:00
libkern Unbreak high resolution profiling a little: use dummy asms to prevent 2007-06-13 06:17:48 +00:00
modules Link pf 4.1 to the build: 2007-07-03 12:46:08 +00:00
net Link pf 4.1 to the build: 2007-07-03 12:46:08 +00:00
net80211 Move the XCHANNEL radiotap definition to a free slot. NetBSD defined some 2007-07-01 06:59:30 +00:00
netatalk Mark wire data structures in netatalk as __packed so that they are 2007-06-28 12:54:58 +00:00
netatm Fix various compilation warnings for gcc-4.2. 2007-06-23 00:02:20 +00:00
netgraph These modules depend on usb, make that explicit 2007-06-23 04:34:38 +00:00
netinet Link pf 4.1 to the build: 2007-07-03 12:46:08 +00:00
netinet6 Remove a last, dangling, file from the Kame IPsec code. 2007-07-04 01:03:48 +00:00
netipsec Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
netipx Include priv.h to pick up suser(9) definitions, missed in an earlier 2007-06-13 22:42:43 +00:00
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
netsmb Initialize some variables that GCC4.2 thinks might possibly be used without 2007-06-15 23:49:54 +00:00
nfs
nfs4client - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsclient Fix for a race where out of order loading of NFS attrs into the 2007-07-03 18:31:47 +00:00
nfsserver Include priv.h to pick up suser(9) definitions, missed in an earlier 2007-06-13 22:42:43 +00:00
opencrypto Integrate the Camellia Block Cipher. For more information see RFC 4132 2007-05-09 19:37:02 +00:00
pc98 Temporary disconnect i4bing, i4bisppp and i4bipr from the build for 2007-07-04 00:18:39 +00:00
pccard
pci Prepare for future integration between CAM and newbus. xpt_bus_register 2007-06-17 05:55:54 +00:00
powerpc Reimplement bus_dmamap_load with bus_dmamap_load_buffer. 2007-06-22 03:57:36 +00:00
rpc Check for a NULL return from rpcclnt_buildheader- it can fail if 2007-06-16 05:42:26 +00:00
security Remove two boot printfs generated by Audit to announce it's presence, 2007-07-01 20:51:30 +00:00
sparc64 - Move ofw_pci_alloc_busno() to the ofw_pci KOBJ interface, 2007-06-18 21:49:42 +00:00
sun4v - Restore the machine independency of sys/dev/ofw/openfirm.{c,h} by 2007-06-16 22:30:38 +00:00
sys Since cdev mutex is after system map mutex in global lock order, free() 2007-07-04 06:56:58 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Fix an annoying pointer/int cast warning that shows up on 64 bit systems. 2007-07-02 01:31:43 +00:00
vm In the previous revision, when I replaced the unconditional acquisition 2007-07-02 06:56:37 +00:00
Makefile Commit IPv6 support for FAST_IPSEC to the tree. 2007-07-01 11:41:27 +00:00