Lines Matching refs:ex
18 get_ex_fixup(const struct exception_table_entry *ex) in get_ex_fixup() argument
20 return ((unsigned long)&ex->fixup + ex->fixup); in get_ex_fixup()
23 static bool ex_handler_fixup(const struct exception_table_entry *ex, in ex_handler_fixup() argument
26 regs->epc = get_ex_fixup(ex); in ex_handler_fixup()
48 static bool ex_handler_uaccess_err_zero(const struct exception_table_entry *ex, in ex_handler_uaccess_err_zero() argument
51 int reg_err = FIELD_GET(EX_DATA_REG_ERR, ex->data); in ex_handler_uaccess_err_zero()
52 int reg_zero = FIELD_GET(EX_DATA_REG_ZERO, ex->data); in ex_handler_uaccess_err_zero()
57 regs->epc = get_ex_fixup(ex); in ex_handler_uaccess_err_zero()
62 ex_handler_load_unaligned_zeropad(const struct exception_table_entry *ex, in ex_handler_load_unaligned_zeropad() argument
65 int reg_data = FIELD_GET(EX_DATA_REG_DATA, ex->data); in ex_handler_load_unaligned_zeropad()
66 int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->data); in ex_handler_load_unaligned_zeropad()
78 regs->epc = get_ex_fixup(ex); in ex_handler_load_unaligned_zeropad()
84 const struct exception_table_entry *ex; in fixup_exception() local
86 ex = search_exception_tables(regs->epc); in fixup_exception()
87 if (!ex) in fixup_exception()
90 switch (ex->type) { in fixup_exception()
92 return ex_handler_fixup(ex, regs); in fixup_exception()
94 return ex_handler_bpf(ex, regs); in fixup_exception()
96 return ex_handler_uaccess_err_zero(ex, regs); in fixup_exception()
98 return ex_handler_load_unaligned_zeropad(ex, regs); in fixup_exception()