traps.h (866ae2ccee4ac092fea14f18d537205e14c5a904) traps.h (f95658fdb575233f79e3e7ed7ecf990389d31319)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_X86_TRAPS_H
3#define _ASM_X86_TRAPS_H
4
5#include <linux/context_tracking_state.h>
6#include <linux/kprobes.h>
7
8#include <asm/debugreg.h>
9#include <asm/idtentry.h>
10#include <asm/siginfo.h> /* TRAP_TRACE, ... */
11
12#define dotraplinkage __visible
13
14asmlinkage void debug(void);
15asmlinkage void nmi(void);
16asmlinkage void int3(void);
17#ifdef CONFIG_X86_64
18asmlinkage void double_fault(void);
19#endif
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_X86_TRAPS_H
3#define _ASM_X86_TRAPS_H
4
5#include <linux/context_tracking_state.h>
6#include <linux/kprobes.h>
7
8#include <asm/debugreg.h>
9#include <asm/idtentry.h>
10#include <asm/siginfo.h> /* TRAP_TRACE, ... */
11
12#define dotraplinkage __visible
13
14asmlinkage void debug(void);
15asmlinkage void nmi(void);
16asmlinkage void int3(void);
17#ifdef CONFIG_X86_64
18asmlinkage void double_fault(void);
19#endif
20asmlinkage void coprocessor_segment_overrun(void);
21asmlinkage void invalid_TSS(void);
22asmlinkage void segment_not_present(void);
23asmlinkage void stack_segment(void);
24asmlinkage void general_protection(void);
25asmlinkage void page_fault(void);
26asmlinkage void async_page_fault(void);
27asmlinkage void spurious_interrupt_bug(void);
28asmlinkage void coprocessor_error(void);
29asmlinkage void alignment_check(void);
30#ifdef CONFIG_X86_MCE
31asmlinkage void machine_check(void);
32#endif /* CONFIG_X86_MCE */
33asmlinkage void simd_coprocessor_error(void);
34
35#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
36asmlinkage void xen_xennmi(void);
37asmlinkage void xen_xendebug(void);
38asmlinkage void xen_int3(void);
39asmlinkage void xen_double_fault(void);
20asmlinkage void invalid_TSS(void);
21asmlinkage void segment_not_present(void);
22asmlinkage void stack_segment(void);
23asmlinkage void general_protection(void);
24asmlinkage void page_fault(void);
25asmlinkage void async_page_fault(void);
26asmlinkage void spurious_interrupt_bug(void);
27asmlinkage void coprocessor_error(void);
28asmlinkage void alignment_check(void);
29#ifdef CONFIG_X86_MCE
30asmlinkage void machine_check(void);
31#endif /* CONFIG_X86_MCE */
32asmlinkage void simd_coprocessor_error(void);
33
34#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
35asmlinkage void xen_xennmi(void);
36asmlinkage void xen_xendebug(void);
37asmlinkage void xen_int3(void);
38asmlinkage void xen_double_fault(void);
40asmlinkage void xen_coprocessor_segment_overrun(void);
41asmlinkage void xen_invalid_TSS(void);
42asmlinkage void xen_segment_not_present(void);
43asmlinkage void xen_stack_segment(void);
44asmlinkage void xen_general_protection(void);
45asmlinkage void xen_page_fault(void);
46asmlinkage void xen_spurious_interrupt_bug(void);
47asmlinkage void xen_coprocessor_error(void);
48asmlinkage void xen_alignment_check(void);
49#ifdef CONFIG_X86_MCE
50asmlinkage void xen_machine_check(void);
51#endif /* CONFIG_X86_MCE */
52asmlinkage void xen_simd_coprocessor_error(void);
53#endif
54
55dotraplinkage void do_debug(struct pt_regs *regs, long error_code);
56dotraplinkage void do_nmi(struct pt_regs *regs, long error_code);
57dotraplinkage void do_int3(struct pt_regs *regs, long error_code);
58dotraplinkage void do_double_fault(struct pt_regs *regs, long error_code, unsigned long cr2);
39asmlinkage void xen_invalid_TSS(void);
40asmlinkage void xen_segment_not_present(void);
41asmlinkage void xen_stack_segment(void);
42asmlinkage void xen_general_protection(void);
43asmlinkage void xen_page_fault(void);
44asmlinkage void xen_spurious_interrupt_bug(void);
45asmlinkage void xen_coprocessor_error(void);
46asmlinkage void xen_alignment_check(void);
47#ifdef CONFIG_X86_MCE
48asmlinkage void xen_machine_check(void);
49#endif /* CONFIG_X86_MCE */
50asmlinkage void xen_simd_coprocessor_error(void);
51#endif
52
53dotraplinkage void do_debug(struct pt_regs *regs, long error_code);
54dotraplinkage void do_nmi(struct pt_regs *regs, long error_code);
55dotraplinkage void do_int3(struct pt_regs *regs, long error_code);
56dotraplinkage void do_double_fault(struct pt_regs *regs, long error_code, unsigned long cr2);
59dotraplinkage void do_coprocessor_segment_overrun(struct pt_regs *regs, long error_code);
60dotraplinkage void do_invalid_TSS(struct pt_regs *regs, long error_code);
61dotraplinkage void do_segment_not_present(struct pt_regs *regs, long error_code);
62dotraplinkage void do_stack_segment(struct pt_regs *regs, long error_code);
63dotraplinkage void do_general_protection(struct pt_regs *regs, long error_code);
64dotraplinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code, unsigned long address);
65dotraplinkage void do_spurious_interrupt_bug(struct pt_regs *regs, long error_code);
66dotraplinkage void do_coprocessor_error(struct pt_regs *regs, long error_code);
67dotraplinkage void do_alignment_check(struct pt_regs *regs, long error_code);

--- 67 unchanged lines hidden ---
57dotraplinkage void do_invalid_TSS(struct pt_regs *regs, long error_code);
58dotraplinkage void do_segment_not_present(struct pt_regs *regs, long error_code);
59dotraplinkage void do_stack_segment(struct pt_regs *regs, long error_code);
60dotraplinkage void do_general_protection(struct pt_regs *regs, long error_code);
61dotraplinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code, unsigned long address);
62dotraplinkage void do_spurious_interrupt_bug(struct pt_regs *regs, long error_code);
63dotraplinkage void do_coprocessor_error(struct pt_regs *regs, long error_code);
64dotraplinkage void do_alignment_check(struct pt_regs *regs, long error_code);

--- 67 unchanged lines hidden ---