/arch/microblaze/kernel/ |
D | unwind.c | 76 static unsigned long *find_frame_creation(unsigned long *pc) in find_frame_creation() argument 85 for (i = 0; i < 1000; i++, pc--) { in find_frame_creation() 89 if (!kernel_text_address((unsigned long) pc)) in find_frame_creation() 92 instr = *pc; in find_frame_creation() 101 frame_size, pc); in find_frame_creation() 105 pr_debug(" Found frame creation at 0x%p, size %d\n", pc, in find_frame_creation() 107 return pc; in find_frame_creation() 124 static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc, in lookup_prev_stack_frame() argument 132 if (pc != (unsigned long) &_switch_to) in lookup_prev_stack_frame() 133 prologue = find_frame_creation((unsigned long *)pc); in lookup_prev_stack_frame() [all …]
|
/arch/mn10300/kernel/ |
D | kprobes.c | 133 u8 opc, *pc, *sp, *next; in find_nextpc() local 138 pc = (u8 *) regs->pc; in find_nextpc() 140 opc = *pc; in find_nextpc() 144 next = pc + size; in find_nextpc() 151 x8 = (s8)pc[1]; in find_nextpc() 152 next = pc + x8; in find_nextpc() 159 READ_WORD16(pc + 1, &x16); in find_nextpc() 160 next = pc + x16; in find_nextpc() 167 READ_WORD32(pc + 1, &x32); in find_nextpc() 168 next = pc + x32; in find_nextpc() [all …]
|
D | kgdb.c | 45 gdb_regs[GDB_FR_PC] = regs->pc; in pt_regs_to_gdb_regs() 77 gdb_regs[GDB_FR_PC] = p->thread.pc; in sleeping_thread_to_gdb_regs() 97 regs->pc = gdb_regs[GDB_FR_PC]; in gdb_regs_to_pt_regs() 159 u8 *pc = (u8 *)regs->pc, *sp = (u8 *)(regs + 1), cur; in kgdb_arch_do_singlestep() local 163 ret = probe_kernel_read(&cur, pc, 1); in kgdb_arch_do_singlestep() 169 x = pc + size; in kgdb_arch_do_singlestep() 176 ret = probe_kernel_read(&arg, pc + 1, 1); in kgdb_arch_do_singlestep() 179 x = pc + 2; in kgdb_arch_do_singlestep() 182 y = pc + (s8)arg; in kgdb_arch_do_singlestep() 187 x = pc + 1; in kgdb_arch_do_singlestep() [all …]
|
/arch/xtensa/kernel/ |
D | stacktrace.c | 42 unsigned long pc = regs->pc; in xtensa_backtrace_user() local 49 frame.pc = pc; in xtensa_backtrace_user() 52 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user() 75 pc = MAKE_PC_FROM_RA(a0, pc); in xtensa_backtrace_user() 82 frame.pc = pc; in xtensa_backtrace_user() 85 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user() 115 pc = MAKE_PC_FROM_RA(a0, pc); in xtensa_backtrace_user() 119 frame.pc = pc; in xtensa_backtrace_user() 122 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user() 133 unsigned long pc = regs->depc > VALID_DOUBLE_EXCEPTION_ADDRESS ? in xtensa_backtrace_kernel() local [all …]
|
/arch/arm64/kernel/ |
D | ftrace.c | 25 static int ftrace_modify_code(unsigned long pc, u32 old, u32 new, in ftrace_modify_code() argument 39 if (aarch64_insn_read((void *)pc, &replaced)) in ftrace_modify_code() 45 if (aarch64_insn_patch_text_nosync((void *)pc, new)) in ftrace_modify_code() 56 unsigned long pc; in ftrace_update_ftrace_func() local 59 pc = (unsigned long)&ftrace_call; in ftrace_update_ftrace_func() 60 new = aarch64_insn_gen_branch_imm(pc, (unsigned long)func, in ftrace_update_ftrace_func() 63 return ftrace_modify_code(pc, 0, new, false); in ftrace_update_ftrace_func() 71 unsigned long pc = rec->ip; in ftrace_make_call() local 75 new = aarch64_insn_gen_branch_imm(pc, addr, AARCH64_INSN_BRANCH_LINK); in ftrace_make_call() 77 return ftrace_modify_code(pc, old, new, true); in ftrace_make_call() [all …]
|
D | time.c | 49 if (!in_lock_functions(regs->pc)) in profile_pc() 50 return regs->pc; in profile_pc() 54 frame.pc = regs->pc; in profile_pc() 62 } while (in_lock_functions(frame.pc)); in profile_pc() 64 return frame.pc; in profile_pc()
|
/arch/sh/kernel/cpu/sh5/ |
D | unwind.c | 46 static int lookup_prev_stack_frame(unsigned long fp, unsigned long pc, in lookup_prev_stack_frame() argument 59 sym = kallsyms_lookup(pc, NULL, &offset, NULL, namebuf); in lookup_prev_stack_frame() 63 prologue = pc - offset; in lookup_prev_stack_frame() 220 unsigned long pc, unsigned long fp) in unwind_nested() argument 230 unsigned long pc, fp; in sh64_unwind_inner() local 234 pc = regs->pc & ~1; in sh64_unwind_inner() 242 if (pc == ((unsigned long)&syscall_ret & ~1)) { in sh64_unwind_inner() 244 unwind_nested(ops, data, pc, fp); in sh64_unwind_inner() 248 if (pc == ((unsigned long)&ret_from_syscall & ~1)) { in sh64_unwind_inner() 250 unwind_nested(ops, data, pc, fp); in sh64_unwind_inner() [all …]
|
/arch/metag/kernel/ |
D | ftrace.c | 27 static unsigned char *ftrace_call_replace(unsigned long pc, unsigned long addr) in ftrace_call_replace() argument 40 if (pc == (unsigned long)&ftrace_call) { in ftrace_call_replace() 51 static int ftrace_modify_code(unsigned long pc, unsigned char *old_code, in ftrace_modify_code() argument 66 if (probe_kernel_read(replaced, (void *)pc, MCOUNT_INSN_SIZE)) in ftrace_modify_code() 74 if (probe_kernel_write((void *)pc, new_code, MCOUNT_INSN_SIZE)) in ftrace_modify_code() 77 flush_icache_range(pc, pc + MCOUNT_INSN_SIZE); in ftrace_modify_code() 85 unsigned long pc; in ftrace_update_ftrace_func() local 88 pc = (unsigned long)&ftrace_call; in ftrace_update_ftrace_func() 90 new = ftrace_call_replace(pc, (unsigned long)func); in ftrace_update_ftrace_func() 91 ret = ftrace_modify_code(pc, old, new); in ftrace_update_ftrace_func()
|
/arch/tile/kernel/ |
D | ftrace.c | 57 static unsigned long ftrace_gen_branch(unsigned long pc, unsigned long addr, in ftrace_gen_branch() argument 61 long pcrel_by_instr = (addr - pc) >> TILEGX_LOG2_BUNDLE_SIZE_IN_BYTES; in ftrace_gen_branch() 105 static unsigned long ftrace_call_replace(unsigned long pc, unsigned long addr) in ftrace_call_replace() argument 107 return ftrace_gen_branch(pc, addr, true); in ftrace_call_replace() 110 static int ftrace_modify_code(unsigned long pc, unsigned long old, in ftrace_modify_code() argument 116 if (!kernel_text_address(pc)) in ftrace_modify_code() 120 pc_wr = pc - MEM_SV_START + PAGE_OFFSET; in ftrace_modify_code() 128 flush_icache_range(pc, pc + MCOUNT_INSN_SIZE); in ftrace_modify_code() 135 unsigned long pc, old; in ftrace_update_ftrace_func() local 139 pc = (unsigned long)&ftrace_call; in ftrace_update_ftrace_func() [all …]
|
/arch/arm/kernel/ |
D | ftrace.c | 98 static unsigned long ftrace_call_replace(unsigned long pc, unsigned long addr) in ftrace_call_replace() argument 100 return arm_gen_branch_link(pc, addr); in ftrace_call_replace() 103 static int ftrace_modify_code(unsigned long pc, unsigned long old, in ftrace_modify_code() argument 117 if (probe_kernel_read(&replaced, (void *)pc, MCOUNT_INSN_SIZE)) in ftrace_modify_code() 124 if (probe_kernel_write((void *)pc, &new, MCOUNT_INSN_SIZE)) in ftrace_modify_code() 127 flush_icache_range(pc, pc + MCOUNT_INSN_SIZE); in ftrace_modify_code() 134 unsigned long pc; in ftrace_update_ftrace_func() local 138 pc = (unsigned long)&ftrace_call; in ftrace_update_ftrace_func() 139 new = ftrace_call_replace(pc, (unsigned long)func); in ftrace_update_ftrace_func() 141 ret = ftrace_modify_code(pc, 0, new, false); in ftrace_update_ftrace_func() [all …]
|
D | insn.c | 6 __arm_gen_branch_thumb2(unsigned long pc, unsigned long addr, bool link) in __arm_gen_branch_thumb2() argument 12 offset = (long)addr - (long)(pc + 4); in __arm_gen_branch_thumb2() 36 __arm_gen_branch_arm(unsigned long pc, unsigned long addr, bool link) in __arm_gen_branch_arm() argument 44 offset = (long)addr - (long)(pc + 8); in __arm_gen_branch_arm() 56 __arm_gen_branch(unsigned long pc, unsigned long addr, bool link) in __arm_gen_branch() argument 59 return __arm_gen_branch_thumb2(pc, addr, link); in __arm_gen_branch() 61 return __arm_gen_branch_arm(pc, addr, link); in __arm_gen_branch()
|
/arch/sparc/kernel/ |
D | traps_32.c | 32 static void instruction_dump(unsigned long *pc) in instruction_dump() argument 36 if((((unsigned long) pc) & 3)) in instruction_dump() 40 printk("%c%08lx%c",i?' ':'<',pc[i],i?' ':'>'); in instruction_dump() 85 instruction_dump ((unsigned long *) regs->pc); in die_if_kernel() 107 info.si_addr = (void __user *)regs->pc; in do_hw_interrupt() 112 void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned long npc, in do_illegal_instruction() argument 121 regs->pc, *(unsigned long *)regs->pc); in do_illegal_instruction() 127 info.si_addr = (void __user *)pc; in do_illegal_instruction() 132 void do_priv_instruction(struct pt_regs *regs, unsigned long pc, unsigned long npc, in do_priv_instruction() argument 142 info.si_addr = (void __user *)pc; in do_priv_instruction() [all …]
|
D | stacktrace.c | 35 unsigned long pc; in __save_stack_trace() local 46 pc = regs->tpc; in __save_stack_trace() 49 pc = sf->callers_pc; in __save_stack_trace() 55 else if (!skip_sched || !in_sched_functions(pc)) { in __save_stack_trace() 56 trace->entries[trace->nr_entries++] = pc; in __save_stack_trace() 58 if ((pc + 8UL) == (unsigned long) &return_to_handler) { in __save_stack_trace() 61 pc = t->ret_stack[index - graph].ret; in __save_stack_trace() 64 trace->entries[trace->nr_entries++] = pc; in __save_stack_trace()
|
/arch/frv/mm/ |
D | extable.c | 18 unsigned long search_exception_table(unsigned long pc) in search_exception_table() argument 24 (unsigned long) &memset <= pc && pc < (unsigned long) &__memset_end in search_exception_table() 34 (unsigned long) &memcpy <= pc && pc < (unsigned long) &__memcpy_end in search_exception_table() 43 extab = search_exception_tables(pc); in search_exception_table()
|
/arch/sh/kernel/ |
D | traps_32.c | 224 srcu = (unsigned char __user *)regs->pc; in handle_unaligned_ins() 241 srcu = (unsigned char __user *)(regs->pc & ~0x3); in handle_unaligned_ins() 271 void __user *addr = (void __user *)(regs->pc + in handle_delayslot() 339 regs->pc = regs->pr; in handle_unaligned_access() 345 regs->pc += rm + 4; in handle_unaligned_access() 351 regs->pr = regs->pc + 4; in handle_unaligned_access() 352 regs->pc += rm + 4; in handle_unaligned_access() 372 regs->pc = rm; in handle_unaligned_access() 378 regs->pr = regs->pc + 4; in handle_unaligned_access() 379 regs->pc = rm; in handle_unaligned_access() [all …]
|
/arch/arm/include/asm/ |
D | insn.h | 15 __arm_gen_branch(unsigned long pc, unsigned long addr, bool link); 18 arm_gen_branch(unsigned long pc, unsigned long addr) in arm_gen_branch() argument 20 return __arm_gen_branch(pc, addr, false); in arm_gen_branch() 24 arm_gen_branch_link(unsigned long pc, unsigned long addr) in arm_gen_branch_link() argument 26 return __arm_gen_branch(pc, addr, true); in arm_gen_branch_link()
|
/arch/sparc/include/asm/ |
D | processor_32.h | 13 #define current_text_addr() ({ void *pc; __asm__("sethi %%hi(1f), %0; or %0, %%lo(1f), %0;\n1:" : "… 80 static inline void start_thread(struct pt_regs * regs, unsigned long pc, in start_thread() argument 86 regs->pc = ((pc & (~3)) - 4); in start_thread() 87 regs->npc = regs->pc + 4; in start_thread() 113 #define KSTK_EIP(tsk) ((tsk)->thread.kregs->pc)
|
/arch/arm64/include/asm/ |
D | processor.h | 78 unsigned long pc; member 109 static inline void start_thread_common(struct pt_regs *regs, unsigned long pc) in start_thread_common() argument 113 regs->pc = pc; in start_thread_common() 116 static inline void start_thread(struct pt_regs *regs, unsigned long pc, in start_thread() argument 119 start_thread_common(regs, pc); in start_thread() 125 static inline void compat_start_thread(struct pt_regs *regs, unsigned long pc, in compat_start_thread() argument 128 start_thread_common(regs, pc); in compat_start_thread() 130 if (pc & 1) in compat_start_thread() 163 #define KSTK_EIP(tsk) ((unsigned long)task_pt_regs(tsk)->pc)
|
/arch/sh/include/asm/ |
D | processor_64.h | 27 void *pc; \ 33 :"=r" (pc), "=r" (__dummy) \ 35 pc; }) 109 unsigned long pc; member 147 .pc = 0, \ 161 _regs->pc = new_pc - 4; /* Compensate syscall exit */ \ 162 _regs->pc |= 1; /* Set SHmedia ! */ \ 226 #define thread_saved_pc(tsk) (tsk->thread.pc) 230 #define KSTK_EIP(tsk) ((tsk)->thread.pc)
|
/arch/h8300/kernel/ |
D | ptrace_h.c | 164 char *fetch_p, unsigned short *pc, in decode() argument 173 return (unsigned short *)pc + op->length; in decode() 175 addr = *(unsigned long *)pc; in decode() 178 addr = *pc & 0xff; in decode() 191 regno = (*pc >> 4) & 0x07; in decode() 199 pc = (unsigned short *)((unsigned long)pc + in decode() 201 return pc+1; /* skip myself */ in decode() 204 pc = (unsigned short *)((unsigned long)pc + in decode() 205 ((signed short)(*(pc+1)))); in decode() 206 return pc+2; /* skip myself */ in decode() [all …]
|
/arch/alpha/kernel/ |
D | traps.c | 67 regs->pc, regs->r26, regs->ps, print_tainted()); in dik_show_regs() 68 printk("pc is at %pSR\n", (void *)regs->pc); in dik_show_regs() 107 dik_show_code(unsigned int *pc) in dik_show_code() argument 114 if (__get_user(insn, (unsigned int __user *)pc + i)) in dik_show_code() 181 dik_show_code((unsigned int *)regs->pc); in die_if_kernel() 195 long (*alpha_fp_emul) (unsigned long pc) 199 long alpha_fp_emul (unsigned long pc); 214 si_code = alpha_fp_emul(regs->pc - 4); in do_entArith() 225 info.si_addr = (void __user *) regs->pc; in do_entArith() 238 = (const unsigned int *) regs->pc; in do_entIF() [all …]
|
/arch/mips/kernel/ |
D | perf_event.c | 50 unsigned long pc = regs->cp0_epc; in perf_callchain_kernel() local 52 if (raw_show_trace || !__kernel_text_address(pc)) { in perf_callchain_kernel() 61 perf_callchain_store(entry, pc); in perf_callchain_kernel() 64 pc = unwind_stack(current, &sp, pc, &ra); in perf_callchain_kernel() 65 } while (pc); in perf_callchain_kernel()
|
/arch/sparc/mm/ |
D | fault_32.c | 57 asmlinkage int lookup_fault(unsigned long pc, unsigned long ret_pc, in lookup_fault() argument 74 insn = *((unsigned int *) pc); in lookup_fault() 82 insn = *((unsigned int *) pc); in lookup_fault() 92 regs.pc = pc; in lookup_fault() 93 regs.npc = pc + 4; in lookup_fault() 118 (void *)regs->pc, (void *)regs->u_regs[UREG_I7], in show_signal_msg() 121 print_vma_addr(KERN_CONT " in ", regs->pc); in show_signal_msg() 149 return regs->pc; in compute_si_addr() 152 insn = *(unsigned int *) regs->pc; in compute_si_addr() 154 __get_user(insn, (unsigned int *) regs->pc); in compute_si_addr() [all …]
|
/arch/avr32/kernel/ |
D | syscall-stubs.S | 36 popm pc 45 popm pc 54 popm pc 63 popm pc 72 popm pc 81 popm pc 90 popm pc 99 popm pc 108 popm pc 117 popm pc [all …]
|
D | traps.c | 85 fixup = search_exception_tables(regs->pc); in _exception() 87 regs->pc = fixup->fixup; in _exception() 128 _exception(SIGBUS, regs, BUS_ADRALN, regs->pc); in do_address_exception() 173 int is_valid_bugaddr(unsigned long pc) in is_valid_bugaddr() argument 177 if (pc < PAGE_OFFSET) in is_valid_bugaddr() 179 if (probe_kernel_address((u16 *)pc, opcode)) in is_valid_bugaddr() 190 void __user *pc; in do_illegal_opcode() local 197 type = report_bug(regs->pc, regs); in do_illegal_opcode() 202 regs->pc += 2; in do_illegal_opcode() 213 pc = (void __user *)instruction_pointer(regs); in do_illegal_opcode() [all …]
|