diff options
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/entry.S | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S index 87f9f60b803b..ba22ec8fab54 100644 --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S | |||
@@ -591,11 +591,9 @@ ENTRY(name) \ | |||
591 | /* The include is where all of the SMP etc. interrupts come from */ | 591 | /* The include is where all of the SMP etc. interrupts come from */ |
592 | #include "entry_arch.h" | 592 | #include "entry_arch.h" |
593 | 593 | ||
594 | ENTRY(divide_error) | 594 | KPROBE_ENTRY(page_fault) |
595 | RING0_INT_FRAME | 595 | RING0_EC_FRAME |
596 | pushl $0 # no error code | 596 | pushl $do_page_fault |
597 | CFI_ADJUST_CFA_OFFSET 4 | ||
598 | pushl $do_divide_error | ||
599 | CFI_ADJUST_CFA_OFFSET 4 | 597 | CFI_ADJUST_CFA_OFFSET 4 |
600 | ALIGN | 598 | ALIGN |
601 | error_code: | 599 | error_code: |
@@ -645,6 +643,7 @@ error_code: | |||
645 | call *%edi | 643 | call *%edi |
646 | jmp ret_from_exception | 644 | jmp ret_from_exception |
647 | CFI_ENDPROC | 645 | CFI_ENDPROC |
646 | KPROBE_END(page_fault) | ||
648 | 647 | ||
649 | ENTRY(coprocessor_error) | 648 | ENTRY(coprocessor_error) |
650 | RING0_INT_FRAME | 649 | RING0_INT_FRAME |
@@ -720,7 +719,8 @@ debug_stack_correct: | |||
720 | call do_debug | 719 | call do_debug |
721 | jmp ret_from_exception | 720 | jmp ret_from_exception |
722 | CFI_ENDPROC | 721 | CFI_ENDPROC |
723 | .previous .text | 722 | KPROBE_END(debug) |
723 | |||
724 | /* | 724 | /* |
725 | * NMI is doubly nasty. It can happen _while_ we're handling | 725 | * NMI is doubly nasty. It can happen _while_ we're handling |
726 | * a debug fault, and the debug fault hasn't yet been able to | 726 | * a debug fault, and the debug fault hasn't yet been able to |
@@ -816,7 +816,7 @@ KPROBE_ENTRY(int3) | |||
816 | call do_int3 | 816 | call do_int3 |
817 | jmp ret_from_exception | 817 | jmp ret_from_exception |
818 | CFI_ENDPROC | 818 | CFI_ENDPROC |
819 | .previous .text | 819 | KPROBE_END(int3) |
820 | 820 | ||
821 | ENTRY(overflow) | 821 | ENTRY(overflow) |
822 | RING0_INT_FRAME | 822 | RING0_INT_FRAME |
@@ -881,7 +881,7 @@ KPROBE_ENTRY(general_protection) | |||
881 | CFI_ADJUST_CFA_OFFSET 4 | 881 | CFI_ADJUST_CFA_OFFSET 4 |
882 | jmp error_code | 882 | jmp error_code |
883 | CFI_ENDPROC | 883 | CFI_ENDPROC |
884 | .previous .text | 884 | KPROBE_END(general_protection) |
885 | 885 | ||
886 | ENTRY(alignment_check) | 886 | ENTRY(alignment_check) |
887 | RING0_EC_FRAME | 887 | RING0_EC_FRAME |
@@ -890,13 +890,14 @@ ENTRY(alignment_check) | |||
890 | jmp error_code | 890 | jmp error_code |
891 | CFI_ENDPROC | 891 | CFI_ENDPROC |
892 | 892 | ||
893 | KPROBE_ENTRY(page_fault) | 893 | ENTRY(divide_error) |
894 | RING0_EC_FRAME | 894 | RING0_INT_FRAME |
895 | pushl $do_page_fault | 895 | pushl $0 # no error code |
896 | CFI_ADJUST_CFA_OFFSET 4 | ||
897 | pushl $do_divide_error | ||
896 | CFI_ADJUST_CFA_OFFSET 4 | 898 | CFI_ADJUST_CFA_OFFSET 4 |
897 | jmp error_code | 899 | jmp error_code |
898 | CFI_ENDPROC | 900 | CFI_ENDPROC |
899 | .previous .text | ||
900 | 901 | ||
901 | #ifdef CONFIG_X86_MCE | 902 | #ifdef CONFIG_X86_MCE |
902 | ENTRY(machine_check) | 903 | ENTRY(machine_check) |