I'm updating the syscall table for m68k...

Below is a patch that adds all syscalls that m68k is currently lacking
(compared to ia32). However, I'm wondering whether we need all of them:
  - Are sys_sched_[gs]etaffinity() needed for non-SMP?
  - I disabled [sg]et_thread_area() since sys_[gs]et_thread_area() are
    missing. Do we have to implement them, or should we use some other
    method for Thread Local Storage?
  - What about sys_vserver()?
  - What about sys_kexec_load()?
  - Any others we can/should drop?

I'm CCing uclinux-dev since I'd like to bring the syscalls for m68knommu in
sync with m68k afterwards.

NOTE: This patch is _not_ to be applied yet!

Thanks for your comments!

--- linux-2.6.9-rc1/arch/m68k/kernel/entry.S    2004-05-24 11:13:22.000000000 
+0200
+++ linux-m68k-2.6.9-rc1/arch/m68k/kernel/entry.S       2004-09-10 
21:07:03.000000000 +0200
@@ -663,3 +663,51 @@ sys_call_table:
        .long sys_lremovexattr
        .long sys_fremovexattr
        .long sys_futex         /* 235 */
+       .long sys_sendfile64
+       .long sys_mincore
+       .long sys_madvise
+       .long sys_fcntl64
+       .long sys_readahead     /* 240 */
+       .long sys_sched_setaffinity
+       .long sys_sched_getaffinity
+       .long sys_ni_syscall    /* sys_set_thread_area */
+       .long sys_ni_syscall    /* 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_exit_group
+       .long sys_lookup_dcookie
+       .long sys_epoll_create
+       .long sys_epoll_ctl
+       .long sys_epoll_wait    /* 255 */
+       .long sys_remap_file_pages
+       .long sys_set_tid_address
+       .long sys_timer_create
+       .long sys_timer_settime
+       .long sys_timer_gettime /* 260 */
+       .long sys_timer_getoverrun
+       .long sys_timer_delete
+       .long sys_clock_settime
+       .long sys_clock_gettime
+       .long sys_clock_getres  /* 265 */
+       .long sys_clock_nanosleep
+       .long sys_statfs64
+       .long sys_fstatfs64
+       .long sys_tgkill
+       .long sys_utimes        /* 270 */
+       .long sys_fadvise64_64
+       .long sys_ni_syscall    /* sys_vserver */
+       .long sys_mbind
+       .long sys_get_mempolicy
+       .long sys_set_mempolicy /* 275 */
+       .long sys_mq_open
+       .long sys_mq_unlink
+       .long sys_mq_timedsend
+       .long sys_mq_timedreceive
+       .long sys_mq_notify     /* 280 */
+       .long sys_mq_getsetattr
+       .long sys_ni_syscall    /* reserved for kexec */
+
--- linux-2.6.9-rc1/include/asm-m68k/unistd.h   2004-06-16 12:50:43.000000000 
+0200
+++ linux-m68k-2.6.9-rc1/include/asm-m68k/unistd.h      2004-09-10 
21:05:06.000000000 +0200
@@ -238,8 +238,55 @@
 #define __NR_lremovexattr      233
 #define __NR_fremovexattr      234
 #define __NR_futex             235
+#define __NR_sendfile64                236
+#define __NR_mincore           237
+#define __NR_madvise           238
+#define __NR_fcntl64           239
+#define __NR_readahead         240
+#define __NR_sched_setaffinity 241 // Do we need this?
+#define __NR_sched_getaffinity 242 // Do we need this?
+#define __NR_set_thread_area   243 // We don't have sys_set_thread_area yet
+#define __NR_get_thread_area   244 // We don't have sys_get_thread_area yet
+#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                251
+#define __NR_lookup_dcookie    252
+#define __NR_epoll_create      253
+#define __NR_epoll_ctl         254
+#define __NR_epoll_wait                255
+#define __NR_remap_file_pages  256
+#define __NR_set_tid_address   257
+#define __NR_timer_create      258
+#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_statfs64          267
+#define __NR_fstatfs64         268
+#define __NR_tgkill            269
+#define __NR_utimes            270
+#define __NR_fadvise64_64      271
+#define __NR_vserver           272
+#define __NR_mbind             273
+#define __NR_get_mempolicy     274
+#define __NR_set_mempolicy     275
+#define __NR_mq_open           276
+#define __NR_mq_unlink         (__NR_mq_open+1)
+#define __NR_mq_timedsend      (__NR_mq_open+2)
+#define __NR_mq_timedreceive   (__NR_mq_open+3)
+#define __NR_mq_notify         (__NR_mq_open+4)
+#define __NR_mq_getsetattr     (__NR_mq_open+5)
+#define __NR_sys_kexec_load    282 // Do we need this?

-#define NR_syscalls            236
+#define NR_syscalls            283

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

Gr{oetje,eeting}s,

                                                Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                                            -- Linus Torvalds

Reply via email to