Lines Matching refs:ex
17 get_ex_fixup(const struct exception_table_entry *ex) in get_ex_fixup() argument
19 return ((unsigned long)&ex->fixup + ex->fixup); in get_ex_fixup()
22 static bool ex_handler_fixup(const struct exception_table_entry *ex, in ex_handler_fixup() argument
25 regs->pc = get_ex_fixup(ex); in ex_handler_fixup()
29 static bool ex_handler_uaccess_err_zero(const struct exception_table_entry *ex, in ex_handler_uaccess_err_zero() argument
32 int reg_err = FIELD_GET(EX_DATA_REG_ERR, ex->data); in ex_handler_uaccess_err_zero()
33 int reg_zero = FIELD_GET(EX_DATA_REG_ZERO, ex->data); in ex_handler_uaccess_err_zero()
38 regs->pc = get_ex_fixup(ex); in ex_handler_uaccess_err_zero()
43 ex_handler_load_unaligned_zeropad(const struct exception_table_entry *ex, in ex_handler_load_unaligned_zeropad() argument
46 int reg_data = FIELD_GET(EX_DATA_REG_DATA, ex->type); in ex_handler_load_unaligned_zeropad()
47 int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->type); in ex_handler_load_unaligned_zeropad()
65 regs->pc = get_ex_fixup(ex); in ex_handler_load_unaligned_zeropad()
71 const struct exception_table_entry *ex; in fixup_exception() local
73 ex = search_exception_tables(instruction_pointer(regs)); in fixup_exception()
74 if (!ex) in fixup_exception()
77 switch (ex->type) { in fixup_exception()
79 return ex_handler_fixup(ex, regs); in fixup_exception()
81 return ex_handler_bpf(ex, regs); in fixup_exception()
83 return ex_handler_uaccess_err_zero(ex, regs); in fixup_exception()
85 return ex_handler_load_unaligned_zeropad(ex, regs); in fixup_exception()