Commit a98faa0c authored by Russell King's avatar Russell King

[ARM] Update syscall table

Add demultiplexed socket and ipc syscalls.  Add key syscalls.

Leave the new numbers for the demultiplexed socket and ipc syscalls
commented out in asm-arm/unistd.h for the time being.
Signed-off-by: default avatarRussell King <rmk@arm.linux.org.uk>
parent 1274fcd6
/* /*
* linux/arch/arm/kernel/calls.S * linux/arch/arm/kernel/calls.S
* *
* Copyright (C) 1995-2004 Russell King * Copyright (C) 1995-2005 Russell King
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* This file is included twice in entry-common.S * This file is included twice in entry-common.S
*/ */
#ifndef NR_syscalls #ifndef NR_syscalls
#define NR_syscalls 288 #define NR_syscalls 320
#else #else
__syscall_start: __syscall_start:
...@@ -295,6 +295,37 @@ __syscall_start: ...@@ -295,6 +295,37 @@ __syscall_start:
.long sys_mq_notify .long sys_mq_notify
.long sys_mq_getsetattr .long sys_mq_getsetattr
/* 280 */ .long sys_waitid /* 280 */ .long sys_waitid
.long sys_socket
.long sys_bind
.long sys_connect
.long sys_listen
/* 285 */ .long sys_accept
.long sys_getsockname
.long sys_getpeername
.long sys_socketpair
.long sys_send
/* 290 */ .long sys_sendto
.long sys_recv
.long sys_recvfrom
.long sys_shutdown
.long sys_setsockopt
/* 295 */ .long sys_getsockopt
.long sys_sendmsg
.long sys_recvmsg
.long sys_semop
.long sys_semget
/* 300 */ .long sys_semctl
.long sys_msgsnd
.long sys_msgrcv
.long sys_msgget
.long sys_msgctl
/* 305 */ .long sys_shmat
.long sys_shmdt
.long sys_shmget
.long sys_shmctl
.long sys_add_key
/* 310 */ .long sys_request_key
.long sys_keyctl
__syscall_end: __syscall_end:
.rept NR_syscalls - (__syscall_end - __syscall_start) / 4 .rept NR_syscalls - (__syscall_end - __syscall_start) / 4
......
...@@ -230,6 +230,18 @@ asmlinkage int sys_ipc(uint call, int first, int second, int third, ...@@ -230,6 +230,18 @@ asmlinkage int sys_ipc(uint call, int first, int second, int third,
} }
} }
asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg,
unsigned long __user *addr)
{
unsigned long ret;
long err;
err = do_shmat(shmid, shmaddr, shmflg, &ret);
if (err == 0)
err = put_user(ret, addr);
return err;
}
/* Fork a new task - this creates a new program thread. /* Fork a new task - this creates a new program thread.
* This is called indirectly via a small wrapper * This is called indirectly via a small wrapper
*/ */
......
/* /*
* linux/include/asm-arm/unistd.h * linux/include/asm-arm/unistd.h
* *
* Copyright (C) 2001-2003 Russell King * Copyright (C) 2001-2005 Russell King
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
...@@ -307,6 +307,44 @@ ...@@ -307,6 +307,44 @@
#define __NR_mq_getsetattr (__NR_SYSCALL_BASE+279) #define __NR_mq_getsetattr (__NR_SYSCALL_BASE+279)
#define __NR_waitid (__NR_SYSCALL_BASE+280) #define __NR_waitid (__NR_SYSCALL_BASE+280)
#if 0 /* reserve these for un-muxing socketcall */
#define __NR_socket (__NR_SYSCALL_BASE+281)
#define __NR_bind (__NR_SYSCALL_BASE+282)
#define __NR_connect (__NR_SYSCALL_BASE+283)
#define __NR_listen (__NR_SYSCALL_BASE+284)
#define __NR_accept (__NR_SYSCALL_BASE+285)
#define __NR_getsockname (__NR_SYSCALL_BASE+286)
#define __NR_getpeername (__NR_SYSCALL_BASE+287)
#define __NR_socketpair (__NR_SYSCALL_BASE+288)
#define __NR_send (__NR_SYSCALL_BASE+289)
#define __NR_sendto (__NR_SYSCALL_BASE+290)
#define __NR_recv (__NR_SYSCALL_BASE+291)
#define __NR_recvfrom (__NR_SYSCALL_BASE+292)
#define __NR_shutdown (__NR_SYSCALL_BASE+293)
#define __NR_setsockopt (__NR_SYSCALL_BASE+294)
#define __NR_getsockopt (__NR_SYSCALL_BASE+295)
#define __NR_sendmsg (__NR_SYSCALL_BASE+296)
#define __NR_recvmsg (__NR_SYSCALL_BASE+297)
#endif
#if 0 /* reserve these for un-muxing ipc */
#define __NR_semop (__NR_SYSCALL_BASE+298)
#define __NR_semget (__NR_SYSCALL_BASE+299)
#define __NR_semctl (__NR_SYSCALL_BASE+300)
#define __NR_msgsnd (__NR_SYSCALL_BASE+301)
#define __NR_msgrcv (__NR_SYSCALL_BASE+302)
#define __NR_msgget (__NR_SYSCALL_BASE+303)
#define __NR_msgctl (__NR_SYSCALL_BASE+304)
#define __NR_shmat (__NR_SYSCALL_BASE+305)
#define __NR_shmdt (__NR_SYSCALL_BASE+306)
#define __NR_shmget (__NR_SYSCALL_BASE+307)
#define __NR_shmctl (__NR_SYSCALL_BASE+308)
#endif
#define __NR_add_key (__NR_SYSCALL_BASE+309)
#define __NR_request_key (__NR_SYSCALL_BASE+310)
#define __NR_keyctl (__NR_SYSCALL_BASE+311)
/* /*
* The following SWIs are ARM private. * The following SWIs are ARM private.
*/ */
...@@ -335,7 +373,7 @@ ...@@ -335,7 +373,7 @@
#define __syscall_return(type, res) \ #define __syscall_return(type, res) \
do { \ do { \
if ((unsigned long)(res) >= (unsigned long)(-125)) { \ if ((unsigned long)(res) >= (unsigned long)(-129)) { \
errno = -(res); \ errno = -(res); \
res = -1; \ res = -1; \
} \ } \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment