/kernel/linux/linux-6.6/tools/objtool/ |
H A D | orc_gen.c | 16 static int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi, in init_orc_entry() argument 21 memset(orc, 0, sizeof(*orc)); in init_orc_entry() 29 orc->type = ORC_TYPE_UNDEFINED; in init_orc_entry() 35 orc->type = ORC_TYPE_UNDEFINED; in init_orc_entry() 38 orc->type = ORC_TYPE_END_OF_STACK; in init_orc_entry() 41 orc->type = ORC_TYPE_CALL; in init_orc_entry() 44 orc->type = ORC_TYPE_REGS; in init_orc_entry() 47 orc->type = ORC_TYPE_REGS_PARTIAL; in init_orc_entry() 54 orc in init_orc_entry() 112 struct orc_entry *orc; write_orc_entry() local 130 struct orc_entry orc; global() member 135 orc_list_add(struct list_head *orc_list, struct orc_entry *orc, struct section *sec, unsigned long offset) orc_list_add() argument 172 struct orc_entry orc, prev_orc = {0}; orc_create() local [all...] |
H A D | orc_dump.c | 71 struct orc_entry *orc = NULL; in orc_dump() local 146 orc = data->d_buf; in orc_dump() 156 if (!symtab || !strtab_idx || !orc || !orc_ip) in orc_dump() 159 if (orc_size % sizeof(*orc) != 0) { in orc_dump() 164 nr_entries = orc_size / sizeof(*orc); in orc_dump() 208 printf("type:%s", orc_type_name(orc[i].type)); in orc_dump() 212 print_reg(orc[i].sp_reg, bswap_if_needed(&dummy_elf, orc[i].sp_offset)); in orc_dump() 216 print_reg(orc[i].bp_reg, bswap_if_needed(&dummy_elf, orc[ in orc_dump() [all...] |
H A D | builtin-check.c | 31 if (!str || !strcmp(str, "orc")) { in parse_dump() 74 OPT_BOOLEAN('o', "orc", &opts.orc, "generate ORC metadata"), 84 OPT_CALLBACK_OPTARG(0, "dump", NULL, NULL, "orc", "dump metadata", parse_dump), 139 opts.orc || in opts_valid()
|
/kernel/linux/linux-5.10/tools/objtool/ |
H A D | orc_gen.c | 15 static int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi, in init_orc_entry() argument 20 memset(orc, 0, sizeof(*orc)); in init_orc_entry() 23 orc->end = 0; in init_orc_entry() 24 orc->sp_reg = ORC_REG_UNDEFINED; in init_orc_entry() 28 orc->end = cfi->end; in init_orc_entry() 31 orc->sp_reg = ORC_REG_UNDEFINED; in init_orc_entry() 37 orc->sp_reg = ORC_REG_SP; in init_orc_entry() 40 orc->sp_reg = ORC_REG_SP_INDIRECT; in init_orc_entry() 43 orc in init_orc_entry() 94 struct orc_entry *orc; write_orc_entry() local 110 struct orc_entry orc; global() member 115 orc_list_add(struct list_head *orc_list, struct orc_entry *orc, struct section *sec, unsigned long offset) orc_list_add() argument 156 struct orc_entry orc, prev_orc = {0}; orc_create() local [all...] |
H A D | orc_dump.c | 67 struct orc_entry *orc = NULL; in orc_dump() local 135 orc = data->d_buf; in orc_dump() 145 if (!symtab || !strtab_idx || !orc || !orc_ip) in orc_dump() 148 if (orc_size % sizeof(*orc) != 0) { in orc_dump() 153 nr_entries = orc_size / sizeof(*orc); in orc_dump() 200 print_reg(orc[i].sp_reg, orc[i].sp_offset); in orc_dump() 204 print_reg(orc[i].bp_reg, orc[i].bp_offset); in orc_dump() 207 orc_type_name(orc[ in orc_dump() [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | unwind_orc.c | 84 * Ftrace dynamic trampolines do not have orc entries of their own. 86 * defined in ftrace_*.S, which do have orc entries. 90 * function's orc entry, as the placement of the return code in 151 static struct orc_entry *orc; in orc_find() local 188 orc = orc_module_find(ip); in orc_find() 189 if (orc) in orc_find() 190 return orc; in orc_find() 247 struct orc_entry *orc = _orc; in unwind_module_init() local 251 orc_size % sizeof(*orc) != 0 || in unwind_module_init() 252 num_entries != orc_size / sizeof(*orc)); in unwind_module_init() 276 struct orc_entry *orc; unwind_init() local 426 struct orc_entry *orc; unwind_next_frame() local [all...] |
H A D | module.c | 254 *para = NULL, *orc = NULL, *orc_ip = NULL, in module_finalize() local 268 orc = s; in module_finalize() 306 if (orc && orc_ip) in module_finalize() 308 (void *)orc->sh_addr, orc->sh_size); in module_finalize()
|
/kernel/linux/linux-5.10/arch/loongarch/kernel/ |
H A D | unwind_orc.c | 113 struct orc_entry *orc = NULL; in orc_find() local 151 orc = orc_module_find(ip); in orc_find() 152 if (orc) in orc_find() 153 return orc; in orc_find() 207 struct orc_entry *orc = _orc; in unwind_module_init() local 211 orc_size % sizeof(*orc) != 0 || in unwind_module_init() 212 num_entries != orc_size / sizeof(*orc)); in unwind_module_init() 221 cur_orc_table = orc; in unwind_module_init() 226 mod->arch.orc_unwind = orc; in unwind_module_init() 237 struct orc_entry *orc; in unwind_init() local 384 struct orc_entry *orc; unwind_next_frame() local [all...] |
H A D | module.c | 531 const Elf_Shdr *s, *orc = NULL, *orc_ip = NULL, *alt = NULL, *ftrace = NULL; in module_finalize() local 539 orc = s; in module_finalize() 549 if (orc && orc_ip) in module_finalize() 550 unwind_module_init(mod, (void *)orc_ip->sh_addr, orc_ip->sh_size, (void *)orc->sh_addr, orc->sh_size); in module_finalize()
|
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | unwind_orc.c | 134 * Ftrace dynamic trampolines do not have orc entries of their own. 136 * defined in ftrace_*.S, which do have orc entries. 140 * function's orc entry, as the placement of the return code in 200 static struct orc_entry *orc; in orc_find() local 237 orc = orc_module_find(ip); in orc_find() 238 if (orc) in orc_find() 239 return orc; in orc_find() 293 struct orc_entry *orc = _orc; in unwind_module_init() local 297 orc_size % sizeof(*orc) != 0 || in unwind_module_init() 298 num_entries != orc_size / sizeof(*orc)); in unwind_module_init() 322 struct orc_entry *orc; unwind_init() local 472 struct orc_entry *orc; unwind_next_frame() local [all...] |
H A D | module.c | 279 *para = NULL, *orc = NULL, *orc_ip = NULL, in module_finalize() local 292 orc = s; in module_finalize() 372 if (orc && orc_ip) in module_finalize() 374 (void *)orc->sh_addr, orc->sh_size); in module_finalize()
|
/kernel/linux/linux-5.10/arch/loongarch/include/asm/ |
H A D | unwind.h | 51 void unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size); 54 static inline void unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) {} in unwind_module_init() argument
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | unwind.h | 94 void *orc, size_t orc_size); 99 void *orc, size_t orc_size) {} in unwind_module_init() 98 unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) unwind_module_init() argument
|
/kernel/linux/linux-6.6/arch/riscv/lib/ |
H A D | strlen.S | 82 orc.b t1, t1 112 orc.b t1, t1
|
H A D | strncmp.S | 83 orc.b t3, t0 85 orc.b t3, t1
|
H A D | strcmp.S | 74 orc.b t3, t0
|
/kernel/linux/linux-5.10/arch/h8300/kernel/ |
H A D | entry.S | 93 orc #0x10,ccr /* switch kernel stack */ 134 orc #0xc0,ccr 235 orc #7,exr 279 orc #0xc0,ccr 293 orc #0xc0,ccr 366 orc #0xc0,ccr
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | unwind.h | 98 void *orc, size_t orc_size); 103 void *orc, size_t orc_size) {} in unwind_module_init() 102 unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) unwind_module_init() argument
|
/kernel/linux/linux-5.10/arch/um/include/asm/ |
H A D | unwind.h | 6 void *orc, size_t orc_size) {} in unwind_module_init() 5 unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) unwind_module_init() argument
|
/kernel/linux/linux-6.6/arch/um/include/asm/ |
H A D | unwind.h | 6 void *orc, size_t orc_size) {} in unwind_module_init() 5 unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) unwind_module_init() argument
|
/kernel/linux/linux-6.6/tools/objtool/include/objtool/ |
H A D | builtin.h | 19 bool orc; member
|
/kernel/linux/linux-5.10/arch/s390/include/asm/ |
H A D | unwind.h | 80 size_t orc_ip_size, void *orc, in unwind_module_init() 79 unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) unwind_module_init() argument
|
/kernel/linux/linux-6.6/arch/s390/include/asm/ |
H A D | unwind.h | 95 size_t orc_ip_size, void *orc, in unwind_module_init() 94 unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) unwind_module_init() argument
|
/kernel/linux/linux-5.10/arch/s390/kvm/ |
H A D | priv.c | 1141 static inline int __do_essa(struct kvm_vcpu *vcpu, const int orc) in __do_essa() argument 1160 nappended = pgste_perform_essa(vcpu->kvm->mm, hva, orc, &ptev, &pgstev); in __do_essa() 1162 res = orc ? 0x10 : 0; in __do_essa() 1192 if (orc) { in __do_essa() 1209 int i, orc; in handle_essa() local 1220 orc = (vcpu->arch.sie_block->ipb & 0xf0000000) >> 28; in handle_essa() 1222 if (orc > (test_kvm_facility(vcpu->kvm, 147) ? ESSA_SET_STABLE_NODAT in handle_essa() 1258 i = __do_essa(vcpu, orc); in handle_essa()
|
/kernel/linux/linux-6.6/arch/s390/kvm/ |
H A D | priv.c | 1153 static inline int __do_essa(struct kvm_vcpu *vcpu, const int orc) in __do_essa() argument 1172 nappended = pgste_perform_essa(vcpu->kvm->mm, hva, orc, &ptev, &pgstev); in __do_essa() 1174 res = orc ? 0x10 : 0; in __do_essa() 1204 if (orc) { in __do_essa() 1221 int i, orc; in handle_essa() local 1232 orc = (vcpu->arch.sie_block->ipb & 0xf0000000) >> 28; in handle_essa() 1234 if (orc > (test_kvm_facility(vcpu->kvm, 147) ? ESSA_SET_STABLE_NODAT in handle_essa() 1270 i = __do_essa(vcpu, orc); in handle_essa()
|