Various improvements

This commit is contained in:
Michael Kerrisk 2007-07-01 14:42:40 +00:00
parent 9d9430106b
commit f9e4d811be
1 changed files with 30 additions and 46 deletions

View File

@ -49,33 +49,33 @@ the system call appeared in kernel 2.0 or earlier.
Where a system call is marked "2.2"
this means the system call probably appeared in a 2.1.x kernel version,
and first appeared in a stable kernel with 2.2.0.
(No new system calls were added in the stable
kernel 2.0.x series.
The 2.2 kernel was created as a branch of kernel 2.0.21 via the 2.1.x
unstable kernel series)
(Development of the 2.2 kernel was initiated from a branch of kernel
2.0.21 via the 2.1.x unstable kernel series.)
.IP *
Where a system call is marked "2.4"
this means the system call probably appeared in a 2.3.x kernel version,
and first appeared in a stable kernel with 2.4.0.
(No new system calls were added in the stable
kernel 2.2.x series.
The 2.4 kernel was created as a branch of kernel 2.2.8 via the 2.3.x
unstable kernel series.)
(Development of the 2.4 kernel was initiated from a branch of
kernel 2.2.8 via the 2.3.x unstable kernel series.)
.IP *
Where a system call is marked "2.6"
this means the system call probably appeared in a 2.5.x kernel version,
and first appeared in a stable kernel with 2.6.0.
(Development of kernel 2.6 was initiated from a branch
of kernel 2.4.15 via the 2.5.x unstable kernel series.)
.IP *
Starting with kernel 2.6.0, the development model changed,
and new system calls may appear in each 2.6.x release.
Kernel 2.6.0 was formed from a branch of kernel 2.4.15 via the 2.5.x
unstable kernel series.
In some cases, a system call appeared in 2.6.x and was also backported
into a 2.4.x release after 2.4.15;
where this is so, the version where the system call appeared
In this case, the exact version number where the system call appeared
is shown.
.IP *
In some cases, a system call was added to a stable kernel
series after it branched from the previous stable kernel
series, and then backported into the earlier stable kernel series.
For example some system calls that appeared in 2.6.x were also backported
into a 2.4.x release after 2.4.15.
When this is so, the version where the system call appeared
in both of the major kernel series is listed.
(Where a system call is listed as appearing in kernel 2.4.x, x <= 15,
then implicitly it also appeared in the later kernel 2.6.0.)
.PP
The list of system calls that are available as at kernel 2.6.22
(or in a few cases only on older kernels) is as follows:
@ -98,8 +98,7 @@ System call Kernel Notes
\fBadjtimex\fP(2)
\fBafs_syscall\fP(2)
\fBalarm\fP(2)
.\" alloc_hugepages (2) appeared in 2.5.36 and went away in 2.5.44
.\" in 2.4.x, the syscall number exists but give ENOSYS
\fBalloc_hugepages\fP(2) 2.5.36 Removed in 2.5.44
\fBbdflush\fP(2)
\fBbind\fP(2)
\fBbreak\fP(2)
@ -149,8 +148,7 @@ System call Kernel Notes
\fBflistxattr\fP(2) 2.6; 2.4.18
\fBflock\fP(2)
\fBfork\fP(2)
.\" free_hugepages (2) appeared in 2.5.36 and went away in 2.5.44
.\" in 2.4.x, the syscall number exists but give ENOSYS
\fBfree_hugepages\fP(2) 2.5.36 Removed in 2.5.44
\fBfremovexattr\fP(2) 2.6; 2.4.18
\fBfsetxattr\fP(2) 2.6; 2.4.18
\fBfstat\fP(2)
@ -205,7 +203,7 @@ System call Kernel Notes
\fBgetuid\fP(2)
\fBgetuid32\fP(2) 2.4
\fBgetxattr\fP(2) 2.6; 2.4.18
.\" \fBgetunwind\fP(2) ??? i164; DEPRECATE
.\" \fBgetunwind\fP(2) ??? ia64; DEPRECATED
\fBgtty\fP(2)
\fBidle\fP(2)
\fBinit_module\fP(2)
@ -290,9 +288,9 @@ System call Kernel Notes
\fBopen\fP(2)
\fBopenat\fP(2) 2.6.16
\fBpause\fP(2)
.\" \fBpciconfig_iobase\fP(2) ??? Alpha, PowerPC, ARM
.\" \fBpciconfig_read\fP(2) ??? Alpha, PowerPC, ARM
.\" \fBpciconfig_write\fP(2) ??? Alpha, PowerPC, ARM
\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Alpha, PowerPC, ARM; not i386
\fBpciconfig_read\fP(2) 2.0.26; 2.2 Alpha, PowerPC, ARM; not i386
\fBpciconfig_write\fP(2) 2.0.26; 2.2 Alpha, PowerPC, ARM; not i386
\fBpersonality\fP(2)
.\" \fBperfctr\fP(2) ??? Sparc32, Sparc64
.\" \fBperfmonctl\fP(2) ??? IA-64
@ -349,9 +347,7 @@ System call Kernel Notes
\fBsched_setparam\fP(2)
\fBsched_setscheduler\fP(2)
\fBsched_yield\fP(2)
.\" 2.4.11 added security(2), but this was dropped in 2.5.x
.\" \fBsecurity\fP(2)
.\" (2.4.11; not in 2.6)
\fBsecurity\fP(2) 2.4.11
\fBselect\fP(2)
\fBsemctl\fP(2)
\fBsemget\fP(2)
@ -367,7 +363,7 @@ System call Kernel Notes
\fBset_thread_area\fP(2) 2.6; 2.4.20
\fBset_tid_address\fP(2) 2.6
\fBset_zone_reclaim\fP(2) 2.6.13 Removed in 2.6.16
.\" Yes, set_zone_reclaim() really was an implemented system call that
.\" Yes, set_zone_reclaim(2) really was an implemented system call that
.\" went away
\fBsetdomainname\fP(2)
\fBsetfsgid\fP(2)
@ -416,8 +412,8 @@ System call Kernel Notes
\fBsocketcall\fP(2) Implements BSD socket calls
\fBsocketpair\fP(2)
\fBsplice\fP(2) 2.6.17
.\" \fBspu_create\fP(2) 2.6.16 PowerPC only
.\" \fBspu_run\fP(2) 2.6.16 PowerPC only
\fBspu_create\fP(2) 2.6.16 PowerPC only
\fBspu_run\fP(2) 2.6.16 PowerPC only
\fBssetmask\fP(2)
\fBstat\fP(2)
\fBstat64\fP(2) 2.4
@ -449,7 +445,7 @@ System call Kernel Notes
\fBtruncate\fP(2)
\fBtruncate64\fP(2) 2.4
\fBtuxcall\fP(2) Unimplemented; no slot on i386
.\" As at 2.6.22, tuxcall has a slot on PowerPC, Xx86_64, and alpha
.\" As at 2.6.22, tuxcall has a slot on PowerPC, x86_64, and alpha
\fBugetrlimit\fP(2) 2.4
\fBulimit\fP(2) Implemented in glibc;
see \fBulimit\fP(3)
@ -480,18 +476,6 @@ System call Kernel Notes
.TE
.PP
Note the following points:
.\" .IP * 3
.\" These system calls are obsolete:
.\" getrlimit,
.\" .\" .\" oldfstat,
.\" .\" .\" oldlstat,
.\" .\" .\" oldolduname,
.\" .\" .\" oldstat,
.\" .\" .\" olduname,
.\" .\" .\" readdir,
.\" .\" .\" select,
.\" .\" .\" and
.\" .\" .\" vm86old
.IP * 3
Although slots are reserved for them in the system call table,
the following system calls are not implemented in the standard kernel:
@ -508,9 +492,9 @@ the following system calls are not implemented in the standard kernel:
.BR prof (2), \" __NR_prof is 44 on Linux 2.6.22/i386
.BR profil (2), \" __NR_profil is 98 on Linux 2.6.22/i386
.BR putpmsg (2), \" __NR_putpmsg is 189 on Linux 2.6.22/i386
.BR security (2),
.\" __NR_putpmsg is 223 on Linux 2.4/i386; absent on 2.6/i386, present
.\" on a a couple og 2.6 architectures
.\" __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present
.\" on a couple of 2.6 architectures
.BR security (2), \" __NR_security is 223 on Linux 2.4/i386
.BR stty (2), \" __NR_stty is 31 on Linux 2.6.22/i386
.BR tuxcall (2), \" __NR_tuxcall is 184 on x86_64, also on PPC and alpha
.BR ulimit (2), \" __NR_ulimit is 58 on Linux 2.6.22/i386
@ -581,7 +565,7 @@ and
(slot
.IR __NR_stat64 ),
with the last being the most current.
.\" e.g., on 2.6.22/x86: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
.\" e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195
.\" The stat system calls deal with three different data structures,
.\" defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64
A similar story applies for