diff options
Diffstat (limited to 'arch/i386/kernel/entry.S')
| -rw-r--r-- | arch/i386/kernel/entry.S | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S index abb909793efc..3aad03839660 100644 --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S | |||
| @@ -507,7 +507,7 @@ label: \ | |||
| 507 | pushl $__KERNEL_CS; \ | 507 | pushl $__KERNEL_CS; \ |
| 508 | pushl $sysenter_past_esp | 508 | pushl $sysenter_past_esp |
| 509 | 509 | ||
| 510 | ENTRY(debug) | 510 | KPROBE_ENTRY(debug) |
| 511 | cmpl $sysenter_entry,(%esp) | 511 | cmpl $sysenter_entry,(%esp) |
| 512 | jne debug_stack_correct | 512 | jne debug_stack_correct |
| 513 | FIX_STACK(12, debug_stack_correct, debug_esp_fix_insn) | 513 | FIX_STACK(12, debug_stack_correct, debug_esp_fix_insn) |
| @@ -518,7 +518,7 @@ debug_stack_correct: | |||
| 518 | movl %esp,%eax # pt_regs pointer | 518 | movl %esp,%eax # pt_regs pointer |
| 519 | call do_debug | 519 | call do_debug |
| 520 | jmp ret_from_exception | 520 | jmp ret_from_exception |
| 521 | 521 | .previous .text | |
| 522 | /* | 522 | /* |
| 523 | * NMI is doubly nasty. It can happen _while_ we're handling | 523 | * NMI is doubly nasty. It can happen _while_ we're handling |
| 524 | * a debug fault, and the debug fault hasn't yet been able to | 524 | * a debug fault, and the debug fault hasn't yet been able to |
| @@ -591,13 +591,14 @@ nmi_16bit_stack: | |||
| 591 | .long 1b,iret_exc | 591 | .long 1b,iret_exc |
| 592 | .previous | 592 | .previous |
| 593 | 593 | ||
| 594 | ENTRY(int3) | 594 | KPROBE_ENTRY(int3) |
| 595 | pushl $-1 # mark this as an int | 595 | pushl $-1 # mark this as an int |
| 596 | SAVE_ALL | 596 | SAVE_ALL |
| 597 | xorl %edx,%edx # zero error code | 597 | xorl %edx,%edx # zero error code |
| 598 | movl %esp,%eax # pt_regs pointer | 598 | movl %esp,%eax # pt_regs pointer |
| 599 | call do_int3 | 599 | call do_int3 |
| 600 | jmp ret_from_exception | 600 | jmp ret_from_exception |
| 601 | .previous .text | ||
| 601 | 602 | ||
| 602 | ENTRY(overflow) | 603 | ENTRY(overflow) |
| 603 | pushl $0 | 604 | pushl $0 |
| @@ -631,17 +632,19 @@ ENTRY(stack_segment) | |||
| 631 | pushl $do_stack_segment | 632 | pushl $do_stack_segment |
| 632 | jmp error_code | 633 | jmp error_code |
| 633 | 634 | ||
| 634 | ENTRY(general_protection) | 635 | KPROBE_ENTRY(general_protection) |
| 635 | pushl $do_general_protection | 636 | pushl $do_general_protection |
| 636 | jmp error_code | 637 | jmp error_code |
| 638 | .previous .text | ||
| 637 | 639 | ||
| 638 | ENTRY(alignment_check) | 640 | ENTRY(alignment_check) |
| 639 | pushl $do_alignment_check | 641 | pushl $do_alignment_check |
| 640 | jmp error_code | 642 | jmp error_code |
| 641 | 643 | ||
| 642 | ENTRY(page_fault) | 644 | KPROBE_ENTRY(page_fault) |
| 643 | pushl $do_page_fault | 645 | pushl $do_page_fault |
| 644 | jmp error_code | 646 | jmp error_code |
| 647 | .previous .text | ||
| 645 | 648 | ||
| 646 | #ifdef CONFIG_X86_MCE | 649 | #ifdef CONFIG_X86_MCE |
| 647 | ENTRY(machine_check) | 650 | ENTRY(machine_check) |
