Lines Matching refs:ex
23 static bool ex_handler_fixup(const struct exception_table_entry *ex, struct pt_regs *regs) in ex_handler_fixup() argument
25 regs->psw.addr = extable_fixup(ex); in ex_handler_fixup()
29 static bool ex_handler_ua_store(const struct exception_table_entry *ex, struct pt_regs *regs) in ex_handler_ua_store() argument
31 unsigned int reg_err = FIELD_GET(EX_DATA_REG_ERR, ex->data); in ex_handler_ua_store()
34 regs->psw.addr = extable_fixup(ex); in ex_handler_ua_store()
38 static bool ex_handler_ua_load_mem(const struct exception_table_entry *ex, struct pt_regs *regs) in ex_handler_ua_load_mem() argument
40 unsigned int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->data); in ex_handler_ua_load_mem()
41 unsigned int reg_err = FIELD_GET(EX_DATA_REG_ERR, ex->data); in ex_handler_ua_load_mem()
42 size_t len = FIELD_GET(EX_DATA_LEN, ex->data); in ex_handler_ua_load_mem()
46 regs->psw.addr = extable_fixup(ex); in ex_handler_ua_load_mem()
50 static bool ex_handler_ua_load_reg(const struct exception_table_entry *ex, in ex_handler_ua_load_reg() argument
53 unsigned int reg_zero = FIELD_GET(EX_DATA_REG_ADDR, ex->data); in ex_handler_ua_load_reg()
54 unsigned int reg_err = FIELD_GET(EX_DATA_REG_ERR, ex->data); in ex_handler_ua_load_reg()
60 regs->psw.addr = extable_fixup(ex); in ex_handler_ua_load_reg()
66 const struct exception_table_entry *ex; in fixup_exception() local
68 ex = s390_search_extables(instruction_pointer(regs)); in fixup_exception()
69 if (!ex) in fixup_exception()
71 switch (ex->type) { in fixup_exception()
73 return ex_handler_fixup(ex, regs); in fixup_exception()
75 return ex_handler_bpf(ex, regs); in fixup_exception()
77 return ex_handler_ua_store(ex, regs); in fixup_exception()
79 return ex_handler_ua_load_mem(ex, regs); in fixup_exception()
81 return ex_handler_ua_load_reg(ex, false, regs); in fixup_exception()
83 return ex_handler_ua_load_reg(ex, true, regs); in fixup_exception()