[PATCH] Making it easy to add system calls

george anzinger
2003-03-06T01:19:16Z

[-- Attachment #1: Type: text/plain, Size: 1135 bytes --]

The attached patch defines a new file
(.../include/asm-i386/sys_calls.h) which defines all the system call
names and numbers. The number is defined via "enum". The normal call
has a well defined entry point to name relationship, but not all do,
so a way to do the "non-confroming" calls is included. To add a new
call all one needs to do is to add a line at the end of the list in
this header file, for example:

SYS_CALL(clock_nanosleep) \

This will put "sys_clock_nanosleep" in the call table in entry.S and
define the "__NR_clock_nanosleep" for unistd. The last entry of the
enum is NR_syscalls, thus defineing and keeping this symbol current.

Of course we will be adding no more system calls, but it does make
things a _lot_ easier.

The binary from entry.S was compared to the prior binary and found to
be the same. A small set of the library stubs was produced and also
compared. And a system was built and tested. All worked fine.

--
George Anzinger george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

[-- Attachment #2: syscall-2.5.64-1.0.patch --]
[-- Type: text/plain, Size: 24498 bytes --]

diff -urP -I '\$Id:.*Exp \$' -X /usr/src/patch.exclude linux-2.5.64-kb/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
--- linux-2.5.64-kb/arch/i386/kernel/entry.S 2003-03-05 15:11:21.000000000 -0800
+++ linux/arch/i386/kernel/entry.S 2003-03-05 15:15:43.000000000 -0800
@@ -562,274 +562,9 @@

.data
ENTRY(sys_call_table)
- .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
- .long sys_exit
- .long sys_fork
- .long sys_read
- .long sys_write
- .long sys_open /* 5 */
- .long sys_close
- .long sys_waitpid
- .long sys_creat
- .long sys_link
- .long sys_unlink /* 10 */
- .long sys_execve
- .long sys_chdir
- .long sys_time
- .long sys_mknod
- .long sys_chmod /* 15 */
- .long sys_lchown16
- .long sys_ni_syscall /* old break syscall holder */
- .long sys_stat
- .long sys_lseek
- .long sys_getpid /* 20 */
- .long sys_mount
- .long sys_oldumount
- .long sys_setuid16
- .long sys_getuid16
- .long sys_stime /* 25 */
- .long sys_ptrace
- .long sys_alarm
- .long sys_fstat
- .long sys_pause
- .long sys_utime /* 30 */
- .long sys_ni_syscall /* old stty syscall holder */
- .long sys_ni_syscall /* old gtty syscall holder */
- .long sys_access
- .long sys_nice
- .long sys_ni_syscall /* 35 - old ftime syscall holder */
- .long sys_sync
- .long sys_kill
- .long sys_rename
- .long sys_mkdir
- .long sys_rmdir /* 40 */
- .long sys_dup
- .long sys_pipe
- .long sys_times
- .long sys_ni_syscall /* old prof syscall holder */
- .long sys_brk /* 45 */
- .long sys_setgid16
- .long sys_getgid16
- .long sys_signal
- .long sys_geteuid16
- .long sys_getegid16 /* 50 */
- .long sys_acct
- .long sys_umount /* recycled never used phys() */
- .long sys_ni_syscall /* old lock syscall holder */
- .long sys_ioctl
- .long sys_fcntl /* 55 */
- .long sys_ni_syscall /* old mpx syscall holder */
- .long sys_setpgid
- .long sys_ni_syscall /* old ulimit syscall holder */
- .long sys_olduname
- .long sys_umask /* 60 */
- .long sys_chroot
- .long sys_ustat
- .long sys_dup2
- .long sys_getppid
- .long sys_getpgrp /* 65 */
- .long sys_setsid
- .long sys_sigaction
- .long sys_sgetmask
- .long sys_ssetmask
- .long sys_setreuid16 /* 70 */
- .long sys_setregid16
- .long sys_sigsuspend
- .long sys_sigpending
- .long sys_sethostname
- .long sys_setrlimit /* 75 */
- .long sys_old_getrlimit
- .long sys_getrusage
- .long sys_gettimeofday
- .long sys_settimeofday
- .long sys_getgroups16 /* 80 */
- .long sys_setgroups16
- .long old_select
- .long sys_symlink
- .long sys_lstat
- .long sys_readlink /* 85 */
- .long sys_uselib
- .long sys_swapon
- .long sys_reboot
- .long old_readdir
- .long old_mmap /* 90 */
- .long sys_munmap
- .long sys_truncate
- .long sys_ftruncate
- .long sys_fchmod
- .long sys_fchown16 /* 95 */
- .long sys_getpriority
- .long sys_setpriority
- .long sys_ni_syscall /* old profil syscall holder */
- .long sys_statfs
- .long sys_fstatfs /* 100 */
- .long sys_ioperm
- .long sys_socketcall
- .long sys_syslog
- .long sys_setitimer
- .long sys_getitimer /* 105 */
- .long sys_newstat
- .long sys_newlstat
- .long sys_newfstat
- .long sys_uname
- .long sys_iopl /* 110 */
- .long sys_vhangup
- .long sys_ni_syscall /* old "idle" system call */
- .long sys_vm86old
- .long sys_wait4
- .long sys_swapoff /* 115 */
- .long sys_sysinfo
- .long sys_ipc
- .long sys_fsync
- .long sys_sigreturn
- .long sys_clone /* 120 */
- .long sys_setdomainname
- .long sys_newuname
- .long sys_modify_ldt
- .long sys_adjtimex
- .long sys_mprotect /* 125 */
- .long sys_sigprocmask
- .long sys_ni_syscall /* old "create_module" */
- .long sys_init_module
- .long sys_delete_module
- .long sys_ni_syscall /* 130: old "get_kernel_syms" */
- .long sys_quotactl
- .long sys_getpgid
- .long sys_fchdir
- .long sys_bdflush
- .long sys_sysfs /* 135 */
- .long sys_personality
- .long sys_ni_syscall /* reserved for afs_syscall */
- .long sys_setfsuid16
- .long sys_setfsgid16
- .long sys_llseek /* 140 */
- .long sys_getdents
- .long sys_select
- .long sys_flock
- .long sys_msync
- .long sys_readv /* 145 */
- .long sys_writev
- .long sys_getsid
- .long sys_fdatasync
- .long sys_sysctl
- .long sys_mlock /* 150 */
- .long sys_munlock
- .long sys_mlockall
- .long sys_munlockall
- .long sys_sched_setparam
- .long sys_sched_getparam /* 155 */
- .long sys_sched_setscheduler
- .long sys_sched_getscheduler
- .long sys_sched_yield
- .long sys_sched_get_priority_max
- .long sys_sched_get_priority_min /* 160 */
- .long sys_sched_rr_get_interval
- .long sys_nanosleep
- .long sys_mremap
- .long sys_setresuid16
- .long sys_getresuid16 /* 165 */
- .long sys_vm86
- .long sys_ni_syscall /* Old sys_query_module */
- .long sys_poll
- .long sys_nfsservctl
- .long sys_setresgid16 /* 170 */
- .long sys_getresgid16
- .long sys_prctl
- .long sys_rt_sigreturn
- .long sys_rt_sigaction
- .long sys_rt_sigprocmask /* 175 */
- .long sys_rt_sigpending
- .long sys_rt_sigtimedwait
- .long sys_rt_sigqueueinfo
- .long sys_rt_sigsuspend
- .long sys_pread64 /* 180 */
- .long sys_pwrite64
- .long sys_chown16
- .long sys_getcwd
- .long sys_capget
- .long sys_capset /* 185 */
- .long sys_sigaltstack
- .long sys_sendfile
- .long sys_ni_syscall /* reserved for streams1 */
- .long sys_ni_syscall /* reserved for streams2 */
- .long sys_vfork /* 190 */
- .long sys_getrlimit
- .long sys_mmap2
- .long sys_truncate64
- .long sys_ftruncate64
- .long sys_stat64 /* 195 */
- .long sys_lstat64
- .long sys_fstat64
- .long sys_lchown
- .long sys_getuid
- .long sys_getgid /* 200 */
- .long sys_geteuid
- .long sys_getegid
- .long sys_setreuid
- .long sys_setregid
- .long sys_getgroups /* 205 */
- .long sys_setgroups
- .long sys_fchown
- .long sys_setresuid
- .long sys_getresuid
- .long sys_setresgid /* 210 */
- .long sys_getresgid
- .long sys_chown
- .long sys_setuid
- .long sys_setgid
- .long sys_setfsuid /* 215 */
- .long sys_setfsgid
- .long sys_pivot_root
- .long sys_mincore
- .long sys_madvise
- .long sys_getdents64 /* 220 */
- .long sys_fcntl64
- .long sys_ni_syscall /* reserved for TUX */
- .long sys_ni_syscall
- .long sys_gettid
- .long sys_readahead /* 225 */
- .long sys_setxattr
- .long sys_lsetxattr
- .long sys_fsetxattr
- .long sys_getxattr
- .long sys_lgetxattr /* 230 */
- .long sys_fgetxattr
- .long sys_listxattr
- .long sys_llistxattr
- .long sys_flistxattr
- .long sys_removexattr /* 235 */
- .long sys_lremovexattr
- .long sys_fremovexattr
- .long sys_tkill
- .long sys_sendfile64
- .long sys_futex /* 240 */
- .long sys_sched_setaffinity
- .long sys_sched_getaffinity
- .long sys_set_thread_area
- .long sys_get_thread_area
- .long sys_io_setup /* 245 */
- .long sys_io_destroy
- .long sys_io_getevents
- .long sys_io_submit
- .long sys_io_cancel
- .long sys_fadvise64 /* 250 */
- .long sys_ni_syscall
- .long sys_exit_group
- .long sys_lookup_dcookie
- .long sys_epoll_create
- .long sys_epoll_ctl /* 255 */
- .long sys_epoll_wait
- .long sys_remap_file_pages
- .long sys_set_tid_address
- .long sys_timer_create
- .long sys_timer_settime /* 260 */
- .long sys_timer_gettime
- .long sys_timer_getoverrun
- .long sys_timer_delete
- .long sys_clock_settime
- .long sys_clock_gettime /* 265 */
- .long sys_clock_getres
- .long sys_clock_nanosleep
-
+
+#define SYS_CALL_PTRS
+#include <asm/sys_calls.h>
+

nr_syscalls=(.-sys_call_table)/4
diff -urP -I '\$Id:.*Exp \$' -X /usr/src/patch.exclude linux-2.5.64-kb/include/asm-i386/sys_calls.h linux/include/asm-i386/sys_calls.h
--- linux-2.5.64-kb/include/asm-i386/sys_calls.h 1969-12-31 16:00:00.000000000 -0800
+++ linux/include/asm-i386/sys_calls.h 2003-03-05 15:25:50.000000000 -0800
@@ -0,0 +1,311 @@
+#ifndef SYS_CALLS_F
+#define SYS_CALLS_F
+
+#ifdef SYS_CALL_PTRS
+/*
+ * For some unknown reason asm code is run through cpp with the
+ * -traditional flag on. We set this up so we don't care...
+ */
+#ifndef __STDC__
+#define SYS_CALL_F(fun) sys_/**/fun
+#define SYS_CALL(fun) , sys_/**/fun
+#else
+#define SYS_CALL_F(fun) sys_ ## fun
+#define SYS_CALL(fun) , sys_ ## fun
+#endif
+#define SYS_CALL_R(fun) , sys_ni_syscall
+#define SYS_CALL_D(x, fun) , fun
+#define SYS_CALL_END
+#endif
+
+#ifdef SYS_CALL_NUMS
+#define SYS_CALL(fun) __NR_ ##fun,
+#define SYS_CALL_F(fun) SYS_CALL(fun)
+#define SYS_CALL_R(fun) __NR_ ##fun,
+#define SYS_CALL_D(x, fun) __NR_ ## x,
+#define SYS_CALL_END NR_syscalls
+#endif
+#define do_calls \
+SYS_CALL_F(restart_syscall) \
+SYS_CALL(exit) \
+SYS_CALL(fork) \
+SYS_CALL(read) \
+SYS_CALL(write) \
+SYS_CALL(open) \
+SYS_CALL(close) \
+SYS_CALL(waitpid) \
+SYS_CALL(creat) \
+SYS_CALL(link) \
+SYS_CALL(unlink) \
+SYS_CALL(execve) \
+SYS_CALL(chdir) \
+SYS_CALL(time) \
+SYS_CALL(mknod) \
+SYS_CALL(chmod) \
+SYS_CALL_D(lchown, sys_lchown16) \
+SYS_CALL_R(break) \
+SYS_CALL_D(oldstat, sys_stat ) \
+SYS_CALL(lseek) \
+SYS_CALL(getpid) \
+SYS_CALL(mount) \
+SYS_CALL_D(umount, sys_oldumount) \
+SYS_CALL_D(setuid, sys_setuid16) \
+SYS_CALL_D(getuid, sys_getuid16) \
+SYS_CALL(stime) \
+SYS_CALL(ptrace) \
+SYS_CALL(alarm) \
+SYS_CALL_D(oldfstat, sys_fstat) \
+SYS_CALL(pause) \
+SYS_CALL(utime) \
+SYS_CALL_R(stty) \
+SYS_CALL_R(gtty) \
+SYS_CALL(access) \
+SYS_CALL(nice) \
+SYS_CALL_R(ftime) \
+SYS_CALL(sync) \
+SYS_CALL(kill) \
+SYS_CALL(rename) \
+SYS_CALL(mkdir) \
+SYS_CALL(rmdir) \
+SYS_CALL(dup) \
+SYS_CALL(pipe) \
+SYS_CALL(times) \
+SYS_CALL_R(prof) \
+SYS_CALL(brk) \
+SYS_CALL_D(setgid, sys_setgid16) \
+SYS_CALL_D(getgid, sys_getgid16) \
+SYS_CALL(signal) \
+SYS_CALL_D(geteuid, sys_geteuid16) \
+SYS_CALL_D(getegid, sys_getegid16) \
+SYS_CALL(acct) \
+SYS_CALL_D(umount2, sys_umount) \
+SYS_CALL_R(lock) \
+SYS_CALL(ioctl) \
+SYS_CALL(fcntl) \
+SYS_CALL_R(mpx) \
+SYS_CALL(setpgid) \
+SYS_CALL_R(ulimit) \
+SYS_CALL_D(oldolduname, sys_olduname) \
+SYS_CALL(umask) \
+SYS_CALL(chroot) \
+SYS_CALL(ustat) \
+SYS_CALL(dup2) \
+SYS_CALL(getppid) \
+SYS_CALL(getpgrp) \
+SYS_CALL(setsid) \
+SYS_CALL(sigaction) \
+SYS_CALL(sgetmask) \
+SYS_CALL(ssetmask) \
+SYS_CALL_D(setreuid, sys_setreuid16) \
+SYS_CALL_D(setregid, sys_setregid16) \
+SYS_CALL(sigsuspend) \
+SYS_CALL(sigpending) \
+SYS_CALL(sethostname) \
+SYS_CALL(setrlimit) \
+SYS_CALL_D(getrlimit, sys_old_getrlimit) \
+SYS_CALL(getrusage) \
+SYS_CALL(gettimeofday) \
+SYS_CALL(settimeofday) \
+SYS_CALL_D(getgroups, sys_getgroups16) \
+SYS_CALL_D(setgroups, sys_setgroups16) \
+SYS_CALL_D(select, old_select) \
+SYS_CALL(symlink) \
+SYS_CALL_D(oldlstat, sys_lstat) \
+SYS_CALL(readlink) \
+SYS_CALL(uselib) \
+SYS_CALL(swapon) \
+SYS_CALL(reboot) \
+SYS_CALL_D(readdir, old_readdir) \
+SYS_CALL_D(mmap, old_mmap) \
+SYS_CALL(munmap) \
+SYS_CALL(truncate) \
+SYS_CALL(ftruncate) \
+SYS_CALL(fchmod) \
+SYS_CALL_D(fchown, sys_fchown16) \
+SYS_CALL(getpriority) \
+SYS_CALL(setpriority) \
+SYS_CALL_R(profil) \
+SYS_CALL(statfs) \
+SYS_CALL(fstatfs) \
+SYS_CALL(ioperm) \
+SYS_CALL(socketcall) \
+SYS_CALL(syslog) \
+SYS_CALL(setitimer) \
+SYS_CALL(getitimer) \
+SYS_CALL_D(stat, sys_newstat) \
+SYS_CALL_D(lstat, sys_newlstat) \
+SYS_CALL_D(fstat, sys_newfstat) \
+SYS_CALL_D(olduname, sys_uname) \
+SYS_CALL(iopl) \
+SYS_CALL(vhangup) \
+SYS_CALL_R(idle) \
+SYS_CALL(vm86old) \
+SYS_CALL(wait4) \
+SYS_CALL(swapoff) \
+SYS_CALL(sysinfo) \
+SYS_CALL(ipc) \
+SYS_CALL(fsync) \
+SYS_CALL(sigreturn) \
+SYS_CALL(clone) \
+SYS_CALL(setdomainname) \
+SYS_CALL_D(uname, sys_newuname) \
+SYS_CALL(modify_ldt) \
+SYS_CALL(adjtimex) \
+SYS_CALL(mprotect) \
+SYS_CALL(sigprocmask) \
+SYS_CALL_R(create_module) \
+SYS_CALL(init_module) \
+SYS_CALL(delete_module) \
+SYS_CALL_R(get_kernel_syms) \
+SYS_CALL(quotactl) \
+SYS_CALL(getpgid) \
+SYS_CALL(fchdir) \
+SYS_CALL(bdflush) \
+SYS_CALL(sysfs) \
+SYS_CALL(personality) \
+SYS_CALL_R(afs_syscall) \
+SYS_CALL_D(setfsuid, sys_setfsuid16) \
+SYS_CALL_D(setfsgid, sys_setfsgid16) \
+SYS_CALL_D(_llseek, sys_llseek) \
+SYS_CALL(getdents) \
+SYS_CALL_D(_newselect, sys_select) \
+SYS_CALL(flock) \
+SYS_CALL(msync) \
+SYS_CALL(readv) \
+SYS_CALL(writev) \
+SYS_CALL(getsid) \
+SYS_CALL(fdatasync) \
+SYS_CALL_D(_sysctl, sys_sysctl) \
+SYS_CALL(mlock) \
+SYS_CALL(munlock) \
+SYS_CALL(mlockall) \
+SYS_CALL(munlockall) \
+SYS_CALL(sched_setparam) \
+SYS_CALL(sched_getparam) \
+SYS_CALL(sched_setscheduler) \
+SYS_CALL(sched_getscheduler) \
+SYS_CALL(sched_yield) \
+SYS_CALL(sched_get_priority_max) \
+SYS_CALL(sched_get_priority_min) \
+SYS_CALL(sched_rr_get_interval) \
+SYS_CALL(nanosleep) \
+SYS_CALL(mremap) \
+SYS_CALL_D(setresuid, sys_setresuid16) \
+SYS_CALL_D(getresuid, sys_getresuid16) \
+SYS_CALL(vm86) \
+SYS_CALL_R(query_module) \
+SYS_CALL(poll) \
+SYS_CALL(nfsservctl) \
+SYS_CALL_D(setresgid, sys_setresgid16) \
+SYS_CALL_D(getresgid, sys_getresgid16) \
+SYS_CALL(prctl) \
+SYS_CALL(rt_sigreturn) \
+SYS_CALL(rt_sigaction) \
+SYS_CALL(rt_sigprocmask) \
+SYS_CALL(rt_sigpending) \
+SYS_CALL(rt_sigtimedwait) \
+SYS_CALL(rt_sigqueueinfo) \
+SYS_CALL(rt_sigsuspend) \
+SYS_CALL(pread64) \
+SYS_CALL(pwrite64) \
+SYS_CALL_D(chown, sys_chown16) \
+SYS_CALL(getcwd) \
+SYS_CALL(capget) \
+SYS_CALL(capset) \
+SYS_CALL(sigaltstack) \
+SYS_CALL(sendfile) \
+SYS_CALL_R(getpmsg) \
+SYS_CALL_R(putpmsg) \
+SYS_CALL(vfork) \
+SYS_CALL_D(ugetrlimit, sys_getrlimit) \
+SYS_CALL(mmap2) \
+SYS_CALL(truncate64) \
+SYS_CALL(ftruncate64) \
+SYS_CALL(stat64) \
+SYS_CALL(lstat64) \
+SYS_CALL(fstat64) \
+SYS_CALL_D(lchown32, sys_lchown) \
+SYS_CALL_D(getuid32, sys_getuid) \
+SYS_CALL_D(getgid32, sys_getgid) \
+SYS_CALL_D(geteuid32, sys_geteuid) \
+SYS_CALL_D(getegid32, sys_getegid) \
+SYS_CALL_D(setreuid32, sys_setreuid) \
+SYS_CALL_D(setregid32, sys_setregid) \
+SYS_CALL_D(getgroups32, sys_getgroups) \
+SYS_CALL_D(setgroups32, sys_setgroups) \
+SYS_CALL_D(fchown32, sys_fchown) \
+SYS_CALL_D(setresuid32, sys_setresuid) \
+SYS_CALL_D(getresuid32, sys_getresuid) \
+SYS_CALL_D(setresgid32, sys_setresgid) \
+SYS_CALL_D(getresgid32, sys_getresgid) \
+SYS_CALL_D(chown32, sys_chown) \
+SYS_CALL_D(setuid32, sys_setuid) \
+SYS_CALL_D(setgid32, sys_setgid) \
+SYS_CALL_D(setfsuid32, sys_setfsuid) \
+SYS_CALL_D(setfsgid32, sys_setfsgid) \
+SYS_CALL(pivot_root) \
+SYS_CALL(mincore) \
+SYS_CALL(madvise) \
+SYS_CALL(getdents64) \
+SYS_CALL(fcntl64) \
+SYS_CALL_R(tux1) \
+SYS_CALL_R(tux2) \
+SYS_CALL(gettid) \
+SYS_CALL(readahead) \
+SYS_CALL(setxattr) \
+SYS_CALL(lsetxattr) \
+SYS_CALL(fsetxattr) \
+SYS_CALL(getxattr) \
+SYS_CALL(lgetxattr) \
+SYS_CALL(fgetxattr) \
+SYS_CALL(listxattr) \
+SYS_CALL(llistxattr) \
+SYS_CALL(flistxattr) \
+SYS_CALL(removexattr) \
+SYS_CALL(lremovexattr) \
+SYS_CALL(fremovexattr) \
+SYS_CALL(tkill) \
+SYS_CALL(sendfile64) \
+SYS_CALL(futex) \
+SYS_CALL(sched_setaffinity) \
+SYS_CALL(sched_getaffinity) \
+SYS_CALL(set_thread_area) \
+SYS_CALL(get_thread_area) \
+SYS_CALL(io_setup) \
+SYS_CALL(io_destroy) \
+SYS_CALL(io_getevents) \
+SYS_CALL(io_submit) \
+SYS_CALL(io_cancel) \
+SYS_CALL(fadvise64) \
+SYS_CALL_R(empty1) \
+SYS_CALL(exit_group) \
+SYS_CALL(lookup_dcookie) \
+SYS_CALL(epoll_create) \
+SYS_CALL(epoll_ctl) \
+SYS_CALL(epoll_wait) \
+SYS_CALL(remap_file_pages) \
+SYS_CALL(set_tid_address) \
+SYS_CALL(timer_create) \
+SYS_CALL(timer_settime) \
+SYS_CALL(timer_gettime) \
+SYS_CALL(timer_getoverrun) \
+SYS_CALL(timer_delete) \
+SYS_CALL(clock_settime) \
+SYS_CALL(clock_gettime) \
+SYS_CALL(clock_getres) \
+SYS_CALL(clock_nanosleep) \
+SYS_CALL_END
+
+
+#ifdef SYS_CALL_PTRS
+ .long do_calls
+#endif
+#ifdef SYS_CALL_NUMS
+
+enum {
+do_calls
+};
+#define __NR_madvise1 __NR_madvise
+#endif
+
+#endif
diff -urP -I '\$Id:.*Exp \$' -X /usr/src/patch.exclude linux-2.5.64-kb/include/asm-i386/unistd.h linux/include/asm-i386/unistd.h
--- linux-2.5.64-kb/include/asm-i386/unistd.h 2003-03-05 15:09:47.000000000 -0800
+++ linux/include/asm-i386/unistd.h 2003-03-05 15:18:14.000000000 -0800
@@ -4,277 +4,8 @@
/*
* This file contains the system call numbers.
*/
-
-#define __NR_restart_syscall 0
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_lchown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl 110
-#define __NR_vhangup 111
-#define __NR_idle 112
-#define __NR_vm86old 113
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_modify_ldt 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_vm86 166
-#define __NR_query_module 167
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread64 180
-#define __NR_pwrite64 181
-#define __NR_chown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_getpmsg 188 /* some people actually want streams */
-#define __NR_putpmsg 189 /* some people actually want streams */
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191 /* SuS compliant getrlimit */
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_lchown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_chown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_pivot_root 217
-#define __NR_mincore 218
-#define __NR_madvise 219
-#define __NR_madvise1 219 /* delete when C lib stub is removed */
-#define __NR_getdents64 220
-#define __NR_fcntl64 221
-/* 223 is unused */
-#define __NR_gettid 224
-#define __NR_readahead 225
-#define __NR_setxattr 226
-#define __NR_lsetxattr 227
-#define __NR_fsetxattr 228
-#define __NR_getxattr 229
-#define __NR_lgetxattr 230
-#define __NR_fgetxattr 231
-#define __NR_listxattr 232
-#define __NR_llistxattr 233
-#define __NR_flistxattr 234
-#define __NR_removexattr 235
-#define __NR_lremovexattr 236
-#define __NR_fremovexattr 237
-#define __NR_tkill 238
-#define __NR_sendfile64 239
-#define __NR_futex 240
-#define __NR_sched_setaffinity 241
-#define __NR_sched_getaffinity 242
-#define __NR_set_thread_area 243
-#define __NR_get_thread_area 244
-#define __NR_io_setup 245
-#define __NR_io_destroy 246
-#define __NR_io_getevents 247
-#define __NR_io_submit 248
-#define __NR_io_cancel 249
-#define __NR_fadvise64 250
-
-#define __NR_exit_group 252
-#define __NR_lookup_dcookie 253
-#define __NR_epoll_create 254
-#define __NR_epoll_ctl 255
-#define __NR_epoll_wait 256
-#define __NR_remap_file_pages 257
-#define __NR_set_tid_address 258
-#define __NR_timer_create 259
-#define __NR_timer_settime (__NR_timer_create+1)
-#define __NR_timer_gettime (__NR_timer_create+2)
-#define __NR_timer_getoverrun (__NR_timer_create+3)
-#define __NR_timer_delete (__NR_timer_create+4)
-#define __NR_clock_settime (__NR_timer_create+5)
-#define __NR_clock_gettime (__NR_timer_create+6)
-#define __NR_clock_getres (__NR_timer_create+7)
-#define __NR_clock_nanosleep (__NR_timer_create+8)
-
-#define NR_syscalls 268
+#define SYS_CALL_NUMS
+#include <asm/sys_calls.h>

/* user-visible error numbers are in the range -1 - -124: see <asm-i386/errno.h> */

Binary files linux-2.5.64-kb/lib/gen_crc32table and linux/lib/gen_crc32table differ
Binary files linux-2.5.64-kb/scripts/docproc and linux/scripts/docproc differ
Binary files linux-2.5.64-kb/scripts/fixdep and linux/scripts/fixdep differ
Binary files linux-2.5.64-kb/scripts/kallsyms and linux/scripts/kallsyms differ
Binary files linux-2.5.64-kb/scripts/mk_elfconfig and linux/scripts/mk_elfconfig differ
Binary files linux-2.5.64-kb/scripts/modpost and linux/scripts/modpost differ
Binary files linux-2.5.64-kb/usr/gen_init_cpio and linux/usr/gen_init_cpio differ
Binary files linux-2.5.64-kb/usr/initramfs_data.cpio.gz and linux/usr/initramfs_data.cpio.gz differ