diff options
Diffstat (limited to 'arch/i386/kernel/entry.S')
-rw-r--r-- | arch/i386/kernel/entry.S | 304 |
1 files changed, 4 insertions, 300 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S index 3c73dc865ead..a991d4e5edd2 100644 --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S | |||
@@ -260,11 +260,9 @@ restore_nocheck: | |||
260 | .section .fixup,"ax" | 260 | .section .fixup,"ax" |
261 | iret_exc: | 261 | iret_exc: |
262 | sti | 262 | sti |
263 | movl $__USER_DS, %edx | 263 | pushl $0 # no error code |
264 | movl %edx, %ds | 264 | pushl $do_iret_error |
265 | movl %edx, %es | 265 | jmp error_code |
266 | movl $11,%eax | ||
267 | call do_exit | ||
268 | .previous | 266 | .previous |
269 | .section __ex_table,"a" | 267 | .section __ex_table,"a" |
270 | .align 4 | 268 | .align 4 |
@@ -516,8 +514,6 @@ debug_stack_correct: | |||
516 | xorl %edx,%edx # error code 0 | 514 | xorl %edx,%edx # error code 0 |
517 | movl %esp,%eax # pt_regs pointer | 515 | movl %esp,%eax # pt_regs pointer |
518 | call do_debug | 516 | call do_debug |
519 | testl %eax,%eax | ||
520 | jnz restore_all | ||
521 | jmp ret_from_exception | 517 | jmp ret_from_exception |
522 | 518 | ||
523 | /* | 519 | /* |
@@ -598,8 +594,6 @@ ENTRY(int3) | |||
598 | xorl %edx,%edx # zero error code | 594 | xorl %edx,%edx # zero error code |
599 | movl %esp,%eax # pt_regs pointer | 595 | movl %esp,%eax # pt_regs pointer |
600 | call do_int3 | 596 | call do_int3 |
601 | testl %eax,%eax | ||
602 | jnz restore_all | ||
603 | jmp ret_from_exception | 597 | jmp ret_from_exception |
604 | 598 | ||
605 | ENTRY(overflow) | 599 | ENTRY(overflow) |
@@ -658,296 +652,6 @@ ENTRY(spurious_interrupt_bug) | |||
658 | pushl $do_spurious_interrupt_bug | 652 | pushl $do_spurious_interrupt_bug |
659 | jmp error_code | 653 | jmp error_code |
660 | 654 | ||
661 | .data | 655 | #include "syscall_table.S" |
662 | ENTRY(sys_call_table) | ||
663 | .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ | ||
664 | .long sys_exit | ||
665 | .long sys_fork | ||
666 | .long sys_read | ||
667 | .long sys_write | ||
668 | .long sys_open /* 5 */ | ||
669 | .long sys_close | ||
670 | .long sys_waitpid | ||
671 | .long sys_creat | ||
672 | .long sys_link | ||
673 | .long sys_unlink /* 10 */ | ||
674 | .long sys_execve | ||
675 | .long sys_chdir | ||
676 | .long sys_time | ||
677 | .long sys_mknod | ||
678 | .long sys_chmod /* 15 */ | ||
679 | .long sys_lchown16 | ||
680 | .long sys_ni_syscall /* old break syscall holder */ | ||
681 | .long sys_stat | ||
682 | .long sys_lseek | ||
683 | .long sys_getpid /* 20 */ | ||
684 | .long sys_mount | ||
685 | .long sys_oldumount | ||
686 | .long sys_setuid16 | ||
687 | .long sys_getuid16 | ||
688 | .long sys_stime /* 25 */ | ||
689 | .long sys_ptrace | ||
690 | .long sys_alarm | ||
691 | .long sys_fstat | ||
692 | .long sys_pause | ||
693 | .long sys_utime /* 30 */ | ||
694 | .long sys_ni_syscall /* old stty syscall holder */ | ||
695 | .long sys_ni_syscall /* old gtty syscall holder */ | ||
696 | .long sys_access | ||
697 | .long sys_nice | ||
698 | .long sys_ni_syscall /* 35 - old ftime syscall holder */ | ||
699 | .long sys_sync | ||
700 | .long sys_kill | ||
701 | .long sys_rename | ||
702 | .long sys_mkdir | ||
703 | .long sys_rmdir /* 40 */ | ||
704 | .long sys_dup | ||
705 | .long sys_pipe | ||
706 | .long sys_times | ||
707 | .long sys_ni_syscall /* old prof syscall holder */ | ||
708 | .long sys_brk /* 45 */ | ||
709 | .long sys_setgid16 | ||
710 | .long sys_getgid16 | ||
711 | .long sys_signal | ||
712 | .long sys_geteuid16 | ||
713 | .long sys_getegid16 /* 50 */ | ||
714 | .long sys_acct | ||
715 | .long sys_umount /* recycled never used phys() */ | ||
716 | .long sys_ni_syscall /* old lock syscall holder */ | ||
717 | .long sys_ioctl | ||
718 | .long sys_fcntl /* 55 */ | ||
719 | .long sys_ni_syscall /* old mpx syscall holder */ | ||
720 | .long sys_setpgid | ||
721 | .long sys_ni_syscall /* old ulimit syscall holder */ | ||
722 | .long sys_olduname | ||
723 | .long sys_umask /* 60 */ | ||
724 | .long sys_chroot | ||
725 | .long sys_ustat | ||
726 | .long sys_dup2 | ||
727 | .long sys_getppid | ||
728 | .long sys_getpgrp /* 65 */ | ||
729 | .long sys_setsid | ||
730 | .long sys_sigaction | ||
731 | .long sys_sgetmask | ||
732 | .long sys_ssetmask | ||
733 | .long sys_setreuid16 /* 70 */ | ||
734 | .long sys_setregid16 | ||
735 | .long sys_sigsuspend | ||
736 | .long sys_sigpending | ||
737 | .long sys_sethostname | ||
738 | .long sys_setrlimit /* 75 */ | ||
739 | .long sys_old_getrlimit | ||
740 | .long sys_getrusage | ||
741 | .long sys_gettimeofday | ||
742 | .long sys_settimeofday | ||
743 | .long sys_getgroups16 /* 80 */ | ||
744 | .long sys_setgroups16 | ||
745 | .long old_select | ||
746 | .long sys_symlink | ||
747 | .long sys_lstat | ||
748 | .long sys_readlink /* 85 */ | ||
749 | .long sys_uselib | ||
750 | .long sys_swapon | ||
751 | .long sys_reboot | ||
752 | .long old_readdir | ||
753 | .long old_mmap /* 90 */ | ||
754 | .long sys_munmap | ||
755 | .long sys_truncate | ||
756 | .long sys_ftruncate | ||
757 | .long sys_fchmod | ||
758 | .long sys_fchown16 /* 95 */ | ||
759 | .long sys_getpriority | ||
760 | .long sys_setpriority | ||
761 | .long sys_ni_syscall /* old profil syscall holder */ | ||
762 | .long sys_statfs | ||
763 | .long sys_fstatfs /* 100 */ | ||
764 | .long sys_ioperm | ||
765 | .long sys_socketcall | ||
766 | .long sys_syslog | ||
767 | .long sys_setitimer | ||
768 | .long sys_getitimer /* 105 */ | ||
769 | .long sys_newstat | ||
770 | .long sys_newlstat | ||
771 | .long sys_newfstat | ||
772 | .long sys_uname | ||
773 | .long sys_iopl /* 110 */ | ||
774 | .long sys_vhangup | ||
775 | .long sys_ni_syscall /* old "idle" system call */ | ||
776 | .long sys_vm86old | ||
777 | .long sys_wait4 | ||
778 | .long sys_swapoff /* 115 */ | ||
779 | .long sys_sysinfo | ||
780 | .long sys_ipc | ||
781 | .long sys_fsync | ||
782 | .long sys_sigreturn | ||
783 | .long sys_clone /* 120 */ | ||
784 | .long sys_setdomainname | ||
785 | .long sys_newuname | ||
786 | .long sys_modify_ldt | ||
787 | .long sys_adjtimex | ||
788 | .long sys_mprotect /* 125 */ | ||
789 | .long sys_sigprocmask | ||
790 | .long sys_ni_syscall /* old "create_module" */ | ||
791 | .long sys_init_module | ||
792 | .long sys_delete_module | ||
793 | .long sys_ni_syscall /* 130: old "get_kernel_syms" */ | ||
794 | .long sys_quotactl | ||
795 | .long sys_getpgid | ||
796 | .long sys_fchdir | ||
797 | .long sys_bdflush | ||
798 | .long sys_sysfs /* 135 */ | ||
799 | .long sys_personality | ||
800 | .long sys_ni_syscall /* reserved for afs_syscall */ | ||
801 | .long sys_setfsuid16 | ||
802 | .long sys_setfsgid16 | ||
803 | .long sys_llseek /* 140 */ | ||
804 | .long sys_getdents | ||
805 | .long sys_select | ||
806 | .long sys_flock | ||
807 | .long sys_msync | ||
808 | .long sys_readv /* 145 */ | ||
809 | .long sys_writev | ||
810 | .long sys_getsid | ||
811 | .long sys_fdatasync | ||
812 | .long sys_sysctl | ||
813 | .long sys_mlock /* 150 */ | ||
814 | .long sys_munlock | ||
815 | .long sys_mlockall | ||
816 | .long sys_munlockall | ||
817 | .long sys_sched_setparam | ||
818 | .long sys_sched_getparam /* 155 */ | ||
819 | .long sys_sched_setscheduler | ||
820 | .long sys_sched_getscheduler | ||
821 | .long sys_sched_yield | ||
822 | .long sys_sched_get_priority_max | ||
823 | .long sys_sched_get_priority_min /* 160 */ | ||
824 | .long sys_sched_rr_get_interval | ||
825 | .long sys_nanosleep | ||
826 | .long sys_mremap | ||
827 | .long sys_setresuid16 | ||
828 | .long sys_getresuid16 /* 165 */ | ||
829 | .long sys_vm86 | ||
830 | .long sys_ni_syscall /* Old sys_query_module */ | ||
831 | .long sys_poll | ||
832 | .long sys_nfsservctl | ||
833 | .long sys_setresgid16 /* 170 */ | ||
834 | .long sys_getresgid16 | ||
835 | .long sys_prctl | ||
836 | .long sys_rt_sigreturn | ||
837 | .long sys_rt_sigaction | ||
838 | .long sys_rt_sigprocmask /* 175 */ | ||
839 | .long sys_rt_sigpending | ||
840 | .long sys_rt_sigtimedwait | ||
841 | .long sys_rt_sigqueueinfo | ||
842 | .long sys_rt_sigsuspend | ||
843 | .long sys_pread64 /* 180 */ | ||
844 | .long sys_pwrite64 | ||
845 | .long sys_chown16 | ||
846 | .long sys_getcwd | ||
847 | .long sys_capget | ||
848 | .long sys_capset /* 185 */ | ||
849 | .long sys_sigaltstack | ||
850 | .long sys_sendfile | ||
851 | .long sys_ni_syscall /* reserved for streams1 */ | ||
852 | .long sys_ni_syscall /* reserved for streams2 */ | ||
853 | .long sys_vfork /* 190 */ | ||
854 | .long sys_getrlimit | ||
855 | .long sys_mmap2 | ||
856 | .long sys_truncate64 | ||
857 | .long sys_ftruncate64 | ||
858 | .long sys_stat64 /* 195 */ | ||
859 | .long sys_lstat64 | ||
860 | .long sys_fstat64 | ||
861 | .long sys_lchown | ||
862 | .long sys_getuid | ||
863 | .long sys_getgid /* 200 */ | ||
864 | .long sys_geteuid | ||
865 | .long sys_getegid | ||
866 | .long sys_setreuid | ||
867 | .long sys_setregid | ||
868 | .long sys_getgroups /* 205 */ | ||
869 | .long sys_setgroups | ||
870 | .long sys_fchown | ||
871 | .long sys_setresuid | ||
872 | .long sys_getresuid | ||
873 | .long sys_setresgid /* 210 */ | ||
874 | .long sys_getresgid | ||
875 | .long sys_chown | ||
876 | .long sys_setuid | ||
877 | .long sys_setgid | ||
878 | .long sys_setfsuid /* 215 */ | ||
879 | .long sys_setfsgid | ||
880 | .long sys_pivot_root | ||
881 | .long sys_mincore | ||
882 | .long sys_madvise | ||
883 | .long sys_getdents64 /* 220 */ | ||
884 | .long sys_fcntl64 | ||
885 | .long sys_ni_syscall /* reserved for TUX */ | ||
886 | .long sys_ni_syscall | ||
887 | .long sys_gettid | ||
888 | .long sys_readahead /* 225 */ | ||
889 | .long sys_setxattr | ||
890 | .long sys_lsetxattr | ||
891 | .long sys_fsetxattr | ||
892 | .long sys_getxattr | ||
893 | .long sys_lgetxattr /* 230 */ | ||
894 | .long sys_fgetxattr | ||
895 | .long sys_listxattr | ||
896 | .long sys_llistxattr | ||
897 | .long sys_flistxattr | ||
898 | .long sys_removexattr /* 235 */ | ||
899 | .long sys_lremovexattr | ||
900 | .long sys_fremovexattr | ||
901 | .long sys_tkill | ||
902 | .long sys_sendfile64 | ||
903 | .long sys_futex /* 240 */ | ||
904 | .long sys_sched_setaffinity | ||
905 | .long sys_sched_getaffinity | ||
906 | .long sys_set_thread_area | ||
907 | .long sys_get_thread_area | ||
908 | .long sys_io_setup /* 245 */ | ||
909 | .long sys_io_destroy | ||
910 | .long sys_io_getevents | ||
911 | .long sys_io_submit | ||
912 | .long sys_io_cancel | ||
913 | .long sys_fadvise64 /* 250 */ | ||
914 | .long sys_ni_syscall | ||
915 | .long sys_exit_group | ||
916 | .long sys_lookup_dcookie | ||
917 | .long sys_epoll_create | ||
918 | .long sys_epoll_ctl /* 255 */ | ||
919 | .long sys_epoll_wait | ||
920 | .long sys_remap_file_pages | ||
921 | .long sys_set_tid_address | ||
922 | .long sys_timer_create | ||
923 | .long sys_timer_settime /* 260 */ | ||
924 | .long sys_timer_gettime | ||
925 | .long sys_timer_getoverrun | ||
926 | .long sys_timer_delete | ||
927 | .long sys_clock_settime | ||
928 | .long sys_clock_gettime /* 265 */ | ||
929 | .long sys_clock_getres | ||
930 | .long sys_clock_nanosleep | ||
931 | .long sys_statfs64 | ||
932 | .long sys_fstatfs64 | ||
933 | .long sys_tgkill /* 270 */ | ||
934 | .long sys_utimes | ||
935 | .long sys_fadvise64_64 | ||
936 | .long sys_ni_syscall /* sys_vserver */ | ||
937 | .long sys_mbind | ||
938 | .long sys_get_mempolicy | ||
939 | .long sys_set_mempolicy | ||
940 | .long sys_mq_open | ||
941 | .long sys_mq_unlink | ||
942 | .long sys_mq_timedsend | ||
943 | .long sys_mq_timedreceive /* 280 */ | ||
944 | .long sys_mq_notify | ||
945 | .long sys_mq_getsetattr | ||
946 | .long sys_ni_syscall /* reserved for kexec */ | ||
947 | .long sys_waitid | ||
948 | .long sys_ni_syscall /* 285 */ /* available */ | ||
949 | .long sys_add_key | ||
950 | .long sys_request_key | ||
951 | .long sys_keyctl | ||
952 | 656 | ||
953 | syscall_table_size=(.-sys_call_table) | 657 | syscall_table_size=(.-sys_call_table) |