Home
last modified time | relevance | path

Searched refs:fixup (Results 1 - 25 of 349) sorted by relevance

12345678910>>...14

/kernel/linux/linux-6.6/arch/arm64/include/asm/
H A Dasm-extable.h28 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
32 .long ((fixup) - .); \
40 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \
41 __ASM_EXTABLE_RAW(insn, fixup, \
48 #define _ASM_EXTABLE_UACCESS_ERR(insn, fixup, err) \
49 _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, wzr)
51 #define _ASM_EXTABLE_UACCESS(insn, fixup) \
52 _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, wzr, wzr)
55 * Create an exception table entry for uaccess `insn`, which will branch to `fixup`
58 .macro _asm_extable_uaccess, insn, fixup
[all...]
/kernel/linux/linux-5.10/arch/powerpc/lib/
H A Dfeature-fixups.c636 static struct fixup_entry fixup; variable
651 fixup.value = fixup.mask = 8; in test_basic_patching()
652 fixup.start_off = calc_offset(&fixup, ftr_fixup_test1 + 1); in test_basic_patching()
653 fixup.end_off = calc_offset(&fixup, ftr_fixup_test1 + 2); in test_basic_patching()
654 fixup.alt_start_off = fixup.alt_end_off = 0; in test_basic_patching()
660 patch_feature_section(8, &fixup); in test_basic_patching()
[all...]
/kernel/linux/linux-6.6/arch/powerpc/lib/
H A Dfeature-fixups.c710 static struct fixup_entry fixup; variable
725 fixup.value = fixup.mask = 8; in test_basic_patching()
726 fixup.start_off = calc_offset(&fixup, ftr_fixup_test1 + 1); in test_basic_patching()
727 fixup.end_off = calc_offset(&fixup, ftr_fixup_test1 + 2); in test_basic_patching()
728 fixup.alt_start_off = fixup.alt_end_off = 0; in test_basic_patching()
734 patch_feature_section(8, &fixup); in test_basic_patching()
[all...]
/kernel/linux/linux-6.6/arch/riscv/include/asm/
H A Dasm-extable.h14 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
18 .long ((fixup) - .); \
23 .macro _asm_extable, insn, fixup
24 __ASM_EXTABLE_RAW(\insn, \fixup, EX_TYPE_FIXUP, 0)
33 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
37 ".long ((" fixup ") - .)\n" \
42 #define _ASM_EXTABLE(insn, fixup) \
43 __ASM_EXTABLE_RAW(#insn, #fixup, __stringify(EX_TYPE_FIXUP), "0")
53 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \
55 __ASM_EXTABLE_RAW(#insn, #fixup, \
[all...]
/kernel/linux/linux-5.10/arch/s390/lib/
H A Dprobes.c48 /* default fixup method */ in probe_get_fixup_type()
49 int fixup = FIXUP_PSW_NORMAL; in probe_get_fixup_type() local
54 fixup = FIXUP_RETURN_REGISTER; in probe_get_fixup_type()
57 fixup |= FIXUP_BRANCH_NOT_TAKEN; in probe_get_fixup_type()
61 fixup = FIXUP_BRANCH_NOT_TAKEN; in probe_get_fixup_type()
65 fixup = FIXUP_RETURN_REGISTER; in probe_get_fixup_type()
71 fixup = FIXUP_BRANCH_NOT_TAKEN; in probe_get_fixup_type()
74 fixup = FIXUP_NOT_REQUIRED; in probe_get_fixup_type()
78 fixup = FIXUP_NOT_REQUIRED; in probe_get_fixup_type()
82 fixup | in probe_get_fixup_type()
[all...]
/kernel/linux/linux-6.6/arch/s390/lib/
H A Dprobes.c48 /* default fixup method */ in probe_get_fixup_type()
49 int fixup = FIXUP_PSW_NORMAL; in probe_get_fixup_type() local
54 fixup = FIXUP_RETURN_REGISTER; in probe_get_fixup_type()
57 fixup |= FIXUP_BRANCH_NOT_TAKEN; in probe_get_fixup_type()
61 fixup = FIXUP_BRANCH_NOT_TAKEN; in probe_get_fixup_type()
65 fixup = FIXUP_RETURN_REGISTER; in probe_get_fixup_type()
71 fixup = FIXUP_BRANCH_NOT_TAKEN; in probe_get_fixup_type()
74 fixup = FIXUP_NOT_REQUIRED; in probe_get_fixup_type()
78 fixup = FIXUP_NOT_REQUIRED; in probe_get_fixup_type()
82 fixup | in probe_get_fixup_type()
[all...]
/kernel/linux/linux-5.10/arch/loongarch/include/asm/
H A Dasm-extable.h11 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
15 .long ((fixup) - .); \
20 .macro _asm_extable, insn, fixup
21 __ASM_EXTABLE_RAW(\insn, \fixup, EX_TYPE_FIXUP, 0)
30 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
34 ".long ((" fixup ") - .)\n" \
39 #define _ASM_EXTABLE(insn, fixup) \
40 __ASM_EXTABLE_RAW(#insn, #fixup, __stringify(EX_TYPE_FIXUP), "0")
50 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \
52 __ASM_EXTABLE_RAW(#insn, #fixup, \
[all...]
/kernel/linux/linux-6.6/arch/loongarch/include/asm/
H A Dasm-extable.h12 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
16 .long ((fixup) - .); \
21 .macro _asm_extable, insn, fixup
22 __ASM_EXTABLE_RAW(\insn, \fixup, EX_TYPE_FIXUP, 0)
31 #define __ASM_EXTABLE_RAW(insn, fixup, type, data) \
35 ".long ((" fixup ") - .)\n" \
40 #define _ASM_EXTABLE(insn, fixup) \
41 __ASM_EXTABLE_RAW(#insn, #fixup, __stringify(EX_TYPE_FIXUP), "0")
51 #define _ASM_EXTABLE_UACCESS_ERR_ZERO(insn, fixup, err, zero) \
53 __ASM_EXTABLE_RAW(#insn, #fixup, \
[all...]
/kernel/linux/linux-5.10/arch/alpha/include/asm/
H A Dextable.h17 * The exception fixup information "just so happens" to be arranged
35 } fixup; member
41 if ((_fixup)->fixup.bits.valreg != 31) \
42 map_reg((_fixup)->fixup.bits.valreg) = 0; \
43 if ((_fixup)->fixup.bits.errreg != 31) \
44 map_reg((_fixup)->fixup.bits.errreg) = -EFAULT; \
45 (pc) + (_fixup)->fixup.bits.nextinsn; \
52 (a)->fixup.unit = (b)->fixup.unit; \
53 (b)->fixup
[all...]
/kernel/linux/linux-6.6/arch/alpha/include/asm/
H A Dextable.h17 * The exception fixup information "just so happens" to be arranged
35 } fixup; member
41 if ((_fixup)->fixup.bits.valreg != 31) \
42 map_reg((_fixup)->fixup.bits.valreg) = 0; \
43 if ((_fixup)->fixup.bits.errreg != 31) \
44 map_reg((_fixup)->fixup.bits.errreg) = -EFAULT; \
45 (pc) + (_fixup)->fixup.bits.nextinsn; \
52 (a)->fixup.unit = (b)->fixup.unit; \
53 (b)->fixup
[all...]
/kernel/linux/linux-5.10/arch/x86/mm/
H A Dextable.c19 return (unsigned long)&x->fixup + x->fixup; in ex_fixup_addr()
27 __visible bool ex_handler_default(const struct exception_table_entry *fixup, in ex_handler_default() argument
32 regs->ip = ex_fixup_addr(fixup); in ex_handler_default()
37 __visible bool ex_handler_fault(const struct exception_table_entry *fixup, in ex_handler_fault() argument
42 regs->ip = ex_fixup_addr(fixup); in ex_handler_fault()
58 __visible bool ex_handler_fprestore(const struct exception_table_entry *fixup, in ex_handler_fprestore() argument
63 regs->ip = ex_fixup_addr(fixup); in ex_handler_fprestore()
73 __visible bool ex_handler_uaccess(const struct exception_table_entry *fixup, in ex_handler_uaccess() argument
79 regs->ip = ex_fixup_addr(fixup); in ex_handler_uaccess()
84 ex_handler_copy(const struct exception_table_entry *fixup, struct pt_regs *regs, int trapnr, unsigned long error_code, unsigned long fault_addr) ex_handler_copy() argument
96 ex_handler_rdmsr_unsafe(const struct exception_table_entry *fixup, struct pt_regs *regs, int trapnr, unsigned long error_code, unsigned long fault_addr) ex_handler_rdmsr_unsafe() argument
113 ex_handler_wrmsr_unsafe(const struct exception_table_entry *fixup, struct pt_regs *regs, int trapnr, unsigned long error_code, unsigned long fault_addr) ex_handler_wrmsr_unsafe() argument
129 ex_handler_clear_fs(const struct exception_table_entry *fixup, struct pt_regs *regs, int trapnr, unsigned long error_code, unsigned long fault_addr) ex_handler_clear_fs() argument
[all...]
/kernel/linux/linux-5.10/arch/arm64/mm/
H A Dextable.c11 const struct exception_table_entry *fixup; in fixup_exception() local
13 fixup = search_exception_tables(instruction_pointer(regs)); in fixup_exception()
14 if (!fixup) in fixup_exception()
18 return arm64_bpf_fixup_exception(fixup, regs); in fixup_exception()
20 regs->pc = (unsigned long)&fixup->fixup + fixup->fixup; in fixup_exception()
/kernel/linux/linux-5.10/arch/arm/mm/
H A Dextable.c10 const struct exception_table_entry *fixup; in fixup_exception() local
12 fixup = search_exception_tables(instruction_pointer(regs)); in fixup_exception()
13 if (fixup) { in fixup_exception()
14 regs->ARM_pc = (unsigned long)&fixup->fixup + fixup->fixup; in fixup_exception()
16 /* Clear the IT state to avoid nasty surprises in the fixup */ in fixup_exception()
21 return fixup != NULL; in fixup_exception()
/kernel/linux/linux-5.10/arch/sparc/mm/
H A Dextable.c15 /* Caller knows they are in a range if ret->fixup == 0 */
25 * word 2: fixup code address in search_extable()
31 * word 4: fixup code address in search_extable()
42 if (base[i].fixup == 0) { in search_extable()
49 if (base[i].fixup == -1) in search_extable()
58 if (base[i].fixup) in search_extable()
78 range = m->extable[i].fixup == 0; in trim_init_extable()
81 m->extable[i].fixup = -1; in trim_init_extable()
83 m->extable[i+1].fixup = -1; in trim_init_extable()
91 /* Special extable search, which handles ranges. Returns fixup */
[all...]
/kernel/linux/linux-6.6/arch/x86/mm/
H A Dextable.c29 return (unsigned long)&x->fixup + x->fixup; in ex_fixup_addr()
53 * of size 'long', and the exception fixup must always point to right
97 static bool ex_handler_fault(const struct exception_table_entry *fixup, in ex_handler_fault() argument
101 return ex_handler_default(fixup, regs); in ex_handler_fault()
104 static bool ex_handler_sgx(const struct exception_table_entry *fixup, in ex_handler_sgx() argument
108 return ex_handler_default(fixup, regs); in ex_handler_sgx()
121 static bool ex_handler_fprestore(const struct exception_table_entry *fixup, in ex_handler_fprestore() argument
124 regs->ip = ex_fixup_addr(fixup); in ex_handler_fprestore()
157 static bool ex_handler_uaccess(const struct exception_table_entry *fixup, in ex_handler_uaccess() argument
166 ex_handler_copy(const struct exception_table_entry *fixup, struct pt_regs *regs, int trapnr) ex_handler_copy() argument
173 ex_handler_msr(const struct exception_table_entry *fixup, struct pt_regs *regs, bool wrmsr, bool safe, int reg) ex_handler_msr() argument
201 ex_handler_clear_fs(const struct exception_table_entry *fixup, struct pt_regs *regs) ex_handler_clear_fs() argument
210 ex_handler_imm_reg(const struct exception_table_entry *fixup, struct pt_regs *regs, int reg, int imm) ex_handler_imm_reg() argument
217 ex_handler_ucopy_len(const struct exception_table_entry *fixup, struct pt_regs *regs, int trapnr, unsigned long fault_address, int reg, int imm) ex_handler_ucopy_len() argument
[all...]
/kernel/linux/linux-5.10/arch/x86/um/
H A Dfault.c12 unsigned long fixup; member
20 const struct exception_table_entry *fixup; in arch_fixup() local
22 fixup = search_exception_tables(address); in arch_fixup()
23 if (fixup) { in arch_fixup()
24 UPT_IP(regs) = fixup->fixup; in arch_fixup()
/kernel/linux/linux-5.10/arch/nds32/mm/
H A Dextable.c9 const struct exception_table_entry *fixup; in fixup_exception() local
11 fixup = search_exception_tables(instruction_pointer(regs)); in fixup_exception()
12 if (fixup) in fixup_exception()
13 regs->ipc = fixup->fixup; in fixup_exception()
15 return fixup != NULL; in fixup_exception()
/kernel/linux/linux-6.6/arch/arm/mm/
H A Dextable.c10 const struct exception_table_entry *fixup; in fixup_exception() local
12 fixup = search_exception_tables(instruction_pointer(regs)); in fixup_exception()
13 if (fixup) { in fixup_exception()
14 regs->ARM_pc = fixup->fixup; in fixup_exception()
16 /* Clear the IT state to avoid nasty surprises in the fixup */ in fixup_exception()
21 return fixup != NULL; in fixup_exception()
/kernel/linux/linux-6.6/arch/x86/um/
H A Dfault.c12 unsigned long fixup; member
20 const struct exception_table_entry *fixup; in arch_fixup() local
22 fixup = search_exception_tables(address); in arch_fixup()
23 if (fixup) { in arch_fixup()
24 UPT_IP(regs) = fixup->fixup; in arch_fixup()
/kernel/linux/linux-6.6/arch/s390/include/asm/
H A Dextable.h19 * All the routines below use bits of fixup code that are out of line
27 int insn, fixup; member
38 return (unsigned long)&x->fixup + x->fixup; in extable_fixup()
48 a->fixup = b->fixup + delta; in swap_ex_entry_fixup()
49 b->fixup = tmp.fixup - delta; in swap_ex_entry_fixup()
/kernel/linux/linux-5.10/arch/s390/include/asm/
H A Dextable.h19 * All the routines below use bits of fixup code that are out of line
27 int insn, fixup; member
38 return (unsigned long)&x->fixup + x->fixup; in extable_fixup()
70 a->fixup = b->fixup + delta; in swap_ex_entry_fixup()
71 b->fixup = tmp.fixup - delta; in swap_ex_entry_fixup()
/kernel/linux/linux-5.10/arch/mips/lib/
H A Dmemset.S58 .macro f_fill64 dst, offset, val, fixup, mode
59 EX(LONG_S, \val, (\offset + 0 * STORSIZE)(\dst), \fixup)
60 EX(LONG_S, \val, (\offset + 1 * STORSIZE)(\dst), \fixup)
61 EX(LONG_S, \val, (\offset + 2 * STORSIZE)(\dst), \fixup)
62 EX(LONG_S, \val, (\offset + 3 * STORSIZE)(\dst), \fixup)
64 EX(LONG_S, \val, (\offset + 4 * STORSIZE)(\dst), \fixup)
65 EX(LONG_S, \val, (\offset + 5 * STORSIZE)(\dst), \fixup)
66 EX(LONG_S, \val, (\offset + 6 * STORSIZE)(\dst), \fixup)
67 EX(LONG_S, \val, (\offset + 7 * STORSIZE)(\dst), \fixup)
70 EX(LONG_S, \val, (\offset + 8 * STORSIZE)(\dst), \fixup)
[all...]
/kernel/linux/linux-6.6/arch/mips/lib/
H A Dmemset.S58 .macro f_fill64 dst, offset, val, fixup, mode
59 EX(LONG_S, \val, (\offset + 0 * STORSIZE)(\dst), \fixup)
60 EX(LONG_S, \val, (\offset + 1 * STORSIZE)(\dst), \fixup)
61 EX(LONG_S, \val, (\offset + 2 * STORSIZE)(\dst), \fixup)
62 EX(LONG_S, \val, (\offset + 3 * STORSIZE)(\dst), \fixup)
64 EX(LONG_S, \val, (\offset + 4 * STORSIZE)(\dst), \fixup)
65 EX(LONG_S, \val, (\offset + 5 * STORSIZE)(\dst), \fixup)
66 EX(LONG_S, \val, (\offset + 6 * STORSIZE)(\dst), \fixup)
67 EX(LONG_S, \val, (\offset + 7 * STORSIZE)(\dst), \fixup)
70 EX(LONG_S, \val, (\offset + 8 * STORSIZE)(\dst), \fixup)
[all...]
/kernel/linux/linux-5.10/arch/nios2/mm/
H A Dextable.c16 const struct exception_table_entry *fixup; in fixup_exception() local
18 fixup = search_exception_tables(regs->ea); in fixup_exception()
19 if (fixup) { in fixup_exception()
20 regs->ea = fixup->fixup; in fixup_exception()
/kernel/linux/linux-6.6/arch/nios2/mm/
H A Dextable.c16 const struct exception_table_entry *fixup; in fixup_exception() local
18 fixup = search_exception_tables(regs->ea); in fixup_exception()
19 if (fixup) { in fixup_exception()
20 regs->ea = fixup->fixup; in fixup_exception()

Completed in 11 milliseconds

12345678910>>...14