aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/atari/atakeyb.c9
-rw-r--r--arch/m68k/atari/stdma.c2
-rw-r--r--arch/m68k/include/asm/MC68EZ328.h2
-rw-r--r--arch/m68k/include/asm/MC68VZ328.h2
-rw-r--r--arch/m68k/include/asm/atarikb.h2
-rw-r--r--arch/m68k/include/asm/bitops_mm.h87
-rw-r--r--arch/m68k/include/asm/unistd.h46
-rw-r--r--arch/m68k/kernel/Makefile_mm2
-rw-r--r--arch/m68k/kernel/entry_mm.S348
-rw-r--r--arch/m68k/kernel/syscalltable.S195
-rw-r--r--arch/m68k/kernel/vmlinux-std.lds2
-rw-r--r--arch/m68k/kernel/vmlinux-sun3.lds1
-rw-r--r--arch/m68k/mm/motorola.c2
13 files changed, 190 insertions, 510 deletions
diff --git a/arch/m68k/atari/atakeyb.c b/arch/m68k/atari/atakeyb.c
index b995513d527f..95022b04b62d 100644
--- a/arch/m68k/atari/atakeyb.c
+++ b/arch/m68k/atari/atakeyb.c
@@ -36,13 +36,10 @@
36 36
37/* Hook for MIDI serial driver */ 37/* Hook for MIDI serial driver */
38void (*atari_MIDI_interrupt_hook) (void); 38void (*atari_MIDI_interrupt_hook) (void);
39/* Hook for mouse driver */
40void (*atari_mouse_interrupt_hook) (char *);
41/* Hook for keyboard inputdev driver */ 39/* Hook for keyboard inputdev driver */
42void (*atari_input_keyboard_interrupt_hook) (unsigned char, char); 40void (*atari_input_keyboard_interrupt_hook) (unsigned char, char);
43/* Hook for mouse inputdev driver */ 41/* Hook for mouse inputdev driver */
44void (*atari_input_mouse_interrupt_hook) (char *); 42void (*atari_input_mouse_interrupt_hook) (char *);
45EXPORT_SYMBOL(atari_mouse_interrupt_hook);
46EXPORT_SYMBOL(atari_input_keyboard_interrupt_hook); 43EXPORT_SYMBOL(atari_input_keyboard_interrupt_hook);
47EXPORT_SYMBOL(atari_input_mouse_interrupt_hook); 44EXPORT_SYMBOL(atari_input_mouse_interrupt_hook);
48 45
@@ -263,8 +260,8 @@ repeat:
263 kb_state.buf[kb_state.len++] = scancode; 260 kb_state.buf[kb_state.len++] = scancode;
264 if (kb_state.len == 3) { 261 if (kb_state.len == 3) {
265 kb_state.state = KEYBOARD; 262 kb_state.state = KEYBOARD;
266 if (atari_mouse_interrupt_hook) 263 if (atari_input_mouse_interrupt_hook)
267 atari_mouse_interrupt_hook(kb_state.buf); 264 atari_input_mouse_interrupt_hook(kb_state.buf);
268 } 265 }
269 break; 266 break;
270 267
@@ -575,7 +572,7 @@ int atari_keyb_init(void)
575 kb_state.len = 0; 572 kb_state.len = 0;
576 573
577 error = request_irq(IRQ_MFP_ACIA, atari_keyboard_interrupt, 574 error = request_irq(IRQ_MFP_ACIA, atari_keyboard_interrupt,
578 IRQ_TYPE_SLOW, "keyboard/mouse/MIDI", 575 IRQ_TYPE_SLOW, "keyboard,mouse,MIDI",
579 atari_keyboard_interrupt); 576 atari_keyboard_interrupt);
580 if (error) 577 if (error)
581 return error; 578 return error;
diff --git a/arch/m68k/atari/stdma.c b/arch/m68k/atari/stdma.c
index 604329fafbb8..ddbf43ca8858 100644
--- a/arch/m68k/atari/stdma.c
+++ b/arch/m68k/atari/stdma.c
@@ -180,7 +180,7 @@ void __init stdma_init(void)
180{ 180{
181 stdma_isr = NULL; 181 stdma_isr = NULL;
182 if (request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW | IRQF_SHARED, 182 if (request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW | IRQF_SHARED,
183 "ST-DMA: floppy/ACSI/IDE/Falcon-SCSI", stdma_int)) 183 "ST-DMA floppy,ACSI,IDE,Falcon-SCSI", stdma_int))
184 pr_err("Couldn't register ST-DMA interrupt\n"); 184 pr_err("Couldn't register ST-DMA interrupt\n");
185} 185}
186 186
diff --git a/arch/m68k/include/asm/MC68EZ328.h b/arch/m68k/include/asm/MC68EZ328.h
index 69b7f9139e5e..d1bde58ab0dd 100644
--- a/arch/m68k/include/asm/MC68EZ328.h
+++ b/arch/m68k/include/asm/MC68EZ328.h
@@ -1047,7 +1047,7 @@ typedef volatile struct {
1047 1047
1048#define WATCHDOG_EN 0x0001 /* Watchdog Enabled */ 1048#define WATCHDOG_EN 0x0001 /* Watchdog Enabled */
1049#define WATCHDOG_ISEL 0x0002 /* Select the watchdog interrupt */ 1049#define WATCHDOG_ISEL 0x0002 /* Select the watchdog interrupt */
1050#define WATCHDOG_INTF 0x0080 /* Watchdog interrupt occcured */ 1050#define WATCHDOG_INTF 0x0080 /* Watchdog interrupt occurred */
1051#define WATCHDOG_CNT_MASK 0x0300 /* Watchdog Counter */ 1051#define WATCHDOG_CNT_MASK 0x0300 /* Watchdog Counter */
1052#define WATCHDOG_CNT_SHIFT 8 1052#define WATCHDOG_CNT_SHIFT 8
1053 1053
diff --git a/arch/m68k/include/asm/MC68VZ328.h b/arch/m68k/include/asm/MC68VZ328.h
index 2b9bf626a0a5..6bd1bf1f85ea 100644
--- a/arch/m68k/include/asm/MC68VZ328.h
+++ b/arch/m68k/include/asm/MC68VZ328.h
@@ -1143,7 +1143,7 @@ typedef struct {
1143 1143
1144#define WATCHDOG_EN 0x0001 /* Watchdog Enabled */ 1144#define WATCHDOG_EN 0x0001 /* Watchdog Enabled */
1145#define WATCHDOG_ISEL 0x0002 /* Select the watchdog interrupt */ 1145#define WATCHDOG_ISEL 0x0002 /* Select the watchdog interrupt */
1146#define WATCHDOG_INTF 0x0080 /* Watchdog interrupt occcured */ 1146#define WATCHDOG_INTF 0x0080 /* Watchdog interrupt occurred */
1147#define WATCHDOG_CNT_MASK 0x0300 /* Watchdog Counter */ 1147#define WATCHDOG_CNT_MASK 0x0300 /* Watchdog Counter */
1148#define WATCHDOG_CNT_SHIFT 8 1148#define WATCHDOG_CNT_SHIFT 8
1149 1149
diff --git a/arch/m68k/include/asm/atarikb.h b/arch/m68k/include/asm/atarikb.h
index 546e7da5804f..68f3622bf591 100644
--- a/arch/m68k/include/asm/atarikb.h
+++ b/arch/m68k/include/asm/atarikb.h
@@ -34,8 +34,6 @@ void ikbd_joystick_disable(void);
34 34
35/* Hook for MIDI serial driver */ 35/* Hook for MIDI serial driver */
36extern void (*atari_MIDI_interrupt_hook) (void); 36extern void (*atari_MIDI_interrupt_hook) (void);
37/* Hook for mouse driver */
38extern void (*atari_mouse_interrupt_hook) (char *);
39/* Hook for keyboard inputdev driver */ 37/* Hook for keyboard inputdev driver */
40extern void (*atari_input_keyboard_interrupt_hook) (unsigned char, char); 38extern void (*atari_input_keyboard_interrupt_hook) (unsigned char, char);
41/* Hook for mouse inputdev driver */ 39/* Hook for mouse inputdev driver */
diff --git a/arch/m68k/include/asm/bitops_mm.h b/arch/m68k/include/asm/bitops_mm.h
index 9d69f6e62365..e9020f88a748 100644
--- a/arch/m68k/include/asm/bitops_mm.h
+++ b/arch/m68k/include/asm/bitops_mm.h
@@ -181,14 +181,15 @@ static inline int find_first_zero_bit(const unsigned long *vaddr,
181{ 181{
182 const unsigned long *p = vaddr; 182 const unsigned long *p = vaddr;
183 int res = 32; 183 int res = 32;
184 unsigned int words;
184 unsigned long num; 185 unsigned long num;
185 186
186 if (!size) 187 if (!size)
187 return 0; 188 return 0;
188 189
189 size = (size + 31) >> 5; 190 words = (size + 31) >> 5;
190 while (!(num = ~*p++)) { 191 while (!(num = ~*p++)) {
191 if (!--size) 192 if (!--words)
192 goto out; 193 goto out;
193 } 194 }
194 195
@@ -196,7 +197,8 @@ static inline int find_first_zero_bit(const unsigned long *vaddr,
196 : "=d" (res) : "d" (num & -num)); 197 : "=d" (res) : "d" (num & -num));
197 res ^= 31; 198 res ^= 31;
198out: 199out:
199 return ((long)p - (long)vaddr - 4) * 8 + res; 200 res += ((long)p - (long)vaddr - 4) * 8;
201 return res < size ? res : size;
200} 202}
201 203
202static inline int find_next_zero_bit(const unsigned long *vaddr, int size, 204static inline int find_next_zero_bit(const unsigned long *vaddr, int size,
@@ -215,27 +217,32 @@ static inline int find_next_zero_bit(const unsigned long *vaddr, int size,
215 /* Look for zero in first longword */ 217 /* Look for zero in first longword */
216 __asm__ __volatile__ ("bfffo %1{#0,#0},%0" 218 __asm__ __volatile__ ("bfffo %1{#0,#0},%0"
217 : "=d" (res) : "d" (num & -num)); 219 : "=d" (res) : "d" (num & -num));
218 if (res < 32) 220 if (res < 32) {
219 return offset + (res ^ 31); 221 offset += res ^ 31;
222 return offset < size ? offset : size;
223 }
220 offset += 32; 224 offset += 32;
225
226 if (offset >= size)
227 return size;
221 } 228 }
222 /* No zero yet, search remaining full bytes for a zero */ 229 /* No zero yet, search remaining full bytes for a zero */
223 res = find_first_zero_bit(p, size - ((long)p - (long)vaddr) * 8); 230 return offset + find_first_zero_bit(p, size - offset);
224 return offset + res;
225} 231}
226 232
227static inline int find_first_bit(const unsigned long *vaddr, unsigned size) 233static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
228{ 234{
229 const unsigned long *p = vaddr; 235 const unsigned long *p = vaddr;
230 int res = 32; 236 int res = 32;
237 unsigned int words;
231 unsigned long num; 238 unsigned long num;
232 239
233 if (!size) 240 if (!size)
234 return 0; 241 return 0;
235 242
236 size = (size + 31) >> 5; 243 words = (size + 31) >> 5;
237 while (!(num = *p++)) { 244 while (!(num = *p++)) {
238 if (!--size) 245 if (!--words)
239 goto out; 246 goto out;
240 } 247 }
241 248
@@ -243,7 +250,8 @@ static inline int find_first_bit(const unsigned long *vaddr, unsigned size)
243 : "=d" (res) : "d" (num & -num)); 250 : "=d" (res) : "d" (num & -num));
244 res ^= 31; 251 res ^= 31;
245out: 252out:
246 return ((long)p - (long)vaddr - 4) * 8 + res; 253 res += ((long)p - (long)vaddr - 4) * 8;
254 return res < size ? res : size;
247} 255}
248 256
249static inline int find_next_bit(const unsigned long *vaddr, int size, 257static inline int find_next_bit(const unsigned long *vaddr, int size,
@@ -262,13 +270,17 @@ static inline int find_next_bit(const unsigned long *vaddr, int size,
262 /* Look for one in first longword */ 270 /* Look for one in first longword */
263 __asm__ __volatile__ ("bfffo %1{#0,#0},%0" 271 __asm__ __volatile__ ("bfffo %1{#0,#0},%0"
264 : "=d" (res) : "d" (num & -num)); 272 : "=d" (res) : "d" (num & -num));
265 if (res < 32) 273 if (res < 32) {
266 return offset + (res ^ 31); 274 offset += res ^ 31;
275 return offset < size ? offset : size;
276 }
267 offset += 32; 277 offset += 32;
278
279 if (offset >= size)
280 return size;
268 } 281 }
269 /* No one yet, search remaining full bytes for a one */ 282 /* No one yet, search remaining full bytes for a one */
270 res = find_first_bit(p, size - ((long)p - (long)vaddr) * 8); 283 return offset + find_first_bit(p, size - offset);
271 return offset + res;
272} 284}
273 285
274/* 286/*
@@ -366,23 +378,25 @@ static inline int test_bit_le(int nr, const void *vaddr)
366static inline int find_first_zero_bit_le(const void *vaddr, unsigned size) 378static inline int find_first_zero_bit_le(const void *vaddr, unsigned size)
367{ 379{
368 const unsigned long *p = vaddr, *addr = vaddr; 380 const unsigned long *p = vaddr, *addr = vaddr;
369 int res; 381 int res = 0;
382 unsigned int words;
370 383
371 if (!size) 384 if (!size)
372 return 0; 385 return 0;
373 386
374 size = (size >> 5) + ((size & 31) > 0); 387 words = (size >> 5) + ((size & 31) > 0);
375 while (*p++ == ~0UL) 388 while (*p++ == ~0UL) {
376 { 389 if (--words == 0)
377 if (--size == 0) 390 goto out;
378 return (p - addr) << 5;
379 } 391 }
380 392
381 --p; 393 --p;
382 for (res = 0; res < 32; res++) 394 for (res = 0; res < 32; res++)
383 if (!test_bit_le(res, p)) 395 if (!test_bit_le(res, p))
384 break; 396 break;
385 return (p - addr) * 32 + res; 397out:
398 res += (p - addr) * 32;
399 return res < size ? res : size;
386} 400}
387 401
388static inline unsigned long find_next_zero_bit_le(const void *addr, 402static inline unsigned long find_next_zero_bit_le(const void *addr,
@@ -400,10 +414,15 @@ static inline unsigned long find_next_zero_bit_le(const void *addr,
400 offset -= bit; 414 offset -= bit;
401 /* Look for zero in first longword */ 415 /* Look for zero in first longword */
402 for (res = bit; res < 32; res++) 416 for (res = bit; res < 32; res++)
403 if (!test_bit_le(res, p)) 417 if (!test_bit_le(res, p)) {
404 return offset + res; 418 offset += res;
419 return offset < size ? offset : size;
420 }
405 p++; 421 p++;
406 offset += 32; 422 offset += 32;
423
424 if (offset >= size)
425 return size;
407 } 426 }
408 /* No zero yet, search remaining full bytes for a zero */ 427 /* No zero yet, search remaining full bytes for a zero */
409 return offset + find_first_zero_bit_le(p, size - offset); 428 return offset + find_first_zero_bit_le(p, size - offset);
@@ -412,22 +431,25 @@ static inline unsigned long find_next_zero_bit_le(const void *addr,
412static inline int find_first_bit_le(const void *vaddr, unsigned size) 431static inline int find_first_bit_le(const void *vaddr, unsigned size)
413{ 432{
414 const unsigned long *p = vaddr, *addr = vaddr; 433 const unsigned long *p = vaddr, *addr = vaddr;
415 int res; 434 int res = 0;
435 unsigned int words;
416 436
417 if (!size) 437 if (!size)
418 return 0; 438 return 0;
419 439
420 size = (size >> 5) + ((size & 31) > 0); 440 words = (size >> 5) + ((size & 31) > 0);
421 while (*p++ == 0UL) { 441 while (*p++ == 0UL) {
422 if (--size == 0) 442 if (--words == 0)
423 return (p - addr) << 5; 443 goto out;
424 } 444 }
425 445
426 --p; 446 --p;
427 for (res = 0; res < 32; res++) 447 for (res = 0; res < 32; res++)
428 if (test_bit_le(res, p)) 448 if (test_bit_le(res, p))
429 break; 449 break;
430 return (p - addr) * 32 + res; 450out:
451 res += (p - addr) * 32;
452 return res < size ? res : size;
431} 453}
432 454
433static inline unsigned long find_next_bit_le(const void *addr, 455static inline unsigned long find_next_bit_le(const void *addr,
@@ -445,10 +467,15 @@ static inline unsigned long find_next_bit_le(const void *addr,
445 offset -= bit; 467 offset -= bit;
446 /* Look for one in first longword */ 468 /* Look for one in first longword */
447 for (res = bit; res < 32; res++) 469 for (res = bit; res < 32; res++)
448 if (test_bit_le(res, p)) 470 if (test_bit_le(res, p)) {
449 return offset + res; 471 offset += res;
472 return offset < size ? offset : size;
473 }
450 p++; 474 p++;
451 offset += 32; 475 offset += 32;
476
477 if (offset >= size)
478 return size;
452 } 479 }
453 /* No set bit yet, search remaining full bytes for a set bit */ 480 /* No set bit yet, search remaining full bytes for a set bit */
454 return offset + find_first_bit_le(p, size - offset); 481 return offset + find_first_bit_le(p, size - offset);
diff --git a/arch/m68k/include/asm/unistd.h b/arch/m68k/include/asm/unistd.h
index 29e17907d9f2..f3b649de2a1b 100644
--- a/arch/m68k/include/asm/unistd.h
+++ b/arch/m68k/include/asm/unistd.h
@@ -22,7 +22,7 @@
22#define __NR_mknod 14 22#define __NR_mknod 14
23#define __NR_chmod 15 23#define __NR_chmod 15
24#define __NR_chown 16 24#define __NR_chown 16
25#define __NR_break 17 25/*#define __NR_break 17*/
26#define __NR_oldstat 18 26#define __NR_oldstat 18
27#define __NR_lseek 19 27#define __NR_lseek 19
28#define __NR_getpid 20 28#define __NR_getpid 20
@@ -36,11 +36,11 @@
36#define __NR_oldfstat 28 36#define __NR_oldfstat 28
37#define __NR_pause 29 37#define __NR_pause 29
38#define __NR_utime 30 38#define __NR_utime 30
39#define __NR_stty 31 39/*#define __NR_stty 31*/
40#define __NR_gtty 32 40/*#define __NR_gtty 32*/
41#define __NR_access 33 41#define __NR_access 33
42#define __NR_nice 34 42#define __NR_nice 34
43#define __NR_ftime 35 43/*#define __NR_ftime 35*/
44#define __NR_sync 36 44#define __NR_sync 36
45#define __NR_kill 37 45#define __NR_kill 37
46#define __NR_rename 38 46#define __NR_rename 38
@@ -49,7 +49,7 @@
49#define __NR_dup 41 49#define __NR_dup 41
50#define __NR_pipe 42 50#define __NR_pipe 42
51#define __NR_times 43 51#define __NR_times 43
52#define __NR_prof 44 52/*#define __NR_prof 44*/
53#define __NR_brk 45 53#define __NR_brk 45
54#define __NR_setgid 46 54#define __NR_setgid 46
55#define __NR_getgid 47 55#define __NR_getgid 47
@@ -58,13 +58,13 @@
58#define __NR_getegid 50 58#define __NR_getegid 50
59#define __NR_acct 51 59#define __NR_acct 51
60#define __NR_umount2 52 60#define __NR_umount2 52
61#define __NR_lock 53 61/*#define __NR_lock 53*/
62#define __NR_ioctl 54 62#define __NR_ioctl 54
63#define __NR_fcntl 55 63#define __NR_fcntl 55
64#define __NR_mpx 56 64/*#define __NR_mpx 56*/
65#define __NR_setpgid 57 65#define __NR_setpgid 57
66#define __NR_ulimit 58 66/*#define __NR_ulimit 58*/
67#define __NR_oldolduname 59 67/*#define __NR_oldolduname 59*/
68#define __NR_umask 60 68#define __NR_umask 60
69#define __NR_chroot 61 69#define __NR_chroot 61
70#define __NR_ustat 62 70#define __NR_ustat 62
@@ -103,10 +103,10 @@
103#define __NR_fchown 95 103#define __NR_fchown 95
104#define __NR_getpriority 96 104#define __NR_getpriority 96
105#define __NR_setpriority 97 105#define __NR_setpriority 97
106#define __NR_profil 98 106/*#define __NR_profil 98*/
107#define __NR_statfs 99 107#define __NR_statfs 99
108#define __NR_fstatfs 100 108#define __NR_fstatfs 100
109#define __NR_ioperm 101 109/*#define __NR_ioperm 101*/
110#define __NR_socketcall 102 110#define __NR_socketcall 102
111#define __NR_syslog 103 111#define __NR_syslog 103
112#define __NR_setitimer 104 112#define __NR_setitimer 104
@@ -114,11 +114,11 @@
114#define __NR_stat 106 114#define __NR_stat 106
115#define __NR_lstat 107 115#define __NR_lstat 107
116#define __NR_fstat 108 116#define __NR_fstat 108
117#define __NR_olduname 109 117/*#define __NR_olduname 109*/
118#define __NR_iopl /* 110 */ not supported 118/*#define __NR_iopl 110*/ /* not supported */
119#define __NR_vhangup 111 119#define __NR_vhangup 111
120#define __NR_idle /* 112 */ Obsolete 120/*#define __NR_idle 112*/ /* Obsolete */
121#define __NR_vm86 /* 113 */ not supported 121/*#define __NR_vm86 113*/ /* not supported */
122#define __NR_wait4 114 122#define __NR_wait4 114
123#define __NR_swapoff 115 123#define __NR_swapoff 115
124#define __NR_sysinfo 116 124#define __NR_sysinfo 116
@@ -132,17 +132,17 @@
132#define __NR_adjtimex 124 132#define __NR_adjtimex 124
133#define __NR_mprotect 125 133#define __NR_mprotect 125
134#define __NR_sigprocmask 126 134#define __NR_sigprocmask 126
135#define __NR_create_module 127 135/*#define __NR_create_module 127*/
136#define __NR_init_module 128 136#define __NR_init_module 128
137#define __NR_delete_module 129 137#define __NR_delete_module 129
138#define __NR_get_kernel_syms 130 138/*#define __NR_get_kernel_syms 130*/
139#define __NR_quotactl 131 139#define __NR_quotactl 131
140#define __NR_getpgid 132 140#define __NR_getpgid 132
141#define __NR_fchdir 133 141#define __NR_fchdir 133
142#define __NR_bdflush 134 142#define __NR_bdflush 134
143#define __NR_sysfs 135 143#define __NR_sysfs 135
144#define __NR_personality 136 144#define __NR_personality 136
145#define __NR_afs_syscall 137 /* Syscall for Andrew File System */ 145/*#define __NR_afs_syscall 137*/ /* Syscall for Andrew File System */
146#define __NR_setfsuid 138 146#define __NR_setfsuid 138
147#define __NR_setfsgid 139 147#define __NR_setfsgid 139
148#define __NR__llseek 140 148#define __NR__llseek 140
@@ -172,7 +172,7 @@
172#define __NR_setresuid 164 172#define __NR_setresuid 164
173#define __NR_getresuid 165 173#define __NR_getresuid 165
174#define __NR_getpagesize 166 174#define __NR_getpagesize 166
175#define __NR_query_module 167 175/*#define __NR_query_module 167*/
176#define __NR_poll 168 176#define __NR_poll 168
177#define __NR_nfsservctl 169 177#define __NR_nfsservctl 169
178#define __NR_setresgid 170 178#define __NR_setresgid 170
@@ -193,8 +193,8 @@
193#define __NR_capset 185 193#define __NR_capset 185
194#define __NR_sigaltstack 186 194#define __NR_sigaltstack 186
195#define __NR_sendfile 187 195#define __NR_sendfile 187
196#define __NR_getpmsg 188 /* some people actually want streams */ 196/*#define __NR_getpmsg 188*/ /* some people actually want streams */
197#define __NR_putpmsg 189 /* some people actually want streams */ 197/*#define __NR_putpmsg 189*/ /* some people actually want streams */
198#define __NR_vfork 190 198#define __NR_vfork 190
199#define __NR_ugetrlimit 191 199#define __NR_ugetrlimit 191
200#define __NR_mmap2 192 200#define __NR_mmap2 192
@@ -223,6 +223,8 @@
223#define __NR_setfsuid32 215 223#define __NR_setfsuid32 215
224#define __NR_setfsgid32 216 224#define __NR_setfsgid32 216
225#define __NR_pivot_root 217 225#define __NR_pivot_root 217
226/* 218*/
227/* 219*/
226#define __NR_getdents64 220 228#define __NR_getdents64 220
227#define __NR_gettid 221 229#define __NR_gettid 221
228#define __NR_tkill 222 230#define __NR_tkill 222
@@ -281,7 +283,7 @@
281#define __NR_mq_notify 275 283#define __NR_mq_notify 275
282#define __NR_mq_getsetattr 276 284#define __NR_mq_getsetattr 276
283#define __NR_waitid 277 285#define __NR_waitid 277
284#define __NR_vserver 278 286/*#define __NR_vserver 278*/
285#define __NR_add_key 279 287#define __NR_add_key 279
286#define __NR_request_key 280 288#define __NR_request_key 280
287#define __NR_keyctl 281 289#define __NR_keyctl 281
diff --git a/arch/m68k/kernel/Makefile_mm b/arch/m68k/kernel/Makefile_mm
index 55d5d6b680a2..aced67804579 100644
--- a/arch/m68k/kernel/Makefile_mm
+++ b/arch/m68k/kernel/Makefile_mm
@@ -10,7 +10,7 @@ endif
10extra-y += vmlinux.lds 10extra-y += vmlinux.lds
11 11
12obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o module.o \ 12obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o module.o \
13 sys_m68k.o time.o setup.o m68k_ksyms.o devres.o 13 sys_m68k.o time.o setup.o m68k_ksyms.o devres.o syscalltable.o
14 14
15devres-y = ../../../kernel/irq/devres.o 15devres-y = ../../../kernel/irq/devres.o
16 16
diff --git a/arch/m68k/kernel/entry_mm.S b/arch/m68k/kernel/entry_mm.S
index 1359ee659574..bd0ec05263b2 100644
--- a/arch/m68k/kernel/entry_mm.S
+++ b/arch/m68k/kernel/entry_mm.S
@@ -407,351 +407,3 @@ resume:
407 407
408 rts 408 rts
409 409
410.data
411ALIGN
412sys_call_table:
413 .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
414 .long sys_exit
415 .long sys_fork
416 .long sys_read
417 .long sys_write
418 .long sys_open /* 5 */
419 .long sys_close
420 .long sys_waitpid
421 .long sys_creat
422 .long sys_link
423 .long sys_unlink /* 10 */
424 .long sys_execve
425 .long sys_chdir
426 .long sys_time
427 .long sys_mknod
428 .long sys_chmod /* 15 */
429 .long sys_chown16
430 .long sys_ni_syscall /* old break syscall holder */
431 .long sys_stat
432 .long sys_lseek
433 .long sys_getpid /* 20 */
434 .long sys_mount
435 .long sys_oldumount
436 .long sys_setuid16
437 .long sys_getuid16
438 .long sys_stime /* 25 */
439 .long sys_ptrace
440 .long sys_alarm
441 .long sys_fstat
442 .long sys_pause
443 .long sys_utime /* 30 */
444 .long sys_ni_syscall /* old stty syscall holder */
445 .long sys_ni_syscall /* old gtty syscall holder */
446 .long sys_access
447 .long sys_nice
448 .long sys_ni_syscall /* 35 */ /* old ftime syscall holder */
449 .long sys_sync
450 .long sys_kill
451 .long sys_rename
452 .long sys_mkdir
453 .long sys_rmdir /* 40 */
454 .long sys_dup
455 .long sys_pipe
456 .long sys_times
457 .long sys_ni_syscall /* old prof syscall holder */
458 .long sys_brk /* 45 */
459 .long sys_setgid16
460 .long sys_getgid16
461 .long sys_signal
462 .long sys_geteuid16
463 .long sys_getegid16 /* 50 */
464 .long sys_acct
465 .long sys_umount /* recycled never used phys() */
466 .long sys_ni_syscall /* old lock syscall holder */
467 .long sys_ioctl
468 .long sys_fcntl /* 55 */
469 .long sys_ni_syscall /* old mpx syscall holder */
470 .long sys_setpgid
471 .long sys_ni_syscall /* old ulimit syscall holder */
472 .long sys_ni_syscall
473 .long sys_umask /* 60 */
474 .long sys_chroot
475 .long sys_ustat
476 .long sys_dup2
477 .long sys_getppid
478 .long sys_getpgrp /* 65 */
479 .long sys_setsid
480 .long sys_sigaction
481 .long sys_sgetmask
482 .long sys_ssetmask
483 .long sys_setreuid16 /* 70 */
484 .long sys_setregid16
485 .long sys_sigsuspend
486 .long sys_sigpending
487 .long sys_sethostname
488 .long sys_setrlimit /* 75 */
489 .long sys_old_getrlimit
490 .long sys_getrusage
491 .long sys_gettimeofday
492 .long sys_settimeofday
493 .long sys_getgroups16 /* 80 */
494 .long sys_setgroups16
495 .long sys_old_select
496 .long sys_symlink
497 .long sys_lstat
498 .long sys_readlink /* 85 */
499 .long sys_uselib
500 .long sys_swapon
501 .long sys_reboot
502 .long sys_old_readdir
503 .long sys_old_mmap /* 90 */
504 .long sys_munmap
505 .long sys_truncate
506 .long sys_ftruncate
507 .long sys_fchmod
508 .long sys_fchown16 /* 95 */
509 .long sys_getpriority
510 .long sys_setpriority
511 .long sys_ni_syscall /* old profil syscall holder */
512 .long sys_statfs
513 .long sys_fstatfs /* 100 */
514 .long sys_ni_syscall /* ioperm for i386 */
515 .long sys_socketcall
516 .long sys_syslog
517 .long sys_setitimer
518 .long sys_getitimer /* 105 */
519 .long sys_newstat
520 .long sys_newlstat
521 .long sys_newfstat
522 .long sys_ni_syscall
523 .long sys_ni_syscall /* 110 */ /* iopl for i386 */
524 .long sys_vhangup
525 .long sys_ni_syscall /* obsolete idle() syscall */
526 .long sys_ni_syscall /* vm86old for i386 */
527 .long sys_wait4
528 .long sys_swapoff /* 115 */
529 .long sys_sysinfo
530 .long sys_ipc
531 .long sys_fsync
532 .long sys_sigreturn
533 .long sys_clone /* 120 */
534 .long sys_setdomainname
535 .long sys_newuname
536 .long sys_cacheflush /* modify_ldt for i386 */
537 .long sys_adjtimex
538 .long sys_mprotect /* 125 */
539 .long sys_sigprocmask
540 .long sys_ni_syscall /* old "create_module" */
541 .long sys_init_module
542 .long sys_delete_module
543 .long sys_ni_syscall /* 130 - old "get_kernel_syms" */
544 .long sys_quotactl
545 .long sys_getpgid
546 .long sys_fchdir
547 .long sys_bdflush
548 .long sys_sysfs /* 135 */
549 .long sys_personality
550 .long sys_ni_syscall /* for afs_syscall */
551 .long sys_setfsuid16
552 .long sys_setfsgid16
553 .long sys_llseek /* 140 */
554 .long sys_getdents
555 .long sys_select
556 .long sys_flock
557 .long sys_msync
558 .long sys_readv /* 145 */
559 .long sys_writev
560 .long sys_getsid
561 .long sys_fdatasync
562 .long sys_sysctl
563 .long sys_mlock /* 150 */
564 .long sys_munlock
565 .long sys_mlockall
566 .long sys_munlockall
567 .long sys_sched_setparam
568 .long sys_sched_getparam /* 155 */
569 .long sys_sched_setscheduler
570 .long sys_sched_getscheduler
571 .long sys_sched_yield
572 .long sys_sched_get_priority_max
573 .long sys_sched_get_priority_min /* 160 */
574 .long sys_sched_rr_get_interval
575 .long sys_nanosleep
576 .long sys_mremap
577 .long sys_setresuid16
578 .long sys_getresuid16 /* 165 */
579 .long sys_getpagesize
580 .long sys_ni_syscall /* old sys_query_module */
581 .long sys_poll
582 .long sys_nfsservctl
583 .long sys_setresgid16 /* 170 */
584 .long sys_getresgid16
585 .long sys_prctl
586 .long sys_rt_sigreturn
587 .long sys_rt_sigaction
588 .long sys_rt_sigprocmask /* 175 */
589 .long sys_rt_sigpending
590 .long sys_rt_sigtimedwait
591 .long sys_rt_sigqueueinfo
592 .long sys_rt_sigsuspend
593 .long sys_pread64 /* 180 */
594 .long sys_pwrite64
595 .long sys_lchown16;
596 .long sys_getcwd
597 .long sys_capget
598 .long sys_capset /* 185 */
599 .long sys_sigaltstack
600 .long sys_sendfile
601 .long sys_ni_syscall /* streams1 */
602 .long sys_ni_syscall /* streams2 */
603 .long sys_vfork /* 190 */
604 .long sys_getrlimit
605 .long sys_mmap2
606 .long sys_truncate64
607 .long sys_ftruncate64
608 .long sys_stat64 /* 195 */
609 .long sys_lstat64
610 .long sys_fstat64
611 .long sys_chown
612 .long sys_getuid
613 .long sys_getgid /* 200 */
614 .long sys_geteuid
615 .long sys_getegid
616 .long sys_setreuid
617 .long sys_setregid
618 .long sys_getgroups /* 205 */
619 .long sys_setgroups
620 .long sys_fchown
621 .long sys_setresuid
622 .long sys_getresuid
623 .long sys_setresgid /* 210 */
624 .long sys_getresgid
625 .long sys_lchown
626 .long sys_setuid
627 .long sys_setgid
628 .long sys_setfsuid /* 215 */
629 .long sys_setfsgid
630 .long sys_pivot_root
631 .long sys_ni_syscall
632 .long sys_ni_syscall
633 .long sys_getdents64 /* 220 */
634 .long sys_gettid
635 .long sys_tkill
636 .long sys_setxattr
637 .long sys_lsetxattr
638 .long sys_fsetxattr /* 225 */
639 .long sys_getxattr
640 .long sys_lgetxattr
641 .long sys_fgetxattr
642 .long sys_listxattr
643 .long sys_llistxattr /* 230 */
644 .long sys_flistxattr
645 .long sys_removexattr
646 .long sys_lremovexattr
647 .long sys_fremovexattr
648 .long sys_futex /* 235 */
649 .long sys_sendfile64
650 .long sys_mincore
651 .long sys_madvise
652 .long sys_fcntl64
653 .long sys_readahead /* 240 */
654 .long sys_io_setup
655 .long sys_io_destroy
656 .long sys_io_getevents
657 .long sys_io_submit
658 .long sys_io_cancel /* 245 */
659 .long sys_fadvise64
660 .long sys_exit_group
661 .long sys_lookup_dcookie
662 .long sys_epoll_create
663 .long sys_epoll_ctl /* 250 */
664 .long sys_epoll_wait
665 .long sys_remap_file_pages
666 .long sys_set_tid_address
667 .long sys_timer_create
668 .long sys_timer_settime /* 255 */
669 .long sys_timer_gettime
670 .long sys_timer_getoverrun
671 .long sys_timer_delete
672 .long sys_clock_settime
673 .long sys_clock_gettime /* 260 */
674 .long sys_clock_getres
675 .long sys_clock_nanosleep
676 .long sys_statfs64
677 .long sys_fstatfs64
678 .long sys_tgkill /* 265 */
679 .long sys_utimes
680 .long sys_fadvise64_64
681 .long sys_mbind
682 .long sys_get_mempolicy
683 .long sys_set_mempolicy /* 270 */
684 .long sys_mq_open
685 .long sys_mq_unlink
686 .long sys_mq_timedsend
687 .long sys_mq_timedreceive
688 .long sys_mq_notify /* 275 */
689 .long sys_mq_getsetattr
690 .long sys_waitid
691 .long sys_ni_syscall /* for sys_vserver */
692 .long sys_add_key
693 .long sys_request_key /* 280 */
694 .long sys_keyctl
695 .long sys_ioprio_set
696 .long sys_ioprio_get
697 .long sys_inotify_init
698 .long sys_inotify_add_watch /* 285 */
699 .long sys_inotify_rm_watch
700 .long sys_migrate_pages
701 .long sys_openat
702 .long sys_mkdirat
703 .long sys_mknodat /* 290 */
704 .long sys_fchownat
705 .long sys_futimesat
706 .long sys_fstatat64
707 .long sys_unlinkat
708 .long sys_renameat /* 295 */
709 .long sys_linkat
710 .long sys_symlinkat
711 .long sys_readlinkat
712 .long sys_fchmodat
713 .long sys_faccessat /* 300 */
714 .long sys_ni_syscall /* Reserved for pselect6 */
715 .long sys_ni_syscall /* Reserved for ppoll */
716 .long sys_unshare
717 .long sys_set_robust_list
718 .long sys_get_robust_list /* 305 */
719 .long sys_splice
720 .long sys_sync_file_range
721 .long sys_tee
722 .long sys_vmsplice
723 .long sys_move_pages /* 310 */
724 .long sys_sched_setaffinity
725 .long sys_sched_getaffinity
726 .long sys_kexec_load
727 .long sys_getcpu
728 .long sys_epoll_pwait /* 315 */
729 .long sys_utimensat
730 .long sys_signalfd
731 .long sys_timerfd_create
732 .long sys_eventfd
733 .long sys_fallocate /* 320 */
734 .long sys_timerfd_settime
735 .long sys_timerfd_gettime
736 .long sys_signalfd4
737 .long sys_eventfd2
738 .long sys_epoll_create1 /* 325 */
739 .long sys_dup3
740 .long sys_pipe2
741 .long sys_inotify_init1
742 .long sys_preadv
743 .long sys_pwritev /* 330 */
744 .long sys_rt_tgsigqueueinfo
745 .long sys_perf_event_open
746 .long sys_get_thread_area
747 .long sys_set_thread_area
748 .long sys_atomic_cmpxchg_32 /* 335 */
749 .long sys_atomic_barrier
750 .long sys_fanotify_init
751 .long sys_fanotify_mark
752 .long sys_prlimit64
753 .long sys_name_to_handle_at /* 340 */
754 .long sys_open_by_handle_at
755 .long sys_clock_adjtime
756 .long sys_syncfs
757
diff --git a/arch/m68k/kernel/syscalltable.S b/arch/m68k/kernel/syscalltable.S
index 9b8393d8adb8..5909e392cb1e 100644
--- a/arch/m68k/kernel/syscalltable.S
+++ b/arch/m68k/kernel/syscalltable.S
@@ -1,6 +1,4 @@
1/* 1/*
2 * linux/arch/m68knommu/kernel/syscalltable.S
3 *
4 * Copyright (C) 2002, Greg Ungerer (gerg@snapgear.com) 2 * Copyright (C) 2002, Greg Ungerer (gerg@snapgear.com)
5 * 3 *
6 * Based on older entry.S files, the following copyrights apply: 4 * Based on older entry.S files, the following copyrights apply:
@@ -9,171 +7,176 @@
9 * Kenneth Albanowski <kjahds@kjahds.com>, 7 * Kenneth Albanowski <kjahds@kjahds.com>,
10 * Copyright (C) 2000 Lineo Inc. (www.lineo.com) 8 * Copyright (C) 2000 Lineo Inc. (www.lineo.com)
11 * Copyright (C) 1991, 1992 Linus Torvalds 9 * Copyright (C) 1991, 1992 Linus Torvalds
10 *
11 * Linux/m68k support by Hamish Macdonald
12 */ 12 */
13 13
14#include <linux/sys.h> 14#include <linux/sys.h>
15#include <linux/linkage.h> 15#include <linux/linkage.h>
16#include <asm/unistd.h>
17 16
18.text 17#ifndef CONFIG_MMU
18#define sys_mmap2 sys_mmap_pgoff
19#endif
20
21.section .rodata
19ALIGN 22ALIGN
20ENTRY(sys_call_table) 23ENTRY(sys_call_table)
21 .long sys_restart_syscall /* 0 - old "setup()" system call */ 24 .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
22 .long sys_exit 25 .long sys_exit
23 .long sys_fork 26 .long sys_fork
24 .long sys_read 27 .long sys_read
25 .long sys_write 28 .long sys_write
26 .long sys_open /* 5 */ 29 .long sys_open /* 5 */
27 .long sys_close 30 .long sys_close
28 .long sys_waitpid 31 .long sys_waitpid
29 .long sys_creat 32 .long sys_creat
30 .long sys_link 33 .long sys_link
31 .long sys_unlink /* 10 */ 34 .long sys_unlink /* 10 */
32 .long sys_execve 35 .long sys_execve
33 .long sys_chdir 36 .long sys_chdir
34 .long sys_time 37 .long sys_time
35 .long sys_mknod 38 .long sys_mknod
36 .long sys_chmod /* 15 */ 39 .long sys_chmod /* 15 */
37 .long sys_chown16 40 .long sys_chown16
38 .long sys_ni_syscall /* old break syscall holder */ 41 .long sys_ni_syscall /* old break syscall holder */
39 .long sys_stat 42 .long sys_stat
40 .long sys_lseek 43 .long sys_lseek
41 .long sys_getpid /* 20 */ 44 .long sys_getpid /* 20 */
42 .long sys_mount 45 .long sys_mount
43 .long sys_oldumount 46 .long sys_oldumount
44 .long sys_setuid16 47 .long sys_setuid16
45 .long sys_getuid16 48 .long sys_getuid16
46 .long sys_stime /* 25 */ 49 .long sys_stime /* 25 */
47 .long sys_ptrace 50 .long sys_ptrace
48 .long sys_alarm 51 .long sys_alarm
49 .long sys_fstat 52 .long sys_fstat
50 .long sys_pause 53 .long sys_pause
51 .long sys_utime /* 30 */ 54 .long sys_utime /* 30 */
52 .long sys_ni_syscall /* old stty syscall holder */ 55 .long sys_ni_syscall /* old stty syscall holder */
53 .long sys_ni_syscall /* old gtty syscall holder */ 56 .long sys_ni_syscall /* old gtty syscall holder */
54 .long sys_access 57 .long sys_access
55 .long sys_nice 58 .long sys_nice
56 .long sys_ni_syscall /* 35 */ /* old ftime syscall holder */ 59 .long sys_ni_syscall /* 35 - old ftime syscall holder */
57 .long sys_sync 60 .long sys_sync
58 .long sys_kill 61 .long sys_kill
59 .long sys_rename 62 .long sys_rename
60 .long sys_mkdir 63 .long sys_mkdir
61 .long sys_rmdir /* 40 */ 64 .long sys_rmdir /* 40 */
62 .long sys_dup 65 .long sys_dup
63 .long sys_pipe 66 .long sys_pipe
64 .long sys_times 67 .long sys_times
65 .long sys_ni_syscall /* old prof syscall holder */ 68 .long sys_ni_syscall /* old prof syscall holder */
66 .long sys_brk /* 45 */ 69 .long sys_brk /* 45 */
67 .long sys_setgid16 70 .long sys_setgid16
68 .long sys_getgid16 71 .long sys_getgid16
69 .long sys_signal 72 .long sys_signal
70 .long sys_geteuid16 73 .long sys_geteuid16
71 .long sys_getegid16 /* 50 */ 74 .long sys_getegid16 /* 50 */
72 .long sys_acct 75 .long sys_acct
73 .long sys_umount /* recycled never used phys() */ 76 .long sys_umount /* recycled never used phys() */
74 .long sys_ni_syscall /* old lock syscall holder */ 77 .long sys_ni_syscall /* old lock syscall holder */
75 .long sys_ioctl 78 .long sys_ioctl
76 .long sys_fcntl /* 55 */ 79 .long sys_fcntl /* 55 */
77 .long sys_ni_syscall /* old mpx syscall holder */ 80 .long sys_ni_syscall /* old mpx syscall holder */
78 .long sys_setpgid 81 .long sys_setpgid
79 .long sys_ni_syscall /* old ulimit syscall holder */ 82 .long sys_ni_syscall /* old ulimit syscall holder */
80 .long sys_ni_syscall 83 .long sys_ni_syscall
81 .long sys_umask /* 60 */ 84 .long sys_umask /* 60 */
82 .long sys_chroot 85 .long sys_chroot
83 .long sys_ustat 86 .long sys_ustat
84 .long sys_dup2 87 .long sys_dup2
85 .long sys_getppid 88 .long sys_getppid
86 .long sys_getpgrp /* 65 */ 89 .long sys_getpgrp /* 65 */
87 .long sys_setsid 90 .long sys_setsid
88 .long sys_sigaction 91 .long sys_sigaction
89 .long sys_sgetmask 92 .long sys_sgetmask
90 .long sys_ssetmask 93 .long sys_ssetmask
91 .long sys_setreuid16 /* 70 */ 94 .long sys_setreuid16 /* 70 */
92 .long sys_setregid16 95 .long sys_setregid16
93 .long sys_sigsuspend 96 .long sys_sigsuspend
94 .long sys_sigpending 97 .long sys_sigpending
95 .long sys_sethostname 98 .long sys_sethostname
96 .long sys_setrlimit /* 75 */ 99 .long sys_setrlimit /* 75 */
97 .long sys_old_getrlimit 100 .long sys_old_getrlimit
98 .long sys_getrusage 101 .long sys_getrusage
99 .long sys_gettimeofday 102 .long sys_gettimeofday
100 .long sys_settimeofday 103 .long sys_settimeofday
101 .long sys_getgroups16 /* 80 */ 104 .long sys_getgroups16 /* 80 */
102 .long sys_setgroups16 105 .long sys_setgroups16
103 .long sys_old_select 106 .long sys_old_select
104 .long sys_symlink 107 .long sys_symlink
105 .long sys_lstat 108 .long sys_lstat
106 .long sys_readlink /* 85 */ 109 .long sys_readlink /* 85 */
107 .long sys_uselib 110 .long sys_uselib
108 .long sys_ni_syscall /* sys_swapon */ 111 .long sys_swapon
109 .long sys_reboot 112 .long sys_reboot
110 .long sys_old_readdir 113 .long sys_old_readdir
111 .long sys_old_mmap /* 90 */ 114 .long sys_old_mmap /* 90 */
112 .long sys_munmap 115 .long sys_munmap
113 .long sys_truncate 116 .long sys_truncate
114 .long sys_ftruncate 117 .long sys_ftruncate
115 .long sys_fchmod 118 .long sys_fchmod
116 .long sys_fchown16 /* 95 */ 119 .long sys_fchown16 /* 95 */
117 .long sys_getpriority 120 .long sys_getpriority
118 .long sys_setpriority 121 .long sys_setpriority
119 .long sys_ni_syscall /* old profil syscall holder */ 122 .long sys_ni_syscall /* old profil syscall holder */
120 .long sys_statfs 123 .long sys_statfs
121 .long sys_fstatfs /* 100 */ 124 .long sys_fstatfs /* 100 */
122 .long sys_ni_syscall /* ioperm for i386 */ 125 .long sys_ni_syscall /* ioperm for i386 */
123 .long sys_socketcall 126 .long sys_socketcall
124 .long sys_syslog 127 .long sys_syslog
125 .long sys_setitimer 128 .long sys_setitimer
126 .long sys_getitimer /* 105 */ 129 .long sys_getitimer /* 105 */
127 .long sys_newstat 130 .long sys_newstat
128 .long sys_newlstat 131 .long sys_newlstat
129 .long sys_newfstat 132 .long sys_newfstat
130 .long sys_ni_syscall 133 .long sys_ni_syscall
131 .long sys_ni_syscall /* iopl for i386 */ /* 110 */ 134 .long sys_ni_syscall /* 110 - iopl for i386 */
132 .long sys_vhangup 135 .long sys_vhangup
133 .long sys_ni_syscall /* obsolete idle() syscall */ 136 .long sys_ni_syscall /* obsolete idle() syscall */
134 .long sys_ni_syscall /* vm86old for i386 */ 137 .long sys_ni_syscall /* vm86old for i386 */
135 .long sys_wait4 138 .long sys_wait4
136 .long sys_ni_syscall /* 115 */ /* sys_swapoff */ 139 .long sys_swapoff /* 115 */
137 .long sys_sysinfo 140 .long sys_sysinfo
138 .long sys_ipc 141 .long sys_ipc
139 .long sys_fsync 142 .long sys_fsync
140 .long sys_sigreturn 143 .long sys_sigreturn
141 .long sys_clone /* 120 */ 144 .long sys_clone /* 120 */
142 .long sys_setdomainname 145 .long sys_setdomainname
143 .long sys_newuname 146 .long sys_newuname
144 .long sys_cacheflush /* modify_ldt for i386 */ 147 .long sys_cacheflush /* modify_ldt for i386 */
145 .long sys_adjtimex 148 .long sys_adjtimex
146 .long sys_ni_syscall /* 125 */ /* sys_mprotect */ 149 .long sys_mprotect /* 125 */
147 .long sys_sigprocmask 150 .long sys_sigprocmask
148 .long sys_ni_syscall /* old "creat_module" */ 151 .long sys_ni_syscall /* old "create_module" */
149 .long sys_init_module 152 .long sys_init_module
150 .long sys_delete_module 153 .long sys_delete_module
151 .long sys_ni_syscall /* 130: old "get_kernel_syms" */ 154 .long sys_ni_syscall /* 130 - old "get_kernel_syms" */
152 .long sys_quotactl 155 .long sys_quotactl
153 .long sys_getpgid 156 .long sys_getpgid
154 .long sys_fchdir 157 .long sys_fchdir
155 .long sys_bdflush 158 .long sys_bdflush
156 .long sys_sysfs /* 135 */ 159 .long sys_sysfs /* 135 */
157 .long sys_personality 160 .long sys_personality
158 .long sys_ni_syscall /* for afs_syscall */ 161 .long sys_ni_syscall /* for afs_syscall */
159 .long sys_setfsuid16 162 .long sys_setfsuid16
160 .long sys_setfsgid16 163 .long sys_setfsgid16
161 .long sys_llseek /* 140 */ 164 .long sys_llseek /* 140 */
162 .long sys_getdents 165 .long sys_getdents
163 .long sys_select 166 .long sys_select
164 .long sys_flock 167 .long sys_flock
165 .long sys_ni_syscall /* sys_msync */ 168 .long sys_msync
166 .long sys_readv /* 145 */ 169 .long sys_readv /* 145 */
167 .long sys_writev 170 .long sys_writev
168 .long sys_getsid 171 .long sys_getsid
169 .long sys_fdatasync 172 .long sys_fdatasync
170 .long sys_sysctl 173 .long sys_sysctl
171 .long sys_ni_syscall /* 150 */ /* sys_mlock */ 174 .long sys_mlock /* 150 */
172 .long sys_ni_syscall /* sys_munlock */ 175 .long sys_munlock
173 .long sys_ni_syscall /* sys_mlockall */ 176 .long sys_mlockall
174 .long sys_ni_syscall /* sys_munlockall */ 177 .long sys_munlockall
175 .long sys_sched_setparam 178 .long sys_sched_setparam
176 .long sys_sched_getparam /* 155 */ 179 .long sys_sched_getparam /* 155 */
177 .long sys_sched_setscheduler 180 .long sys_sched_setscheduler
178 .long sys_sched_getscheduler 181 .long sys_sched_getscheduler
179 .long sys_sched_yield 182 .long sys_sched_yield
@@ -181,124 +184,124 @@ ENTRY(sys_call_table)
181 .long sys_sched_get_priority_min /* 160 */ 184 .long sys_sched_get_priority_min /* 160 */
182 .long sys_sched_rr_get_interval 185 .long sys_sched_rr_get_interval
183 .long sys_nanosleep 186 .long sys_nanosleep
184 .long sys_ni_syscall /* sys_mremap */ 187 .long sys_mremap
185 .long sys_setresuid16 188 .long sys_setresuid16
186 .long sys_getresuid16 /* 165 */ 189 .long sys_getresuid16 /* 165 */
187 .long sys_getpagesize /* sys_getpagesize */ 190 .long sys_getpagesize
188 .long sys_ni_syscall /* old "query_module" */ 191 .long sys_ni_syscall /* old "query_module" */
189 .long sys_poll 192 .long sys_poll
190 .long sys_ni_syscall /* sys_nfsservctl */ 193 .long sys_nfsservctl
191 .long sys_setresgid16 /* 170 */ 194 .long sys_setresgid16 /* 170 */
192 .long sys_getresgid16 195 .long sys_getresgid16
193 .long sys_prctl 196 .long sys_prctl
194 .long sys_rt_sigreturn 197 .long sys_rt_sigreturn
195 .long sys_rt_sigaction 198 .long sys_rt_sigaction
196 .long sys_rt_sigprocmask /* 175 */ 199 .long sys_rt_sigprocmask /* 175 */
197 .long sys_rt_sigpending 200 .long sys_rt_sigpending
198 .long sys_rt_sigtimedwait 201 .long sys_rt_sigtimedwait
199 .long sys_rt_sigqueueinfo 202 .long sys_rt_sigqueueinfo
200 .long sys_rt_sigsuspend 203 .long sys_rt_sigsuspend
201 .long sys_pread64 /* 180 */ 204 .long sys_pread64 /* 180 */
202 .long sys_pwrite64 205 .long sys_pwrite64
203 .long sys_lchown16 206 .long sys_lchown16
204 .long sys_getcwd 207 .long sys_getcwd
205 .long sys_capget 208 .long sys_capget
206 .long sys_capset /* 185 */ 209 .long sys_capset /* 185 */
207 .long sys_sigaltstack 210 .long sys_sigaltstack
208 .long sys_sendfile 211 .long sys_sendfile
209 .long sys_ni_syscall /* streams1 */ 212 .long sys_ni_syscall /* streams1 */
210 .long sys_ni_syscall /* streams2 */ 213 .long sys_ni_syscall /* streams2 */
211 .long sys_vfork /* 190 */ 214 .long sys_vfork /* 190 */
212 .long sys_getrlimit 215 .long sys_getrlimit
213 .long sys_mmap_pgoff 216 .long sys_mmap2
214 .long sys_truncate64 217 .long sys_truncate64
215 .long sys_ftruncate64 218 .long sys_ftruncate64
216 .long sys_stat64 /* 195 */ 219 .long sys_stat64 /* 195 */
217 .long sys_lstat64 220 .long sys_lstat64
218 .long sys_fstat64 221 .long sys_fstat64
219 .long sys_chown 222 .long sys_chown
220 .long sys_getuid 223 .long sys_getuid
221 .long sys_getgid /* 200 */ 224 .long sys_getgid /* 200 */
222 .long sys_geteuid 225 .long sys_geteuid
223 .long sys_getegid 226 .long sys_getegid
224 .long sys_setreuid 227 .long sys_setreuid
225 .long sys_setregid 228 .long sys_setregid
226 .long sys_getgroups /* 205 */ 229 .long sys_getgroups /* 205 */
227 .long sys_setgroups 230 .long sys_setgroups
228 .long sys_fchown 231 .long sys_fchown
229 .long sys_setresuid 232 .long sys_setresuid
230 .long sys_getresuid 233 .long sys_getresuid
231 .long sys_setresgid /* 210 */ 234 .long sys_setresgid /* 210 */
232 .long sys_getresgid 235 .long sys_getresgid
233 .long sys_lchown 236 .long sys_lchown
234 .long sys_setuid 237 .long sys_setuid
235 .long sys_setgid 238 .long sys_setgid
236 .long sys_setfsuid /* 215 */ 239 .long sys_setfsuid /* 215 */
237 .long sys_setfsgid 240 .long sys_setfsgid
238 .long sys_pivot_root 241 .long sys_pivot_root
239 .long sys_ni_syscall 242 .long sys_ni_syscall
240 .long sys_ni_syscall 243 .long sys_ni_syscall
241 .long sys_getdents64 /* 220 */ 244 .long sys_getdents64 /* 220 */
242 .long sys_gettid 245 .long sys_gettid
243 .long sys_tkill 246 .long sys_tkill
244 .long sys_setxattr 247 .long sys_setxattr
245 .long sys_lsetxattr 248 .long sys_lsetxattr
246 .long sys_fsetxattr /* 225 */ 249 .long sys_fsetxattr /* 225 */
247 .long sys_getxattr 250 .long sys_getxattr
248 .long sys_lgetxattr 251 .long sys_lgetxattr
249 .long sys_fgetxattr 252 .long sys_fgetxattr
250 .long sys_listxattr 253 .long sys_listxattr
251 .long sys_llistxattr /* 230 */ 254 .long sys_llistxattr /* 230 */
252 .long sys_flistxattr 255 .long sys_flistxattr
253 .long sys_removexattr 256 .long sys_removexattr
254 .long sys_lremovexattr 257 .long sys_lremovexattr
255 .long sys_fremovexattr 258 .long sys_fremovexattr
256 .long sys_futex /* 235 */ 259 .long sys_futex /* 235 */
257 .long sys_sendfile64 260 .long sys_sendfile64
258 .long sys_ni_syscall /* sys_mincore */ 261 .long sys_mincore
259 .long sys_ni_syscall /* sys_madvise */ 262 .long sys_madvise
260 .long sys_fcntl64 263 .long sys_fcntl64
261 .long sys_readahead /* 240 */ 264 .long sys_readahead /* 240 */
262 .long sys_io_setup 265 .long sys_io_setup
263 .long sys_io_destroy 266 .long sys_io_destroy
264 .long sys_io_getevents 267 .long sys_io_getevents
265 .long sys_io_submit 268 .long sys_io_submit
266 .long sys_io_cancel /* 245 */ 269 .long sys_io_cancel /* 245 */
267 .long sys_fadvise64 270 .long sys_fadvise64
268 .long sys_exit_group 271 .long sys_exit_group
269 .long sys_lookup_dcookie 272 .long sys_lookup_dcookie
270 .long sys_epoll_create 273 .long sys_epoll_create
271 .long sys_epoll_ctl /* 250 */ 274 .long sys_epoll_ctl /* 250 */
272 .long sys_epoll_wait 275 .long sys_epoll_wait
273 .long sys_ni_syscall /* sys_remap_file_pages */ 276 .long sys_remap_file_pages
274 .long sys_set_tid_address 277 .long sys_set_tid_address
275 .long sys_timer_create 278 .long sys_timer_create
276 .long sys_timer_settime /* 255 */ 279 .long sys_timer_settime /* 255 */
277 .long sys_timer_gettime 280 .long sys_timer_gettime
278 .long sys_timer_getoverrun 281 .long sys_timer_getoverrun
279 .long sys_timer_delete 282 .long sys_timer_delete
280 .long sys_clock_settime 283 .long sys_clock_settime
281 .long sys_clock_gettime /* 260 */ 284 .long sys_clock_gettime /* 260 */
282 .long sys_clock_getres 285 .long sys_clock_getres
283 .long sys_clock_nanosleep 286 .long sys_clock_nanosleep
284 .long sys_statfs64 287 .long sys_statfs64
285 .long sys_fstatfs64 288 .long sys_fstatfs64
286 .long sys_tgkill /* 265 */ 289 .long sys_tgkill /* 265 */
287 .long sys_utimes 290 .long sys_utimes
288 .long sys_fadvise64_64 291 .long sys_fadvise64_64
289 .long sys_mbind 292 .long sys_mbind
290 .long sys_get_mempolicy 293 .long sys_get_mempolicy
291 .long sys_set_mempolicy /* 270 */ 294 .long sys_set_mempolicy /* 270 */
292 .long sys_mq_open 295 .long sys_mq_open
293 .long sys_mq_unlink 296 .long sys_mq_unlink
294 .long sys_mq_timedsend 297 .long sys_mq_timedsend
295 .long sys_mq_timedreceive 298 .long sys_mq_timedreceive
296 .long sys_mq_notify /* 275 */ 299 .long sys_mq_notify /* 275 */
297 .long sys_mq_getsetattr 300 .long sys_mq_getsetattr
298 .long sys_waitid 301 .long sys_waitid
299 .long sys_ni_syscall /* for sys_vserver */ 302 .long sys_ni_syscall /* for sys_vserver */
300 .long sys_add_key 303 .long sys_add_key
301 .long sys_request_key /* 280 */ 304 .long sys_request_key /* 280 */
302 .long sys_keyctl 305 .long sys_keyctl
303 .long sys_ioprio_set 306 .long sys_ioprio_set
304 .long sys_ioprio_get 307 .long sys_ioprio_get
@@ -319,8 +322,8 @@ ENTRY(sys_call_table)
319 .long sys_readlinkat 322 .long sys_readlinkat
320 .long sys_fchmodat 323 .long sys_fchmodat
321 .long sys_faccessat /* 300 */ 324 .long sys_faccessat /* 300 */
322 .long sys_ni_syscall /* Reserved for pselect6 */ 325 .long sys_pselect6
323 .long sys_ni_syscall /* Reserved for ppoll */ 326 .long sys_ppoll
324 .long sys_unshare 327 .long sys_unshare
325 .long sys_set_robust_list 328 .long sys_set_robust_list
326 .long sys_get_robust_list /* 305 */ 329 .long sys_get_robust_list /* 305 */
@@ -363,7 +366,3 @@ ENTRY(sys_call_table)
363 .long sys_clock_adjtime 366 .long sys_clock_adjtime
364 .long sys_syncfs 367 .long sys_syncfs
365 368
366 .rept NR_syscalls-(.-sys_call_table)/4
367 .long sys_ni_syscall
368 .endr
369
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds
index 878be5f38cad..d0993594f558 100644
--- a/arch/m68k/kernel/vmlinux-std.lds
+++ b/arch/m68k/kernel/vmlinux-std.lds
@@ -25,6 +25,8 @@ SECTIONS
25 25
26 EXCEPTION_TABLE(16) 26 EXCEPTION_TABLE(16)
27 27
28 _sdata = .; /* Start of data section */
29
28 RODATA 30 RODATA
29 31
30 RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) 32 RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds
index 1ad6b7ad2c17..8080469ee6c1 100644
--- a/arch/m68k/kernel/vmlinux-sun3.lds
+++ b/arch/m68k/kernel/vmlinux-sun3.lds
@@ -25,6 +25,7 @@ SECTIONS
25 _etext = .; /* End of text section */ 25 _etext = .; /* End of text section */
26 26
27 EXCEPTION_TABLE(16) :data 27 EXCEPTION_TABLE(16) :data
28 _sdata = .; /* Start of rw data section */
28 RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) :data 29 RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE) :data
29 /* End of data goes *here* so that freeing init code works properly. */ 30 /* End of data goes *here* so that freeing init code works properly. */
30 _edata = .; 31 _edata = .;
diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c
index 02b7a03e4226..8b3db1c587fc 100644
--- a/arch/m68k/mm/motorola.c
+++ b/arch/m68k/mm/motorola.c
@@ -300,6 +300,8 @@ void __init paging_init(void)
300 zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT; 300 zones_size[ZONE_DMA] = m68k_memory[i].size >> PAGE_SHIFT;
301 free_area_init_node(i, zones_size, 301 free_area_init_node(i, zones_size,
302 m68k_memory[i].addr >> PAGE_SHIFT, NULL); 302 m68k_memory[i].addr >> PAGE_SHIFT, NULL);
303 if (node_present_pages(i))
304 node_set_state(i, N_NORMAL_MEMORY);
303 } 305 }
304} 306}
305 307