1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <linux/sys.h>
15 #include <linux/autoconf.h>
16 #include <asm/segment.h>
17 #include <asm/mipsregs.h>
18 #include <asm/mipsconfig.h>
19 #include <asm/page.h>
20 #include <asm/stackframe.h>
21 #include <asm/regdef.h>
22 #include <asm/processor.h>
23
24
25
26
27 state = 0
28 counter = 4
29 priority = 8
30 signal = 12
31 blocked = 16
32 flags = 20
33 errno = 24 #
34 exec_domain = 60 #
35
36 ENOSYS = 38
37
38 .globl ret_from_sys_call
39 .globl _sys_call_table
40
41 .text
42 .set noreorder
43 .align 4
44 handle_bottom_half:
45
46
47
48
49 lui s0,%hi(_intr_count)
50 lw s1,%lo(_intr_count)(s0)
51 mfc0 s3,CP0_STATUS # Enable IRQs
52 addiu s2,s1,1
53 sw s2,%lo(_intr_count)(s0)
54 ori t0,s3,0x1f
55 xori t0,t0,0x1e
56 jal _do_bottom_half
57 mtc0 t0,CP0_STATUS # delay slot
58 mtc0 s3,CP0_STATUS # Restore old IRQ state
59 j 9f
60 sw s1,%lo(_intr_count)(s0) # delay slot
61
62 .set reorder
63 reschedule:
64 la ra,ret_from_sys_call
65 j _schedule
66 nop
67
68 .align 5
69 .globl _handle_sys
70 _handle_sys:
71 .set noreorder
72 .set noat
73 SAVE_ALL
74 .set at
75 STI
76
77
78
79
80
81 lw t3,FR_EPC(sp)
82 lw s1,FR_REG2(sp)
83 li t0,-ENOSYS
84 addiu t3,t3,4
85 sw t3,FR_EPC(sp)
86 li t2,NR_syscalls
87 bge s1,t2,ret_from_sys_call
88 sw t0,FR_REG2(sp) # delay slot
89 sll s1,s1,2
90 lw s1,_sys_call_table(s1)
91 lw s0,_current
92
93 beqz s1,ret_from_sys_call
94 lw t0,flags(s0)
95 sll t0,t0,2 # PF_TRACESYS
96 bltz t0,1f
97 sw zero,errno(s0) # delay slot
98
99 lw a0,FR_REG4(sp)
100 lw a1,FR_REG5(sp)
101 lw a2,FR_REG6(sp)
102 lw a3,FR_REG7(sp)
103 lw t0,FR_REG3(sp)
104 jalr s1 # do the real work
105 sw t0,16(sp) # delay slot
106
107 lw t0,errno(s0)
108 sw v0,FR_REG2(sp) # save the return value
109 subu t0,zero,t0 # t0 = -t0
110 beqz t0,ret_from_sys_call
111 nop
112
113
114
115 j ret_from_sys_call
116 sw t0,FR_REG2(sp) # delay slot
117
118 .align 4
119 1: jal _syscall_trace
120 nop # delay slot
121
122 lw a0,FR_REG4(sp)
123 lw a1,FR_REG5(sp)
124 lw a2,FR_REG6(sp)
125 lw a3,FR_REG7(sp)
126 lw t0,FR_REG3(sp)
127 jalr s1 # do the real work
128 sw t0,16(sp) # delay slot
129
130 lw t0,errno(s0)
131 sw v0,FR_REG2(sp) # save the return value
132 subu t0,zero,t0
133 beqz t0,1f
134 nop # delay slot
135 sw t1,FR_REG2(sp)
136
137
138
139 1: jal _syscall_trace
140 nop
141
142 .align 4
143 ret_from_sys_call:
144 lw t0,_intr_count # bottom half
145 bnez t0,2f
146 9:
147 lw t0,_bh_mask # delay slot
148 lw t1,_bh_active # unused delay slot
149 and t0,t1
150 bnez t0,handle_bottom_half
151
152 lw t0,FR_STATUS(sp) # returning to supervisor ?
153 andi t1,t0,0x10
154 beqz t1,2f
155
156 mfc0 t0,CP0_STATUS # delay slot
157 lw t1,_need_resched
158 ori t0,0x1f # enable irqs
159 xori t0,0x1e
160 bnez t1,reschedule
161 mtc0 t0,CP0_STATUS # delay slot
162
163 lw s0,_current
164 lw t0,_task
165 lw t1,state(s0) # state
166 beq s0,t0,2f # task[0] cannot have signals
167 lw t0,counter(s0) # counter
168 bnez t1,reschedule # state == 0 ?
169 lw a0,blocked(s0)
170
171
172 beqz t0,reschedule # counter == 0 ?
173 lw t0,signal(s0)
174 nor t1,zero,a0
175 and t1,t0,t1
176 beqz t1,skip_signal_return
177 nop
178
179 jal _do_signal
180 move a1,sp # delay slot
181
182 skip_signal_return:
183 .set noreorder
184 .set noat
185 2:
186 return: RESTORE_ALL
187 .set at
188
189 #ifdef CONFIG_DESKSTATION_TYNE
190
191
192
193 .text
194 .set noreorder
195 .set noat
196 .globl _deskstation_tyne_handle_int
197 .align 5
198 _deskstation_tyne_handle_int:
199 SAVE_ALL
200 .set at
201 CLI
202 lui s0,%hi(PORT_BASE)
203 li t1,0x0f
204 sb t1,%lo(PORT_BASE+0x20)(s0) # poll command
205 lb t1,%lo(PORT_BASE+0x20)(s0) # read result
206 li s1,1
207 bgtz t1,Lpoll_second
208 andi t1,t1,7
209
210
211
212 lb t2,%lo(PORT_BASE+0x21)(s0)
213 lui s4,%hi(_cache_21)
214 lb t0,%lo(_cache_21)(s4)
215 sllv s1,s1,t1
216 or t0,t0,s1
217 sb t0,%lo(_cache_21)(s4)
218 sb t0,%lo(PORT_BASE+0x21)(s0)
219 lui s3,%hi(_intr_count)
220 lw t0,%lo(_intr_count)(s3)
221 li t2,0x20
222 sb t2,%lo(PORT_BASE+0x20)(s0)
223
224
225
226 la t3,_IRQ_vectors
227 sll t2,t1,2
228 addu t3,t3,t2
229 lw t3,(t3)
230 addiu t0,t0,1
231 jalr t3
232 sw t0,%lo(_intr_count)(s3) # delay slot
233 lw t0,%lo(_intr_count)(s3)
234
235
236
237 lbu t1,%lo(PORT_BASE+0x21)(s0)
238 lb t1,%lo(_cache_21)(s4)
239 subu t0,t0,1
240 sw t0,%lo(_intr_count)(s3)
241 nor s1,zero,s1
242 and t1,t1,s1
243 sb t1,%lo(_cache_21)(s4)
244 jr v0
245 sb t1,%lo(PORT_BASE+0x21)(s0) # delay slot
246
247 .align 5
248 Lpoll_second: li t1,0x0f
249 sb t1,%lo(PORT_BASE+0xa0)(s0) # poll command
250 lb t1,%lo(PORT_BASE+0xa0)(s0) # read result
251 lui s4,%hi(_cache_A1)
252 bgtz t1,Lspurious_interrupt
253 andi t1,t1,7
254
255
256
257 lbu t2,%lo(PORT_BASE+0xa1)(s0)
258 lb t3,%lo(_cache_A1)(s4)
259 sllv s1,s1,t1
260 or t3,t3,s1
261 sb t3,%lo(_cache_A1)(s4)
262 sb t3,%lo(PORT_BASE+0xa1)(s0)
263 li t3,0x20
264 sb t3,%lo(PORT_BASE+0xa0)(s0)
265 lui s3,%hi(_intr_count)
266 lw t0,%lo(_intr_count)(s3)
267 sb t3,%lo(PORT_BASE+0x20)(s0)
268
269
270
271 la t0,_IRQ_vectors
272 sll t2,t1,2
273 addu t0,t0,t2
274 lw t0,32(t0)
275 addiu t0,t0,1
276 jalr t0
277 sw t0,%lo(_intr_count)(s3) # delay slot
278 lw t0,%lo(_intr_count)(s3)
279
280
281
282 lb t1,%lo(PORT_BASE+0xa1)(s0)
283 lb t1,%lo(_cache_A1)(s4)
284 subu t0,t0,1
285 lw t0,%lo(_intr_count)(s3)
286 nor s1,zero,s1
287 and t1,t1,s1
288 sb t1,%lo(_cache_A1)(s4)
289 jr v0
290 sb t1,%lo(PORT_BASE+0xa1)(s0) # delay slot
291
292 .align 5
293 Lspurious_interrupt:
294
295
296
297 lui t1,%hi(_spurious_count)
298 lw t0,%lo(_spurious_count)(t1)
299 la v0,return
300 addiu t0,t0,1
301 jr ra
302 sw t0,%lo(_spurious_count)(t1)
303 #endif
304
305 #ifdef CONFIG_ACER_PICA_61
306
307
308
309 .set noreorder
310 .set noat
311 .globl _acer_pica_61_handle_int
312 .align 5
313 _acer_pica_61_handle_int:
314 la a0,acer_text
315 jal _panic
316 nop
317 1: b 1b
318 nop
319 acer_text: .asciz "Interrupt handler for Acer PICA not written yet"
320 .align 2
321 #endif
322
323 .text
324 .set noreorder
325 .set at
326 .globl _interrupt
327 .align 5
328 _interrupt: move s2,ra
329 mfc0 t0,CP0_STATUS
330 ori t0,t0,0x1f
331 xori t0,t0,0x1e
332 mtc0 t0,CP0_STATUS
333 move a0,t1
334 jal _do_IRQ
335 move a1,sp # delay slot
336 mfc0 t0,CP0_STATUS
337 ori t0,t0,1
338 xori t0,t0,1
339 la v0,ret_from_sys_call
340 jr s2
341 mtc0 t0,CP0_STATUS # delay slot
342
343 .globl _fast_interrupt
344 .align 5
345 _fast_interrupt:
346 move s2,ra
347 move a0,t1
348 jal _do_fast_IRQ
349 move a1,sp # delay slot
350 la v0,return
351 jr s2
352 nop # delay slot
353
354 .globl _bad_interrupt
355 _bad_interrupt:
356
357
358
359 j return
360 nop
361
362 .globl _handle_tlbl
363 .align 5
364 _handle_tlbl:
365 .set noreorder
366 .set noat
367
368
369
370
371
372
373
374
375 mfc0 k0,CP0_BADVADDR
376 mfc0 k1,CP0_ENTRYHI
377 ori k0,k0,0x1fff
378 xori k0,k0,0x1fff
379 andi k1,k1,0xff
380 or k0,k0,k1
381 mfc0 k1,CP0_ENTRYHI
382 mtc0 k0,CP0_ENTRYHI
383 nop # for R4[04]00 pipeline
384 nop
385 nop
386 tlbp
387 nop # for R4[04]00 pipeline
388 nop
389 mfc0 k0,CP0_INDEX
390 srl k0,k0,31
391 beqz k0,invalid_tlbl
392 mtc0 k1,CP0_ENTRYHI # delay slot
393
394
395
396
397
398 dmfc0 k1,CP0_CONTEXT
399 dsra k1,k1,1
400 lwu k0,(k1) # Never causes another exception
401 lwu k1,4(k1)
402 dsrl k0,k0,6 # Convert to EntryLo format
403 dsrl k1,k1,6 # Convert to EntryLo format
404 dmtc0 k0,CP0_ENTRYLO0
405 dmtc0 k1,CP0_ENTRYLO1
406 nop # for R4[04]00 pipeline
407 tlbwr
408 eret
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423 invalid_tlbl:
424
425
426
427 mfc0 k0,CP0_INDEX
428 lui k1,0x0008
429 or k0,k0,k1
430 dsll k0,k0,13
431 dmtc0 k0,CP0_ENTRYHI
432 dmtc0 zero,CP0_ENTRYLO0
433 dmtc0 zero,CP0_ENTRYLO1
434
435
436
437 dmfc0 k0,CP0_BADVADDR
438 tlbwi # delayed, for R4[04]00 pipeline
439 srl k0,k0,10
440 lui k1,%HI(TLBMAP)
441 addu k0,k0,k1
442 ori k0,k0,3
443 xori k0,k0,3
444 lw k1,(k0)
445 andi k1,k1,_PAGE_PRESENT
446 beqz k1,nopage_tlbl
447
448
449
450 lw k1,(k0) # delay slot
451 ori k1,k1,_PAGE_ACCESSED
452 sw k1,(k0)
453 eret
454
455
456
457
458
459
460 nopage_tlbl:
461 SAVE_ALL
462 .set at
463 STI
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479 lw a1,FR_STATUS(sp)
480 move a0,sp
481 srl a1,a1,4
482 andi a1,a1,1
483 jal _do_page_fault
484 xori a1,a1,1 # delay slot
485 j ret_from_sys_call
486 nop # delay slot
487
488 .text
489 .globl _handle_tlbs
490 .align 5
491 _handle_tlbs:
492 .set noreorder
493 .set noat
494
495
496
497
498
499
500
501
502
503 dmfc0 k0,CP0_BADVADDR
504 srl k0,k0,10
505 lui k1,%HI(TLBMAP)
506 addu k0,k0,k1
507 ori k0,k0,3
508 xori k0,k0,3
509 lw k1,(k0)
510 andi k1,k1,(_PAGE_PRESENT|_PAGE_RW)
511 beqz k1,nopage_tlbs
512
513
514
515 lw k1,(k0) # delay slot
516 ori k1,k1,(_PAGE_ACCESSED|_PAGE_DIRTY)
517 sw k1,(k0)
518
519
520
521 ori k0,k0,0x1000
522 xori k0,k0,0x1000
523 lw k1,4(k0)
524 lw k0,(k0)
525 srl k0,k0,6
526 srl k1,k1,6
527 dmtc0 k0,CP0_ENTRYLO0
528 dmtc0 k1,CP0_ENTRYLO1
529 tlbwi
530 eret
531
532
533
534
535
536
537 nopage_tlbs:
538 nowrite_mod:
539
540
541
542 mfc0 k0,CP0_INDEX
543 lui k1,0x0008
544 or k0,k0,k1
545 dsll k0,k0,13
546 dmtc0 k0,CP0_ENTRYHI
547 dmtc0 zero,CP0_ENTRYLO0
548 dmtc0 zero,CP0_ENTRYLO1
549 tlbwi
550 SAVE_ALL
551 .set at
552 STI
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568 lw a1,FR_STATUS(sp)
569 move a0,sp
570 srl a1,a1,4
571 andi a1,a1,1
572 jal _do_page_fault
573 xori a1,a1,3 # branch delay slot
574 j ret_from_sys_call
575 nop # branch delay slot
576
577 .globl _handle_mod
578 .align 5
579 _handle_mod:
580 .set noreorder
581 .set noat
582
583
584
585
586
587 dmfc0 k0,CP0_BADVADDR
588 srl k0,k0,10
589 lui k1,%HI(TLBMAP)
590 addu k0,k0,k1
591 ori k0,k0,3
592 xori k0,k0,3
593 lw k1,(k0)
594 andi k1,k1,_PAGE_RW
595 beqz k1,nopage_tlbs
596
597
598
599 lw k1,(k0) # delay slot
600 ori k1,k1,(_PAGE_ACCESSED|_PAGE_DIRTY)
601 sw k1,(k0)
602
603
604
605 ori k0,k0,0x1000
606 xori k0,k0,0x1000
607 lw k1,4(k0)
608 lw k0,(k0)
609 srl k0,k0,6
610 srl k1,k1,6
611 dmtc0 k0,CP0_ENTRYLO0
612 dmtc0 k1,CP0_ENTRYLO1
613 tlbwi
614 eret
615
616 .globl _handle_adel
617 .align 5
618 _handle_adel:
619 .set noreorder
620 .set noat
621 SAVE_ALL
622 STI
623 li t0,-1
624 sw t0,FR_ORIG_REG2(sp)
625 jal _do_adel
626 move a0,sp # delay slot
627 j ret_from_sys_call
628 nop # delay slot
629
630 .globl _handle_ades
631 .align 5
632 _handle_ades:
633 .set noreorder
634 .set noat
635 SAVE_ALL
636 STI
637 li t0,-1
638 sw t0,FR_ORIG_REG2(sp)
639 jal _do_ades
640 move a0,sp # delay slot
641 j ret_from_sys_call
642 nop # delay slot
643
644 .globl _handle_ibe
645 .align 5
646 _handle_ibe:
647 .set noreorder
648 .set noat
649 SAVE_ALL
650 STI
651 li t0,-1
652 sw t0,FR_ORIG_REG2(sp)
653 jal _do_ibe
654 move a0,sp # delay slot
655 j ret_from_sys_call
656 nop # delay slot
657
658 .globl _handle_dbe
659 .align 5
660 _handle_dbe:
661 .set noreorder
662 .set noat
663 SAVE_ALL
664 STI
665 li t0,-1
666 sw t0,FR_ORIG_REG2(sp)
667 jal _do_dbe
668 move a0,sp # delay slot
669 j ret_from_sys_call
670 nop # delay slot
671
672 .globl _handle_ov
673 .align 5
674 _handle_ov:
675 .set noreorder
676 .set noat
677 SAVE_ALL
678 STI
679 li t0,-1
680 sw t0,FR_ORIG_REG2(sp)
681 jal _do_ov
682 move a0,sp # delay slot
683 j ret_from_sys_call
684 nop # delay slot
685
686 .globl _handle_fpe
687 .align 5
688 _handle_fpe:
689 .set noreorder
690 .set noat
691 SAVE_ALL
692 STI
693 li t0,-1
694 sw t0,FR_ORIG_REG2(sp)
695 jal _do_fpe
696 move a0,sp # delay slot
697 j ret_from_sys_call
698 nop # delay slot
699
700 .globl _handle_bp
701 .align 5
702 _handle_bp:
703 .set noreorder
704 .set noat
705 SAVE_ALL
706 STI
707 li t0,-1
708 sw t0,FR_ORIG_REG2(sp)
709 jal _do_bp
710 move a0,sp # delay slot
711 j ret_from_sys_call
712 nop # delay slot
713
714 .globl _handle_tr
715 .align 5
716 _handle_tr:
717 .set noreorder
718 .set noat
719 SAVE_ALL
720 STI
721 li t0,-1
722 sw t0,FR_ORIG_REG2(sp)
723 jal _do_tr
724 move a0,sp # delay slot
725 j ret_from_sys_call
726 nop # delay slot
727
728 .globl _handle_ri
729 .align 5
730 _handle_ri:
731 .set noreorder
732 .set noat
733 SAVE_ALL
734 STI
735 li t0,-1
736 sw t0,FR_ORIG_REG2(sp)
737 jal _do_ri
738 move a0,sp # delay slot
739 j ret_from_sys_call
740 nop # delay slot
741
742 .globl _handle_cpu
743 .align 5
744 _handle_cpu:
745 .set noreorder
746 .set noat
747 SAVE_ALL
748 STI
749 li t0,-1
750 sw t0,FR_ORIG_REG2(sp)
751 jal _do_cpu
752 move a0,sp # delay slot
753 j ret_from_sys_call
754 nop # delay slot
755
756 .globl _handle_vcei
757 .align 5
758 _handle_vcei:
759 .set noreorder
760 .set noat
761 SAVE_ALL
762 STI
763 li t0,-1
764 sw t0,FR_ORIG_REG2(sp)
765 jal _do_vcei
766 move a0,sp # delay slot
767 j ret_from_sys_call
768 nop # delay slot
769
770 .globl _handle_vced
771 .align 5
772 _handle_vced:
773 .set noreorder
774 .set noat
775 SAVE_ALL
776 STI
777 li t0,-1
778 sw t0,FR_ORIG_REG2(sp)
779 jal _do_vced
780 move a0,sp # delay slot
781 j ret_from_sys_call
782 nop # delay slot
783
784 .globl _handle_watch
785 .align 5
786 _handle_watch:
787 .set noreorder
788 .set noat
789 SAVE_ALL
790 STI
791 li t0,-1
792 sw t0,FR_ORIG_REG2(sp)
793 jal _do_watch
794 move a0,sp # delay slot
795 j ret_from_sys_call
796 nop # delay slot
797
798 .globl _handle_reserved
799 .align 5
800 _handle_reserved:
801 .set noreorder
802 .set noat
803 SAVE_ALL
804 STI
805 li t0,-1
806 sw t0,FR_ORIG_REG2(sp)
807 jal _do_reserved
808 move a0,sp # delay slot
809 j ret_from_sys_call
810 nop # delay slot
811
812
813
814
815
816 .bss
817 .globl _exception_handlers
818 .align 2
819 _exception_handlers:
820 .fill 32,4,0
821
822
823
824
825 .data
826 _sys_call_table:
827 .word _sys_setup
828 .word _sys_exit
829 .word _sys_fork
830 .word _sys_read
831 .word _sys_write
832 .word _sys_open
833 .word _sys_close
834 .word _sys_waitpid
835 .word _sys_creat
836 .word _sys_link
837 .word _sys_unlink
838 .word _sys_execve
839 .word _sys_chdir
840 .word _sys_time
841 .word _sys_mknod
842 .word _sys_chmod
843 .word _sys_chown
844 .word _sys_break
845 .word _sys_stat
846 .word _sys_lseek
847 .word _sys_getpid
848 .word _sys_mount
849 .word _sys_umount
850 .word _sys_setuid
851 .word _sys_getuid
852 .word _sys_stime
853 .word _sys_ptrace
854 .word _sys_alarm
855 .word _sys_fstat
856 .word _sys_pause
857 .word _sys_utime
858 .word _sys_stty
859 .word _sys_gtty
860 .word _sys_access
861 .word _sys_nice
862 .word _sys_ftime
863 .word _sys_sync
864 .word _sys_kill
865 .word _sys_rename
866 .word _sys_mkdir
867 .word _sys_rmdir
868 .word _sys_dup
869 .word _sys_pipe
870 .word _sys_times
871 .word _sys_prof
872 .word _sys_brk
873 .word _sys_setgid
874 .word _sys_getgid
875 .word _sys_signal
876 .word _sys_geteuid
877 .word _sys_getegid
878 .word _sys_acct
879 .word _sys_phys
880 .word _sys_lock
881 .word _sys_ioctl
882 .word _sys_fcntl
883 .word _sys_mpx
884 .word _sys_setpgid
885 .word _sys_ulimit
886 .word _sys_olduname
887 .word _sys_umask
888 .word _sys_chroot
889 .word _sys_ustat
890 .word _sys_dup2
891 .word _sys_getppid
892 .word _sys_getpgrp
893 .word _sys_setsid
894 .word _sys_sigaction
895 .word _sys_sgetmask
896 .word _sys_ssetmask
897 .word _sys_setreuid
898 .word _sys_setregid
899 .word _sys_sigsuspend
900 .word _sys_sigpending
901 .word _sys_sethostname
902 .word _sys_setrlimit
903 .word _sys_getrlimit
904 .word _sys_getrusage
905 .word _sys_gettimeofday
906 .word _sys_settimeofday
907 .word _sys_getgroups
908 .word _sys_setgroups
909 .word _sys_select
910 .word _sys_symlink
911 .word _sys_lstat
912 .word _sys_readlink
913 .word _sys_uselib
914 .word _sys_swapon
915 .word _sys_reboot
916 .word _sys_readdir
917 .word _sys_mmap
918 .word _sys_munmap
919 .word _sys_truncate
920 .word _sys_ftruncate
921 .word _sys_fchmod
922 .word _sys_fchown
923 .word _sys_getpriority
924 .word _sys_setpriority
925 .word _sys_profil
926 .word _sys_statfs
927 .word _sys_fstatfs
928 .word _sys_ioperm
929 .word _sys_socketcall
930 .word _sys_syslog
931 .word _sys_setitimer
932 .word _sys_getitimer
933 .word _sys_newstat
934 .word _sys_newlstat
935 .word _sys_newfstat
936 .word _sys_uname
937 .word _sys_iopl
938 .word _sys_vhangup
939 .word _sys_idle
940 .word 0 #_sys_vm86
941 .word _sys_wait4
942 .word _sys_swapoff
943 .word _sys_sysinfo
944 .word _sys_ipc
945 .word _sys_fsync
946 .word _sys_sigreturn
947 .word _sys_clone
948 .word _sys_setdomainname
949 .word _sys_newuname
950 .word 0 #_sys_modify_ldt
951 .word _sys_adjtimex
952 .word _sys_mprotect
953 .word _sys_sigprocmask
954 .word _sys_create_module
955 .word _sys_init_module
956 .word _sys_delete_module
957 .word _sys_get_kernel_syms
958 .word _sys_quotactl
959 .word _sys_getpgid
960 .word _sys_fchdir
961 .word _sys_bdflush
962 .word _sys_sysfs
963 .word _sys_personality
964 .word 0
965 .word _sys_setfsuid
966 .word _sys_setfsgid
967 .word _sys_llseek
968 .space (NR_syscalls-140)*4
969
970 .bss
971 .globl _IRQ_vectors
972 _IRQ_vectors: .fill 16,4,0
973