The place where syscall information is gathered is:

arch/x86/include/asm/unistd_32.h
arch/x86/include/asm/unistd_64.h
arch/s390/include/asm/unistd.h
arch/powerpc/include/asm/unistd.h
arch/ia64/include/asm/unistd.h
arch/alpha/include/asm/unistd.h
arch/arm/include/asm/unistd.h

For adding new arches, the following might be useful to get a first pass file:

cat unistd.h | grep '^#define __NR_' | tr -d ')' | tr 'NR+' ' ' | awk '{ printf "_S(%s, \"%s\")\n", $6, $3 }; '

it will still need hand editing
