Lines Matching defs: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);
64 static bool ex_handler_zeropad(const struct exception_table_entry *ex, struct pt_regs *regs)
66 unsigned int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->data);
67 unsigned int reg_data = FIELD_GET(EX_DATA_REG_ERR, ex->data);
76 regs->psw.addr = extable_fixup(ex);
82 const struct exception_table_entry *ex;
84 ex = s390_search_extables(instruction_pointer(regs));
85 if (!ex)
87 switch (ex->type) {
89 return ex_handler_fixup(ex, regs);
91 return ex_handler_bpf(ex, regs);
93 return ex_handler_ua_store(ex, regs);
95 return ex_handler_ua_load_mem(ex, regs);
97 return ex_handler_ua_load_reg(ex, false, regs);
99 return ex_handler_ua_load_reg(ex, true, regs);
101 return ex_handler_zeropad(ex, regs);