On Fri, 2007-03-09 at 17:11 +0100, Andi Kleen wrote:
David Woodhouse [off-list ref] writes:
quoted
Most system calls seem to get added to i386 first. This patch
automatically generates a warning for any new system call which is
implemented on i386 but not the architecture currently being compiled.
On PowerPC at the moment, for example, it results in these warnings:
init/missing_syscalls.h:935:3: warning: #warning syscall sync_file_range not implemented
init/missing_syscalls.h:947:3: warning: #warning syscall getcpu not implemented
init/missing_syscalls.h:950:3: warning: #warning syscall epoll_pwait not implemented
I think a better solution would be to finally switch to auto generated
system call tables for newer system calls. The original reason why the
architectures have different system call numbers -- compatibility with
another "native" Unix -- is completely obsolete now. This leaves only
minor differences of compat stub vs non compat stub and a few
architecture specific calls.
Of course the existing syscall numbers can't be changed, but for all new
calls one could just add automatically for everybody.
A global table with two entries (compat and non compat) and a per arch
override table should be sufficient.
We need additional gunk for syscalls that can be called from SPEs on
cell
Ben.