Lines Matching refs:regs
19 struct pt_regs *regs) in ex_handler_default() argument
21 regs->ip = ex_fixup_addr(fixup); in ex_handler_default()
26 struct pt_regs *regs, int trapnr) in ex_handler_fault() argument
28 regs->ax = trapnr; in ex_handler_fault()
29 return ex_handler_default(fixup, regs); in ex_handler_fault()
43 struct pt_regs *regs) in ex_handler_fprestore() argument
45 regs->ip = ex_fixup_addr(fixup); in ex_handler_fprestore()
48 (void *)instruction_pointer(regs)); in ex_handler_fprestore()
55 struct pt_regs *regs, int trapnr) in ex_handler_uaccess() argument
58 return ex_handler_default(fixup, regs); in ex_handler_uaccess()
62 struct pt_regs *regs, int trapnr) in ex_handler_copy() argument
65 return ex_handler_fault(fixup, regs, trapnr); in ex_handler_copy()
69 struct pt_regs *regs) in ex_handler_rdmsr_unsafe() argument
72 (unsigned int)regs->cx, regs->ip, (void *)regs->ip)) in ex_handler_rdmsr_unsafe()
73 show_stack_regs(regs); in ex_handler_rdmsr_unsafe()
76 regs->ax = 0; in ex_handler_rdmsr_unsafe()
77 regs->dx = 0; in ex_handler_rdmsr_unsafe()
78 return ex_handler_default(fixup, regs); in ex_handler_rdmsr_unsafe()
82 struct pt_regs *regs) in ex_handler_wrmsr_unsafe() argument
85 (unsigned int)regs->cx, (unsigned int)regs->dx, in ex_handler_wrmsr_unsafe()
86 (unsigned int)regs->ax, regs->ip, (void *)regs->ip)) in ex_handler_wrmsr_unsafe()
87 show_stack_regs(regs); in ex_handler_wrmsr_unsafe()
90 return ex_handler_default(fixup, regs); in ex_handler_wrmsr_unsafe()
94 struct pt_regs *regs) in ex_handler_clear_fs() argument
99 return ex_handler_default(fixup, regs); in ex_handler_clear_fs()
109 int fixup_exception(struct pt_regs *regs, int trapnr, unsigned long error_code, in fixup_exception() argument
115 if (unlikely(SEGMENT_IS_PNP_CODE(regs->cs))) { in fixup_exception()
128 e = search_exception_tables(regs->ip); in fixup_exception()
135 return ex_handler_default(e, regs); in fixup_exception()
138 return ex_handler_fault(e, regs, trapnr); in fixup_exception()
140 return ex_handler_uaccess(e, regs, trapnr); in fixup_exception()
142 return ex_handler_copy(e, regs, trapnr); in fixup_exception()
144 return ex_handler_clear_fs(e, regs); in fixup_exception()
146 return ex_handler_fprestore(e, regs); in fixup_exception()
148 return ex_handler_rdmsr_unsafe(e, regs); in fixup_exception()
150 return ex_handler_wrmsr_unsafe(e, regs); in fixup_exception()
152 return ex_handler_bpf(e, regs); in fixup_exception()
154 ex_handler_msr_mce(regs, false); in fixup_exception()
157 ex_handler_msr_mce(regs, true); in fixup_exception()
166 void __init early_fixup_exception(struct pt_regs *regs, int trapnr) in early_fixup_exception() argument
181 if (!xen_pv_domain() && regs->cs != __KERNEL_CS) in early_fixup_exception()
198 if (fixup_exception(regs, trapnr, regs->orig_ax, 0)) in early_fixup_exception()
202 if (report_bug(regs->ip, regs) == BUG_TRAP_TYPE_WARN) { in early_fixup_exception()
204 regs->ip += LEN_UD2; in early_fixup_exception()
217 (unsigned)trapnr, (unsigned long)regs->cs, regs->ip, in early_fixup_exception()
218 regs->orig_ax, read_cr2()); in early_fixup_exception()
220 show_regs(regs); in early_fixup_exception()