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