[PATCH] uml: fix syscall table by including $(SUBARCH)'s one, for x86-64
Reuse asm-x86-64/unistd.h to build our syscall table, like x86-64 already does. Like for i386, we must add some #defines for all the (right!) changes UML does to x86-64 syscall table. Note: I noted a bogus: [ __NR_sched_yield ] = (syscall_handler_t *) yield, while doing this patch (which could only be a workaround for some strange bug, but I would ignore this possibility). I'm changing this without notice. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Cette révision appartient à :

révisé par
Linus Torvalds

Parent
ddcd6b1757
révision
80f9507886
@@ -30,51 +30,6 @@ extern syscall_handler_t wrap_sys_shmat;
|
||||
extern syscall_handler_t sys_modify_ldt;
|
||||
extern syscall_handler_t sys_arch_prctl;
|
||||
|
||||
#define ARCH_SYSCALLS \
|
||||
[ __NR_mmap ] = (syscall_handler_t *) old_mmap, \
|
||||
[ __NR_select ] = (syscall_handler_t *) sys_select, \
|
||||
[ __NR_mincore ] = (syscall_handler_t *) sys_mincore, \
|
||||
[ __NR_madvise ] = (syscall_handler_t *) sys_madvise, \
|
||||
[ __NR_shmget ] = (syscall_handler_t *) sys_shmget, \
|
||||
[ __NR_shmat ] = (syscall_handler_t *) wrap_sys_shmat, \
|
||||
[ __NR_shmctl ] = (syscall_handler_t *) sys_shmctl, \
|
||||
[ __NR_semop ] = (syscall_handler_t *) sys_semop, \
|
||||
[ __NR_semget ] = (syscall_handler_t *) sys_semget, \
|
||||
[ __NR_semctl ] = (syscall_handler_t *) sys_semctl, \
|
||||
[ __NR_shmdt ] = (syscall_handler_t *) sys_shmdt, \
|
||||
[ __NR_msgget ] = (syscall_handler_t *) sys_msgget, \
|
||||
[ __NR_msgsnd ] = (syscall_handler_t *) sys_msgsnd, \
|
||||
[ __NR_msgrcv ] = (syscall_handler_t *) sys_msgrcv, \
|
||||
[ __NR_msgctl ] = (syscall_handler_t *) sys_msgctl, \
|
||||
[ __NR_pivot_root ] = (syscall_handler_t *) sys_pivot_root, \
|
||||
[ __NR_tuxcall ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_security ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_epoll_ctl_old ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_epoll_wait_old ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_modify_ldt ] = (syscall_handler_t *) sys_modify_ldt, \
|
||||
[ __NR_arch_prctl ] = (syscall_handler_t *) sys_arch_prctl, \
|
||||
[ __NR_socket ] = (syscall_handler_t *) sys_socket, \
|
||||
[ __NR_connect ] = (syscall_handler_t *) sys_connect, \
|
||||
[ __NR_accept ] = (syscall_handler_t *) sys_accept, \
|
||||
[ __NR_recvfrom ] = (syscall_handler_t *) sys_recvfrom, \
|
||||
[ __NR_recvmsg ] = (syscall_handler_t *) sys_recvmsg, \
|
||||
[ __NR_sendmsg ] = (syscall_handler_t *) sys_sendmsg, \
|
||||
[ __NR_bind ] = (syscall_handler_t *) sys_bind, \
|
||||
[ __NR_listen ] = (syscall_handler_t *) sys_listen, \
|
||||
[ __NR_getsockname ] = (syscall_handler_t *) sys_getsockname, \
|
||||
[ __NR_getpeername ] = (syscall_handler_t *) sys_getpeername, \
|
||||
[ __NR_socketpair ] = (syscall_handler_t *) sys_socketpair, \
|
||||
[ __NR_sendto ] = (syscall_handler_t *) sys_sendto, \
|
||||
[ __NR_shutdown ] = (syscall_handler_t *) sys_shutdown, \
|
||||
[ __NR_setsockopt ] = (syscall_handler_t *) sys_setsockopt, \
|
||||
[ __NR_getsockopt ] = (syscall_handler_t *) sys_getsockopt, \
|
||||
[ __NR_iopl ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_set_thread_area ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_get_thread_area ] = (syscall_handler_t *) sys_ni_syscall, \
|
||||
[ __NR_semtimedop ] = (syscall_handler_t *) sys_semtimedop, \
|
||||
[ 251 ] = (syscall_handler_t *) sys_ni_syscall,
|
||||
|
||||
#define LAST_ARCH_SYSCALL 251
|
||||
#define NR_syscalls 1024
|
||||
#define NR_syscalls (__NR_syscall_max + 1)
|
||||
|
||||
#endif
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur