aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r/kernel/entry.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r/kernel/entry.S')
-rw-r--r--arch/m32r/kernel/entry.S569
1 files changed, 57 insertions, 512 deletions
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S
index a2c472c0549f..d4eaa2fd1818 100644
--- a/arch/m32r/kernel/entry.S
+++ b/arch/m32r/kernel/entry.S
@@ -109,15 +109,10 @@
109#define SP(reg) @(0x68,reg) 109#define SP(reg) @(0x68,reg)
110#define ORIG_R0(reg) @(0x6C,reg) 110#define ORIG_R0(reg) @(0x6C,reg)
111 111
112CF_MASK = 0x00000001 112#define nr_syscalls ((syscall_table_size)/4)
113TF_MASK = 0x00000100
114IF_MASK = 0x00000200
115DF_MASK = 0x00000400
116NT_MASK = 0x00004000
117VM_MASK = 0x00020000
118 113
119#ifdef CONFIG_PREEMPT 114#ifdef CONFIG_PREEMPT
120#define preempt_stop(x) CLI(x) 115#define preempt_stop(x) DISABLE_INTERRUPTS(x)
121#else 116#else
122#define preempt_stop(x) 117#define preempt_stop(x)
123#define resume_kernel restore_all 118#define resume_kernel restore_all
@@ -149,7 +144,7 @@ ret_from_intr:
149#endif 144#endif
150 beqz r4, resume_kernel 145 beqz r4, resume_kernel
151ENTRY(resume_userspace) 146ENTRY(resume_userspace)
152 CLI(r4) ; make sure we don't miss an interrupt 147 DISABLE_INTERRUPTS(r4) ; make sure we don't miss an interrupt
153 ; setting need_resched or sigpending 148 ; setting need_resched or sigpending
154 ; between sampling and the iret 149 ; between sampling and the iret
155 GET_THREAD_INFO(r8) 150 GET_THREAD_INFO(r8)
@@ -173,11 +168,11 @@ need_resched:
173 beqz r4, restore_all 168 beqz r4, restore_all
174 LDIMM (r4, PREEMPT_ACTIVE) 169 LDIMM (r4, PREEMPT_ACTIVE)
175 st r4, @(TI_PRE_COUNT, r8) 170 st r4, @(TI_PRE_COUNT, r8)
176 STI(r4) 171 ENABLE_INTERRUPTS(r4)
177 bl schedule 172 bl schedule
178 ldi r4, #0 173 ldi r4, #0
179 st r4, @(TI_PRE_COUNT, r8) 174 st r4, @(TI_PRE_COUNT, r8)
180 CLI(r4) 175 DISABLE_INTERRUPTS(r4)
181 bra need_resched 176 bra need_resched
182#endif 177#endif
183 178
@@ -185,7 +180,7 @@ need_resched:
185ENTRY(system_call) 180ENTRY(system_call)
186 SWITCH_TO_KERNEL_STACK 181 SWITCH_TO_KERNEL_STACK
187 SAVE_ALL 182 SAVE_ALL
188 STI(r4) ; Enable interrupt 183 ENABLE_INTERRUPTS(r4) ; Enable interrupt
189 st sp, PTREGS(sp) ; implicit pt_regs parameter 184 st sp, PTREGS(sp) ; implicit pt_regs parameter
190 cmpui r7, #NR_syscalls 185 cmpui r7, #NR_syscalls
191 bnc syscall_badsys 186 bnc syscall_badsys
@@ -203,7 +198,7 @@ syscall_call:
203 jl r7 ; execute system call 198 jl r7 ; execute system call
204 st r0, R0(sp) ; save the return value 199 st r0, R0(sp) ; save the return value
205syscall_exit: 200syscall_exit:
206 CLI(r4) ; make sure we don't miss an interrupt 201 DISABLE_INTERRUPTS(r4) ; make sure we don't miss an interrupt
207 ; setting need_resched or sigpending 202 ; setting need_resched or sigpending
208 ; between sampling and the iret 203 ; between sampling and the iret
209 ld r9, @(TI_FLAGS, r8) 204 ld r9, @(TI_FLAGS, r8)
@@ -220,7 +215,7 @@ work_pending:
220 beqz r4, work_notifysig 215 beqz r4, work_notifysig
221work_resched: 216work_resched:
222 bl schedule 217 bl schedule
223 CLI(r4) ; make sure we don't miss an interrupt 218 DISABLE_INTERRUPTS(r4) ; make sure we don't miss an interrupt
224 ; setting need_resched or sigpending 219 ; setting need_resched or sigpending
225 ; between sampling and the iret 220 ; between sampling and the iret
226 ld r9, @(TI_FLAGS, r8) 221 ld r9, @(TI_FLAGS, r8)
@@ -262,7 +257,7 @@ syscall_exit_work:
262 ld r9, @(TI_FLAGS, r8) 257 ld r9, @(TI_FLAGS, r8)
263 and3 r4, r9, #_TIF_SYSCALL_TRACE 258 and3 r4, r9, #_TIF_SYSCALL_TRACE
264 beqz r4, work_pending 259 beqz r4, work_pending
265 STI(r4) ; could let do_syscall_trace() call 260 ENABLE_INTERRUPTS(r4) ; could let do_syscall_trace() call
266 ; schedule() instead 261 ; schedule() instead
267 bl do_syscall_trace 262 bl do_syscall_trace
268 bra resume_userspace 263 bra resume_userspace
@@ -290,16 +285,12 @@ syscall_badsys:
290 */ 285 */
291ENTRY(ei_handler) 286ENTRY(ei_handler)
292#if defined(CONFIG_CHIP_M32700) 287#if defined(CONFIG_CHIP_M32700)
293 SWITCH_TO_KERNEL_STACK
294 ; WORKAROUND: force to clear SM bit and use the kernel stack (SPI). 288 ; WORKAROUND: force to clear SM bit and use the kernel stack (SPI).
289 SWITCH_TO_KERNEL_STACK
295#endif 290#endif
296 SAVE_ALL 291 SAVE_ALL
297 mv r1, sp ; arg1(regs) 292 mv r1, sp ; arg1(regs)
298#if defined(CONFIG_CHIP_VDEC2) || defined(CONFIG_CHIP_XNUX2) \ 293 ; get ICU status
299 || defined(CONFIG_CHIP_M32700) || defined(CONFIG_CHIP_M32102) \
300 || defined(CONFIG_CHIP_OPSP) || defined(CONFIG_CHIP_M32104)
301
302; GET_ICU_STATUS;
303 seth r0, #shigh(M32R_ICU_ISTS_ADDR) 294 seth r0, #shigh(M32R_ICU_ISTS_ADDR)
304 ld r0, @(low(M32R_ICU_ISTS_ADDR),r0) 295 ld r0, @(low(M32R_ICU_ISTS_ADDR),r0)
305 push r0 296 push r0
@@ -314,10 +305,15 @@ ENTRY(ei_handler)
314 ;; IRQ exist check 305 ;; IRQ exist check
315#if defined(CONFIG_CHIP_M32700) 306#if defined(CONFIG_CHIP_M32700)
316 /* WORKAROUND: IMASK bug M32700-TS1, TS2 chip. */ 307 /* WORKAROUND: IMASK bug M32700-TS1, TS2 chip. */
317 beqz r0, 3f ; if (!irq_num) goto exit 308 bnez r0, 0f
318#else 309 ld24 r14, #0x00070000
310 seth r0, #shigh(M32R_ICU_IMASK_ADDR)
311 st r14, @(low(M32R_ICU_IMASK_ADDR),r0)
312 bra 1f
313 .fillinsn
3140:
315#endif /* CONFIG_CHIP_M32700 */
319 beqz r0, 1f ; if (!irq_num) goto exit 316 beqz r0, 1f ; if (!irq_num) goto exit
320#endif /* WORKAROUND */
321 ;; IPI check 317 ;; IPI check
322 cmpi r0, #(M32R_IRQ_IPI0<<2) ; ISN < IPI0 check 318 cmpi r0, #(M32R_IRQ_IPI0<<2) ; ISN < IPI0 check
323 bc 2f 319 bc 2f
@@ -332,220 +328,56 @@ ENTRY(ei_handler)
332 .fillinsn 328 .fillinsn
3331: 3291:
334 addi sp, #4 330 addi sp, #4
335 bra ret_to_intr 331 bra restore_all
336#if defined(CONFIG_CHIP_M32700)
337 /* WORKAROUND: IMASK bug M32700-TS1, TS2 chip. */
338 .fillinsn
3393:
340 ld24 r14, #0x00070000
341 seth r0, #shigh(M32R_ICU_IMASK_ADDR)
342 st r14, @(low(M32R_ICU_IMASK_ADDR), r0)
343 addi sp, #4
344 bra ret_to_intr
345#endif /* WORKAROUND */
346 ;; do_IRQ
347 .fillinsn 332 .fillinsn
3482: 3332:
349 srli r0, #2 334 srli r0, #2
350#if defined(CONFIG_PLAT_USRV) 335#else /* not CONFIG_SMP */
351 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt
352 bnez r2, 9f
353 ; read ICU status register of PLD
354 seth r0, #high(PLD_ICUISTS)
355 or3 r0, r0, #low(PLD_ICUISTS)
356 lduh r0, @r0
357 slli r0, #21
358 srli r0, #27 ; ISN
359 addi r0, #(M32700UT_PLD_IRQ_BASE)
360 .fillinsn
3619:
362#elif defined(CONFIG_PLAT_M32700UT)
363 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt
364 bnez r2, check_int0
365 ; read ICU status register of PLD
366 seth r0, #high(PLD_ICUISTS)
367 or3 r0, r0, #low(PLD_ICUISTS)
368 lduh r0, @r0
369 slli r0, #21
370 srli r0, #27 ; ISN
371 addi r0, #(M32700UT_PLD_IRQ_BASE)
372 bra check_end
373 .fillinsn
374check_int0:
375 add3 r2, r0, #-(M32R_IRQ_INT0) ; INT0# interrupt
376 bnez r2, check_int2
377 ; read ICU status of LAN-board
378 seth r0, #high(M32700UT_LAN_ICUISTS)
379 or3 r0, r0, #low(M32700UT_LAN_ICUISTS)
380 lduh r0, @r0
381 slli r0, #21
382 srli r0, #27 ; ISN
383 add3 r0, r0, #(M32700UT_LAN_PLD_IRQ_BASE)
384 bra check_end
385 .fillinsn
386check_int2:
387 add3 r2, r0, #-(M32R_IRQ_INT2) ; INT2# interrupt
388 bnez r2, check_end
389 ; read ICU status of LCD-board
390 seth r0, #high(M32700UT_LCD_ICUISTS)
391 or3 r0, r0, #low(M32700UT_LCD_ICUISTS)
392 lduh r0, @r0
393 slli r0, #21
394 srli r0, #27 ; ISN
395 add3 r0, r0, #(M32700UT_LCD_PLD_IRQ_BASE)
396 bra check_end
397 .fillinsn
398check_end:
399#elif defined(CONFIG_PLAT_OPSPUT)
400 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt
401 bnez r2, check_int0
402 ; read ICU status register of PLD
403 seth r0, #high(PLD_ICUISTS)
404 or3 r0, r0, #low(PLD_ICUISTS)
405 lduh r0, @r0
406 slli r0, #21
407 srli r0, #27 ; ISN
408 addi r0, #(OPSPUT_PLD_IRQ_BASE)
409 bra check_end
410 .fillinsn
411check_int0:
412 add3 r2, r0, #-(M32R_IRQ_INT0) ; INT0# interrupt
413 bnez r2, check_int2
414 ; read ICU status of LAN-board
415 seth r0, #high(OPSPUT_LAN_ICUISTS)
416 or3 r0, r0, #low(OPSPUT_LAN_ICUISTS)
417 lduh r0, @r0
418 slli r0, #21
419 srli r0, #27 ; ISN
420 add3 r0, r0, #(OPSPUT_LAN_PLD_IRQ_BASE)
421 bra check_end
422 .fillinsn
423check_int2:
424 add3 r2, r0, #-(M32R_IRQ_INT2) ; INT2# interrupt
425 bnez r2, check_end
426 ; read ICU status of LCD-board
427 seth r0, #high(OPSPUT_LCD_ICUISTS)
428 or3 r0, r0, #low(OPSPUT_LCD_ICUISTS)
429 lduh r0, @r0
430 slli r0, #21
431 srli r0, #27 ; ISN
432 add3 r0, r0, #(OPSPUT_LCD_PLD_IRQ_BASE)
433 bra check_end
434 .fillinsn
435check_end:
436#endif /* CONFIG_PLAT_OPSPUT */
437 bl do_IRQ ; r0(irq), r1(regs)
438#else /* not CONFIG_SMP */
439 srli r0, #22 ; r0(irq) 336 srli r0, #22 ; r0(irq)
440#if defined(CONFIG_PLAT_USRV) 337#endif /* not CONFIG_SMP */
338
339#if defined(CONFIG_PLAT_HAS_INT1ICU)
441 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt 340 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt
442 bnez r2, 1f 341 bnez r2, 3f
443 ; read ICU status register of PLD 342 seth r0, #shigh(M32R_INT1ICU_ISTS)
444 seth r0, #high(PLD_ICUISTS) 343 lduh r0, @(low(M32R_INT1ICU_ISTS),r0) ; bit10-6 : ISN
445 or3 r0, r0, #low(PLD_ICUISTS)
446 lduh r0, @r0
447 slli r0, #21 344 slli r0, #21
448 srli r0, #27 ; ISN 345 srli r0, #27 ; ISN
449 addi r0, #(M32700UT_PLD_IRQ_BASE) 346 addi r0, #(M32R_INT1ICU_IRQ_BASE)
450 .fillinsn
4511:
452#elif defined(CONFIG_PLAT_M32700UT)
453 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt
454 bnez r2, check_int0
455 ; read ICU status register of PLD
456 seth r0, #high(PLD_ICUISTS)
457 or3 r0, r0, #low(PLD_ICUISTS)
458 lduh r0, @r0
459 slli r0, #21
460 srli r0, #27 ; ISN
461 addi r0, #(M32700UT_PLD_IRQ_BASE)
462 bra check_end
463 .fillinsn
464check_int0:
465 add3 r2, r0, #-(M32R_IRQ_INT0) ; INT0# interrupt
466 bnez r2, check_int2
467 ; read ICU status of LAN-board
468 seth r0, #high(M32700UT_LAN_ICUISTS)
469 or3 r0, r0, #low(M32700UT_LAN_ICUISTS)
470 lduh r0, @r0
471 slli r0, #21
472 srli r0, #27 ; ISN
473 add3 r0, r0, #(M32700UT_LAN_PLD_IRQ_BASE)
474 bra check_end
475 .fillinsn
476check_int2:
477 add3 r2, r0, #-(M32R_IRQ_INT2) ; INT2# interrupt
478 bnez r2, check_end
479 ; read ICU status of LCD-board
480 seth r0, #high(M32700UT_LCD_ICUISTS)
481 or3 r0, r0, #low(M32700UT_LCD_ICUISTS)
482 lduh r0, @r0
483 slli r0, #21
484 srli r0, #27 ; ISN
485 add3 r0, r0, #(M32700UT_LCD_PLD_IRQ_BASE)
486 bra check_end
487 .fillinsn
488check_end:
489#elif defined(CONFIG_PLAT_OPSPUT)
490 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt
491 bnez r2, check_int0
492 ; read ICU status register of PLD
493 seth r0, #high(PLD_ICUISTS)
494 or3 r0, r0, #low(PLD_ICUISTS)
495 lduh r0, @r0
496 slli r0, #21
497 srli r0, #27 ; ISN
498 addi r0, #(OPSPUT_PLD_IRQ_BASE)
499 bra check_end
500 .fillinsn
501check_int0:
502 add3 r2, r0, #-(M32R_IRQ_INT0) ; INT0# interrupt
503 bnez r2, check_int2
504 ; read ICU status of LAN-board
505 seth r0, #high(OPSPUT_LAN_ICUISTS)
506 or3 r0, r0, #low(OPSPUT_LAN_ICUISTS)
507 lduh r0, @r0
508 slli r0, #21
509 srli r0, #27 ; ISN
510 add3 r0, r0, #(OPSPUT_LAN_PLD_IRQ_BASE)
511 bra check_end 347 bra check_end
512 .fillinsn 348 .fillinsn
513check_int2: 3493:
514 add3 r2, r0, #-(M32R_IRQ_INT2) ; INT2# interrupt 350#endif /* CONFIG_PLAT_HAS_INT1ICU */
515 bnez r2, check_end 351#if defined(CONFIG_PLAT_HAS_INT0ICU)
516 ; read ICU status of LCD-board 352 add3 r2, r0, #-(M32R_IRQ_INT0) ; INT0# interrupt
517 seth r0, #high(OPSPUT_LCD_ICUISTS) 353 bnez r2, 4f
518 or3 r0, r0, #low(OPSPUT_LCD_ICUISTS) 354 seth r0, #shigh(M32R_INT0ICU_ISTS)
519 lduh r0, @r0 355 lduh r0, @(low(M32R_INT0ICU_ISTS),r0) ; bit10-6 : ISN
520 slli r0, #21 356 slli r0, #21
521 srli r0, #27 ; ISN 357 srli r0, #27 ; ISN
522 add3 r0, r0, #(OPSPUT_LCD_PLD_IRQ_BASE) 358 add3 r0, r0, #(M32R_INT0ICU_IRQ_BASE)
523 bra check_end 359 bra check_end
524 .fillinsn 360 .fillinsn
525check_end: 3614:
526#elif defined(CONFIG_PLAT_M32104UT) 362#endif /* CONFIG_PLAT_HAS_INT0ICU */
527 add3 r2, r0, #-(M32R_IRQ_INT1) ; INT1# interrupt 363#if defined(CONFIG_PLAT_HAS_INT2ICU)
528 bnez r2, check_end 364 add3 r2, r0, #-(M32R_IRQ_INT2) ; INT2# interrupt
529 ; read ICU status register of PLD 365 bnez r2, 5f
530 seth r0, #high(PLD_ICUISTS) 366 seth r0, #shigh(M32R_INT2ICU_ISTS)
531 or3 r0, r0, #low(PLD_ICUISTS) 367 lduh r0, @(low(M32R_INT2ICU_ISTS),r0) ; bit10-6 : ISN
532 lduh r0, @r0
533 slli r0, #21 368 slli r0, #21
534 srli r0, #27 ; ISN 369 srli r0, #27 ; ISN
535 addi r0, #(M32104UT_PLD_IRQ_BASE) 370 add3 r0, r0, #(M32R_INT2ICU_IRQ_BASE)
536 bra check_end 371 ; bra check_end
537 .fillinsn 372 .fillinsn
3735:
374#endif /* CONFIG_PLAT_HAS_INT2ICU */
375
538check_end: 376check_end:
539#endif /* CONFIG_PLAT_M32104UT */
540 bl do_IRQ 377 bl do_IRQ
541#endif /* CONFIG_SMP */
542 pop r14 378 pop r14
543 seth r0, #shigh(M32R_ICU_IMASK_ADDR) 379 seth r0, #shigh(M32R_ICU_IMASK_ADDR)
544 st r14, @(low(M32R_ICU_IMASK_ADDR),r0) 380 st r14, @(low(M32R_ICU_IMASK_ADDR),r0)
545#else
546#error no chip configuration
547#endif
548ret_to_intr:
549 bra ret_from_intr 381 bra ret_from_intr
550 382
551/* 383/*
@@ -631,7 +463,7 @@ inst:
631 463
632 464
633ENTRY(alignment_check) 465ENTRY(alignment_check)
634/* void alignment_check(int error_code) */ 466 /* void alignment_check(int error_code) */
635 SWITCH_TO_KERNEL_STACK 467 SWITCH_TO_KERNEL_STACK
636 SAVE_ALL 468 SAVE_ALL
637 ldi r1, #0x30 ; error_code 469 ldi r1, #0x30 ; error_code
@@ -641,7 +473,7 @@ error_code:
641 bra ret_from_exception 473 bra ret_from_exception
642 474
643ENTRY(rie_handler) 475ENTRY(rie_handler)
644/* void rie_handler(int error_code) */ 476 /* void rie_handler(int error_code) */
645 SWITCH_TO_KERNEL_STACK 477 SWITCH_TO_KERNEL_STACK
646 SAVE_ALL 478 SAVE_ALL
647 ldi r1, #0x20 ; error_code 479 ldi r1, #0x20 ; error_code
@@ -650,7 +482,7 @@ ENTRY(rie_handler)
650 bra error_code 482 bra error_code
651 483
652ENTRY(pie_handler) 484ENTRY(pie_handler)
653/* void pie_handler(int error_code) */ 485 /* void pie_handler(int error_code) */
654 SWITCH_TO_KERNEL_STACK 486 SWITCH_TO_KERNEL_STACK
655 SAVE_ALL 487 SAVE_ALL
656 ldi r1, #0 ; error_code ; FIXME 488 ldi r1, #0 ; error_code ; FIXME
@@ -659,8 +491,8 @@ ENTRY(pie_handler)
659 bra error_code 491 bra error_code
660 492
661ENTRY(debug_trap) 493ENTRY(debug_trap)
662 .global withdraw_debug_trap
663 /* void debug_trap(void) */ 494 /* void debug_trap(void) */
495 .global withdraw_debug_trap
664 SWITCH_TO_KERNEL_STACK 496 SWITCH_TO_KERNEL_STACK
665 SAVE_ALL 497 SAVE_ALL
666 mv r0, sp ; pt_regs 498 mv r0, sp ; pt_regs
@@ -679,11 +511,9 @@ ENTRY(ill_trap)
679 bl do_ill_trap 511 bl do_ill_trap
680 bra error_code 512 bra error_code
681 513
682
683/* Cache flushing handler */
684ENTRY(cache_flushing_handler) 514ENTRY(cache_flushing_handler)
685 .global _flush_cache_all
686 /* void _flush_cache_all(void); */ 515 /* void _flush_cache_all(void); */
516 .global _flush_cache_all
687 SWITCH_TO_KERNEL_STACK 517 SWITCH_TO_KERNEL_STACK
688 push r0 518 push r0
689 push r1 519 push r1
@@ -706,292 +536,7 @@ ENTRY(cache_flushing_handler)
706 pop r0 536 pop r0
707 rte 537 rte
708 538
709.data 539 .section .rodata,"a"
710ENTRY(sys_call_table) 540#include "syscall_table.S"
711 .long sys_restart_syscall /* 0 - old "setup()" system call*/
712 .long sys_exit
713 .long sys_fork
714 .long sys_read
715 .long sys_write
716 .long sys_open /* 5 */
717 .long sys_close
718 .long sys_waitpid
719 .long sys_creat
720 .long sys_link
721 .long sys_unlink /* 10 */
722 .long sys_execve
723 .long sys_chdir
724 .long sys_time
725 .long sys_mknod
726 .long sys_chmod /* 15 */
727 .long sys_ni_syscall /* lchown16 syscall holder */
728 .long sys_ni_syscall /* old break syscall holder */
729 .long sys_ni_syscall /* old stat syscall holder */
730 .long sys_lseek
731 .long sys_getpid /* 20 */
732 .long sys_mount
733 .long sys_oldumount
734 .long sys_ni_syscall /* setuid16 syscall holder */
735 .long sys_ni_syscall /* getuid16 syscall holder */
736 .long sys_stime /* 25 */
737 .long sys_ptrace
738 .long sys_alarm
739 .long sys_ni_syscall /* old fstat syscall holder */
740 .long sys_pause
741 .long sys_utime /* 30 */
742 .long sys_ni_syscall /* old stty syscall holder */
743 .long sys_cachectl /* for M32R */ /* old gtty syscall holder */
744 .long sys_access
745 .long sys_ni_syscall /* nice syscall holder */
746 .long sys_ni_syscall /* 35 - old ftime syscall holder */
747 .long sys_sync
748 .long sys_kill
749 .long sys_rename
750 .long sys_mkdir
751 .long sys_rmdir /* 40 */
752 .long sys_dup
753 .long sys_pipe
754 .long sys_times
755 .long sys_ni_syscall /* old prof syscall holder */
756 .long sys_brk /* 45 */
757 .long sys_ni_syscall /* setgid16 syscall holder */
758 .long sys_getgid /* will be unused */
759 .long sys_ni_syscall /* signal syscall holder */
760 .long sys_ni_syscall /* geteuid16 syscall holder */
761 .long sys_ni_syscall /* 50 - getegid16 syscall holder */
762 .long sys_acct
763 .long sys_umount /* recycled never used phys() */
764 .long sys_ni_syscall /* old lock syscall holder */
765 .long sys_ioctl
766 .long sys_fcntl /* 55 - will be unused */
767 .long sys_ni_syscall /* mpx syscall holder */
768 .long sys_setpgid
769 .long sys_ni_syscall /* old ulimit syscall holder */
770 .long sys_ni_syscall /* sys_olduname */
771 .long sys_umask /* 60 */
772 .long sys_chroot
773 .long sys_ustat
774 .long sys_dup2
775 .long sys_getppid
776 .long sys_getpgrp /* 65 */
777 .long sys_setsid
778 .long sys_ni_syscall /* sigaction syscall holder */
779 .long sys_ni_syscall /* sgetmask syscall holder */
780 .long sys_ni_syscall /* ssetmask syscall holder */
781 .long sys_ni_syscall /* 70 - setreuid16 syscall holder */
782 .long sys_ni_syscall /* setregid16 syscall holder */
783 .long sys_ni_syscall /* sigsuspend syscall holder */
784 .long sys_ni_syscall /* sigpending syscall holder */
785 .long sys_sethostname
786 .long sys_setrlimit /* 75 */
787 .long sys_getrlimit/*will be unused*/
788 .long sys_getrusage
789 .long sys_gettimeofday
790 .long sys_settimeofday
791 .long sys_ni_syscall /* 80 - getgroups16 syscall holder */
792 .long sys_ni_syscall /* setgroups16 syscall holder */
793 .long sys_ni_syscall /* sys_oldselect */
794 .long sys_symlink
795 .long sys_ni_syscall /* old lstat syscall holder */
796 .long sys_readlink /* 85 */
797 .long sys_uselib
798 .long sys_swapon
799 .long sys_reboot
800 .long sys_ni_syscall /* readdir syscall holder */
801 .long sys_ni_syscall /* 90 - old_mmap syscall holder */
802 .long sys_munmap
803 .long sys_truncate
804 .long sys_ftruncate
805 .long sys_fchmod
806 .long sys_ni_syscall /* 95 - fchwon16 syscall holder */
807 .long sys_getpriority
808 .long sys_setpriority
809 .long sys_ni_syscall /* old profil syscall holder */
810 .long sys_statfs
811 .long sys_fstatfs /* 100 */
812 .long sys_ni_syscall /* ioperm syscall holder */
813 .long sys_socketcall
814 .long sys_syslog
815 .long sys_setitimer
816 .long sys_getitimer /* 105 */
817 .long sys_newstat
818 .long sys_newlstat
819 .long sys_newfstat
820 .long sys_ni_syscall /* old uname syscall holder */
821 .long sys_ni_syscall /* 110 - iopl syscall holder */
822 .long sys_vhangup
823 .long sys_ni_syscall /* idle syscall holder */
824 .long sys_ni_syscall /* vm86old syscall holder */
825 .long sys_wait4
826 .long sys_swapoff /* 115 */
827 .long sys_sysinfo
828 .long sys_ipc
829 .long sys_fsync
830 .long sys_ni_syscall /* sigreturn syscall holder */
831 .long sys_clone /* 120 */
832 .long sys_setdomainname
833 .long sys_newuname
834 .long sys_ni_syscall /* modify_ldt syscall holder */
835 .long sys_adjtimex
836 .long sys_mprotect /* 125 */
837 .long sys_ni_syscall /* sigprocmask syscall holder */
838 .long sys_ni_syscall /* create_module syscall holder */
839 .long sys_init_module
840 .long sys_delete_module
841 .long sys_ni_syscall /* 130 - get_kernel_syms */
842 .long sys_quotactl
843 .long sys_getpgid
844 .long sys_fchdir
845 .long sys_bdflush
846 .long sys_sysfs /* 135 */
847 .long sys_personality
848 .long sys_ni_syscall /* afs_syscall syscall holder */
849 .long sys_ni_syscall /* setfsuid16 syscall holder */
850 .long sys_ni_syscall /* setfsgid16 syscall holder */
851 .long sys_llseek /* 140 */
852 .long sys_getdents
853 .long sys_select
854 .long sys_flock
855 .long sys_msync
856 .long sys_readv /* 145 */
857 .long sys_writev
858 .long sys_getsid
859 .long sys_fdatasync
860 .long sys_sysctl
861 .long sys_mlock /* 150 */
862 .long sys_munlock
863 .long sys_mlockall
864 .long sys_munlockall
865 .long sys_sched_setparam
866 .long sys_sched_getparam /* 155 */
867 .long sys_sched_setscheduler
868 .long sys_sched_getscheduler
869 .long sys_sched_yield
870 .long sys_sched_get_priority_max
871 .long sys_sched_get_priority_min /* 160 */
872 .long sys_sched_rr_get_interval
873 .long sys_nanosleep
874 .long sys_mremap
875 .long sys_ni_syscall /* setresuid16 syscall holder */
876 .long sys_ni_syscall /* 165 - getresuid16 syscall holder */
877 .long sys_tas /* vm86 syscall holder */
878 .long sys_ni_syscall /* query_module syscall holder */
879 .long sys_poll
880 .long sys_nfsservctl
881 .long sys_setresgid /* 170 */
882 .long sys_getresgid
883 .long sys_prctl
884 .long sys_rt_sigreturn
885 .long sys_rt_sigaction
886 .long sys_rt_sigprocmask /* 175 */
887 .long sys_rt_sigpending
888 .long sys_rt_sigtimedwait
889 .long sys_rt_sigqueueinfo
890 .long sys_rt_sigsuspend
891 .long sys_pread64 /* 180 */
892 .long sys_pwrite64
893 .long sys_ni_syscall /* chown16 syscall holder */
894 .long sys_getcwd
895 .long sys_capget
896 .long sys_capset /* 185 */
897 .long sys_sigaltstack
898 .long sys_sendfile
899 .long sys_ni_syscall /* streams1 */
900 .long sys_ni_syscall /* streams2 */
901 .long sys_vfork /* 190 */
902 .long sys_getrlimit
903 .long sys_mmap2
904 .long sys_truncate64
905 .long sys_ftruncate64
906 .long sys_stat64 /* 195 */
907 .long sys_lstat64
908 .long sys_fstat64
909 .long sys_lchown
910 .long sys_getuid
911 .long sys_getgid /* 200 */
912 .long sys_geteuid
913 .long sys_getegid
914 .long sys_setreuid
915 .long sys_setregid
916 .long sys_getgroups /* 205 */
917 .long sys_setgroups
918 .long sys_fchown
919 .long sys_setresuid
920 .long sys_getresuid
921 .long sys_setresgid /* 210 */
922 .long sys_getresgid
923 .long sys_chown
924 .long sys_setuid
925 .long sys_setgid
926 .long sys_setfsuid /* 215 */
927 .long sys_setfsgid
928 .long sys_pivot_root
929 .long sys_mincore
930 .long sys_madvise
931 .long sys_getdents64 /* 220 */
932 .long sys_fcntl64
933 .long sys_ni_syscall /* reserved for TUX */
934 .long sys_ni_syscall /* Reserved for Security */
935 .long sys_gettid
936 .long sys_readahead /* 225 */
937 .long sys_setxattr
938 .long sys_lsetxattr
939 .long sys_fsetxattr
940 .long sys_getxattr
941 .long sys_lgetxattr /* 230 */
942 .long sys_fgetxattr
943 .long sys_listxattr
944 .long sys_llistxattr
945 .long sys_flistxattr
946 .long sys_removexattr /* 235 */
947 .long sys_lremovexattr
948 .long sys_fremovexattr
949 .long sys_tkill
950 .long sys_sendfile64
951 .long sys_futex /* 240 */
952 .long sys_sched_setaffinity
953 .long sys_sched_getaffinity
954 .long sys_ni_syscall /* reserved for "set_thread_area" system call */
955 .long sys_ni_syscall /* reserved for "get_thread_area" system call */
956 .long sys_io_setup /* 245 */
957 .long sys_io_destroy
958 .long sys_io_getevents
959 .long sys_io_submit
960 .long sys_io_cancel
961 .long sys_fadvise64 /* 250 */
962 .long sys_ni_syscall
963 .long sys_exit_group
964 .long sys_lookup_dcookie
965 .long sys_epoll_create
966 .long sys_epoll_ctl /* 255 */
967 .long sys_epoll_wait
968 .long sys_remap_file_pages
969 .long sys_set_tid_address
970 .long sys_timer_create
971 .long sys_timer_settime /* 260 */
972 .long sys_timer_gettime
973 .long sys_timer_getoverrun
974 .long sys_timer_delete
975 .long sys_clock_settime
976 .long sys_clock_gettime /* 265 */
977 .long sys_clock_getres
978 .long sys_clock_nanosleep
979 .long sys_statfs64
980 .long sys_fstatfs64
981 .long sys_tgkill /* 270 */
982 .long sys_utimes
983 .long sys_fadvise64_64
984 .long sys_ni_syscall /* Reserved for sys_vserver */
985 .long sys_ni_syscall /* Reserved for sys_mbind */
986 .long sys_ni_syscall /* Reserved for sys_get_mempolicy */
987 .long sys_ni_syscall /* Reserved for sys_set_mempolicy */
988 .long sys_mq_open
989 .long sys_mq_unlink
990 .long sys_mq_timedsend
991 .long sys_mq_timedreceive /* 280 */
992 .long sys_mq_notify
993 .long sys_mq_getsetattr
994 .long sys_ni_syscall /* reserved for kexec */
995 .long sys_waitid
996 541
997syscall_table_size=(.-sys_call_table) 542syscall_table_size=(.-sys_call_table)