void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); printk("x0 : %016lx ra : %016lx s0 : %016lx\n", regs->zero, regs->ra, regs->s[0]); printk("s1 : %016lx s2 : %016lx s3 : %016lx\n", regs->s[1], regs->s[2], regs->s[3]); printk("s4 : %016lx s5 : %016lx s6 : %016lx\n", regs->s[4], regs->s[5], regs->s[6]); printk("s7 : %016lx s8 : %016lx s9 : %016lx\n", regs->s[7], regs->s[8], regs->s[9]); printk("s10: %016lx s11: %016lx sp : %016lx\n", regs->s[10], regs->s[11], regs->sp); printk("tp : %016lx v0 : %016lx v1 : %016lx\n", regs->tp, regs->v[0], regs->v[1]); printk("a0 : %016lx a1 : %016lx a2 : %016lx\n", regs->a[0], regs->a[1], regs->a[2]); printk("a3 : %016lx a4 : %016lx a5 : %016lx\n", regs->a[3], regs->a[4], regs->a[5]); printk("a6 : %016lx a7 : %016lx t0 : %016lx\n", regs->a[6], regs->a[7], regs->t[0]); printk("t1 : %016lx t2 : %016lx t3 : %016lx\n", regs->t[1], regs->t[2], regs->t[3]); printk("t4 : %016lx gp : %016lx\n", regs->t[4], regs->gp); printk("status : %016lx epc : %016lx\n" "badvaddr: %016lx cause: %016lx\n", regs->status, regs->epc, regs->badvaddr, regs->cause); }
void show_regs(struct pt_regs * regs) { printk("\n"); show_regs_print_info(KERN_DEFAULT); printk("BPC[%08lx]:PSW[%08lx]:LR [%08lx]:FP [%08lx]\n", \ regs->bpc, regs->psw, regs->lr, regs->fp); printk("BBPC[%08lx]:BBPSW[%08lx]:SPU[%08lx]:SPI[%08lx]\n", \ regs->bbpc, regs->bbpsw, regs->spu, regs->spi); printk("R0 [%08lx]:R1 [%08lx]:R2 [%08lx]:R3 [%08lx]\n", \ regs->r0, regs->r1, regs->r2, regs->r3); printk("R4 [%08lx]:R5 [%08lx]:R6 [%08lx]:R7 [%08lx]\n", \ regs->r4, regs->r5, regs->r6, regs->r7); printk("R8 [%08lx]:R9 [%08lx]:R10[%08lx]:R11[%08lx]\n", \ regs->r8, regs->r9, regs->r10, regs->r11); printk("R12[%08lx]\n", \ regs->r12); #if defined(CONFIG_ISA_M32R2) && defined(CONFIG_ISA_DSP_LEVEL2) printk("ACC0H[%08lx]:ACC0L[%08lx]\n", \ regs->acc0h, regs->acc0l); printk("ACC1H[%08lx]:ACC1L[%08lx]\n", \ regs->acc1h, regs->acc1l); #elif defined(CONFIG_ISA_M32R2) || defined(CONFIG_ISA_M32R) printk("ACCH[%08lx]:ACCL[%08lx]\n", \ regs->acc0h, regs->acc0l); #else #error unknown isa configuration #endif }
void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); printk("sepc: " REG_FMT " ra : " REG_FMT " sp : " REG_FMT "\n", regs->sepc, regs->ra, regs->sp); printk(" gp : " REG_FMT " tp : " REG_FMT " t0 : " REG_FMT "\n", regs->gp, regs->tp, regs->t0); printk(" t1 : " REG_FMT " t2 : " REG_FMT " s0 : " REG_FMT "\n", regs->t1, regs->t2, regs->s0); printk(" s1 : " REG_FMT " a0 : " REG_FMT " a1 : " REG_FMT "\n", regs->s1, regs->a0, regs->a1); printk(" a2 : " REG_FMT " a3 : " REG_FMT " a4 : " REG_FMT "\n", regs->a2, regs->a3, regs->a4); printk(" a5 : " REG_FMT " a6 : " REG_FMT " a7 : " REG_FMT "\n", regs->a5, regs->a6, regs->a7); printk(" s2 : " REG_FMT " s3 : " REG_FMT " s4 : " REG_FMT "\n", regs->s2, regs->s3, regs->s4); printk(" s5 : " REG_FMT " s6 : " REG_FMT " s7 : " REG_FMT "\n", regs->s5, regs->s6, regs->s7); printk(" s8 : " REG_FMT " s9 : " REG_FMT " s10: " REG_FMT "\n", regs->s8, regs->s9, regs->s10); printk(" s11: " REG_FMT " t3 : " REG_FMT " t4 : " REG_FMT "\n", regs->s11, regs->t3, regs->t4); printk(" t5 : " REG_FMT " t6 : " REG_FMT "\n", regs->t5, regs->t6); printk("sstatus: " REG_FMT " sbadaddr: " REG_FMT " scause: " REG_FMT "\n", regs->sstatus, regs->sbadaddr, regs->scause); }
void __show_regs(struct pt_regs *regs) { int i, top_reg; u64 lr, sp; if (compat_user_mode(regs)) { lr = regs->compat_lr; sp = regs->compat_sp; top_reg = 12; } else { lr = regs->regs[30]; sp = regs->sp; top_reg = 29; } show_regs_print_info(KERN_DEFAULT); print_symbol("PC is at %s\n", instruction_pointer(regs)); print_symbol("LR is at %s\n", lr); printk("pc : [<%016llx>] lr : [<%016llx>] pstate: %08llx\n", regs->pc, lr, regs->pstate); printk("sp : %016llx\n", sp); for (i = top_reg; i >= 0; i--) { printk("x%-2d: %016llx ", i, regs->regs[i]); if (i % 2 == 0) printk("\n"); } printk("\n"); }
void show_regs(struct pt_regs *regs) { extern void show_registers(struct pt_regs *regs); show_regs_print_info(KERN_DEFAULT); /* __PHX__ cleanup this mess */ show_registers(regs); }
void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); show_registers(regs); /* Show stack backtrace if pt_regs is from kernel mode */ if (!user_mode(regs)) show_trace(NULL, (unsigned long *) regs->gprs[15]); show_last_breaking_event(regs); }
void show_regs(struct pt_regs *regs) { struct task_struct *tsk = current; struct callee_regs *cregs; /* * generic code calls us with preemption disabled, but some calls * here could sleep, so re-enable to avoid lockdep splat */ preempt_enable(); print_task_path_n_nm(tsk); show_regs_print_info(KERN_INFO); show_ecr_verbose(regs); pr_info("[EFA ]: 0x%08lx\n[BLINK ]: %pS\n[ERET ]: %pS\n", current->thread.fault_address, (void *)regs->blink, (void *)regs->ret); if (user_mode(regs)) show_faulting_vma(regs->ret); /* faulting code, not data */ pr_info("[STAT32]: 0x%08lx", regs->status32); #define STS_BIT(r, bit) r->status32 & STATUS_##bit##_MASK ? #bit" " : "" #ifdef CONFIG_ISA_ARCOMPACT pr_cont(" : %2s%2s%2s%2s%2s%2s%2s\n", (regs->status32 & STATUS_U_MASK) ? "U " : "K ", STS_BIT(regs, DE), STS_BIT(regs, AE), STS_BIT(regs, A2), STS_BIT(regs, A1), STS_BIT(regs, E2), STS_BIT(regs, E1)); #else pr_cont(" : %2s%2s%2s%2s\n", STS_BIT(regs, IE), (regs->status32 & STATUS_U_MASK) ? "U " : "K ", STS_BIT(regs, DE), STS_BIT(regs, AE)); #endif pr_info("BTA: 0x%08lx\t SP: 0x%08lx\t FP: 0x%08lx\n", regs->bta, regs->sp, regs->fp); pr_info("LPS: 0x%08lx\tLPE: 0x%08lx\tLPC: 0x%08lx\n", regs->lp_start, regs->lp_end, regs->lp_count); /* print regs->r0 thru regs->r12 * Sequential printing was generating horrible code */ print_reg_file(&(regs->r0), 0); /* If Callee regs were saved, display them too */ cregs = (struct callee_regs *)current->thread.callee_reg; if (cregs) show_callee_regs(cregs); preempt_disable(); }
void show_regs(struct pt_regs *regs) { struct task_struct *tsk = current; struct callee_regs *cregs; char *buf; buf = (char *)__get_free_page(GFP_TEMPORARY); if (!buf) return; print_task_path_n_nm(tsk, buf); show_regs_print_info(KERN_INFO); show_ecr_verbose(regs); pr_info("[EFA ]: 0x%08lx\n[BLINK ]: %pS\n[ERET ]: %pS\n", current->thread.fault_address, (void *)regs->blink, (void *)regs->ret); if (user_mode(regs)) show_faulting_vma(regs->ret, buf); /* faulting code, not data */ pr_info("[STAT32]: 0x%08lx", regs->status32); #define STS_BIT(r, bit) r->status32 & STATUS_##bit##_MASK ? #bit" " : "" #ifdef CONFIG_ISA_ARCOMPACT pr_cont(" : %2s%2s%2s%2s%2s%2s%2s\n", (regs->status32 & STATUS_U_MASK) ? "U " : "K ", STS_BIT(regs, DE), STS_BIT(regs, AE), STS_BIT(regs, A2), STS_BIT(regs, A1), STS_BIT(regs, E2), STS_BIT(regs, E1)); #else pr_cont(" : %2s%2s%2s%2s\n", STS_BIT(regs, IE), (regs->status32 & STATUS_U_MASK) ? "U " : "K ", STS_BIT(regs, DE), STS_BIT(regs, AE)); #endif pr_info("BTA: 0x%08lx\t SP: 0x%08lx\t FP: 0x%08lx\n", regs->bta, regs->sp, regs->fp); pr_info("LPS: 0x%08lx\tLPE: 0x%08lx\tLPC: 0x%08lx\n", regs->lp_start, regs->lp_end, regs->lp_count); /* print regs->r0 thru regs->r12 * Sequential printing was generating horrible code */ print_reg_file(&(regs->r0), 0); /* If Callee regs were saved, display them too */ cregs = (struct callee_regs *)current->thread.callee_reg; if (cregs) show_callee_regs(cregs); free_page((unsigned long)buf); }
void show_regs(struct pt_regs *regs) { int i; unsigned long sp; sp = regs->sp; show_regs_print_info(KERN_DEFAULT); __show_regs(regs, 1); /* * When in-kernel, we also print out the stack and code at the * time of the fault.. */ if (!user_mode(regs)) { unsigned int code_prologue = code_bytes * 43 / 64; unsigned int code_len = code_bytes; unsigned char c; u8 *ip; show_lbrs(); /* called before show_stack_log_lvl() as it could trig page_fault again and reenable LBR */ printk(KERN_DEFAULT "Stack:\n"); show_stack_log_lvl(NULL, regs, (unsigned long *)sp, 0, KERN_DEFAULT); printk(KERN_DEFAULT "Code: "); ip = (u8 *)regs->ip - code_prologue; if (ip < (u8 *)PAGE_OFFSET || probe_kernel_address(ip, c)) { /* try starting at IP */ ip = (u8 *)regs->ip; code_len = code_len - code_prologue + 1; } for (i = 0; i < code_len; i++, ip++) { if (ip < (u8 *)PAGE_OFFSET || probe_kernel_address(ip, c)) { pr_cont(" Bad RIP value."); break; } if (ip == (u8 *)regs->ip) pr_cont("<%02x> ", c); else pr_cont("%02x ", c); } } pr_cont("\n"); }
void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); pr_notice("\n"); pr_notice("PC: %08lx Status: %02x\n", regs->pc, regs->ccr); pr_notice("ORIG_ER0: %08lx ER0: %08lx ER1: %08lx\n", regs->orig_er0, regs->er0, regs->er1); pr_notice("ER2: %08lx ER3: %08lx ER4: %08lx ER5: %08lx\n", regs->er2, regs->er3, regs->er4, regs->er5); pr_notice("ER6' %08lx ", regs->er6); if (user_mode(regs)) printk("USP: %08lx\n", rdusp()); else printk("\n"); }
void show_regs(struct pt_regs * regs) { unsigned long usp = rdusp(); show_regs_print_info(KERN_DEFAULT); printk("IRP: %08lx SRP: %08lx DCCR: %08lx USP: %08lx MOF: %08lx\n", regs->irp, regs->srp, regs->dccr, usp, regs->mof ); printk(" r0: %08lx r1: %08lx r2: %08lx r3: %08lx\n", regs->r0, regs->r1, regs->r2, regs->r3); printk(" r4: %08lx r5: %08lx r6: %08lx r7: %08lx\n", regs->r4, regs->r5, regs->r6, regs->r7); printk(" r8: %08lx r9: %08lx r10: %08lx r11: %08lx\n", regs->r8, regs->r9, regs->r10, regs->r11); printk("r12: %08lx r13: %08lx oR10: %08lx\n", regs->r12, regs->r13, regs->orig_r10); }
void __show_regs(struct pt_regs *regs) { int i, top_reg; u64 lr, sp; if (compat_user_mode(regs)) { lr = regs->compat_lr; sp = regs->compat_sp; top_reg = 12; } else { lr = regs->regs[30]; sp = regs->sp; top_reg = 29; } show_regs_print_info(KERN_DEFAULT); print_pstate(regs); if (!user_mode(regs)) { printk("pc : %pS\n", (void *)regs->pc); printk("lr : %pS\n", (void *)lr); } else { printk("pc : %016llx\n", regs->pc); printk("lr : %016llx\n", lr); } printk("sp : %016llx\n", sp); if (system_uses_irq_prio_masking()) printk("pmr_save: %08llx\n", regs->pmr_save); i = top_reg; while (i >= 0) { printk("x%-2d: %016llx ", i, regs->regs[i]); i--; if (i % 2 == 0) { pr_cont("x%-2d: %016llx ", i, regs->regs[i]); i--; } pr_cont("\n"); } }
void show_regs(struct pt_regs *regs) { int i; show_regs_print_info(KERN_EMERG); __show_regs(regs, !user_mode(regs)); /* * When in-kernel, we also print out the stack and code at the * time of the fault.. */ if (!user_mode(regs)) { unsigned int code_prologue = code_bytes * 43 / 64; unsigned int code_len = code_bytes; unsigned char c; u8 *ip; pr_emerg("Stack:\n"); show_stack_log_lvl(NULL, regs, ®s->sp, 0, KERN_EMERG); pr_emerg("Code:"); ip = (u8 *)regs->ip - code_prologue; if (ip < (u8 *)PAGE_OFFSET || probe_kernel_address(ip, c)) { /* try starting at IP */ ip = (u8 *)regs->ip; code_len = code_len - code_prologue + 1; } for (i = 0; i < code_len; i++, ip++) { if (ip < (u8 *)PAGE_OFFSET || probe_kernel_address(ip, c)) { pr_cont(" Bad EIP value."); break; } if (ip == (u8 *)regs->ip) pr_cont(" <%02x>", c); else pr_cont(" %02x", c); } } pr_cont("\n"); }
void show_regs(struct pt_regs *regs) { pr_err("\n"); show_regs_print_info(KERN_ERR); pr_err("PC: %08lx SP: %08lx\n", regs->pc, regs->sp); pr_err("Status: %08lx ORIG_A4: %08lx\n", regs->csr, regs->orig_a4); pr_err("A0: %08lx B0: %08lx\n", regs->a0, regs->b0); pr_err("A1: %08lx B1: %08lx\n", regs->a1, regs->b1); pr_err("A2: %08lx B2: %08lx\n", regs->a2, regs->b2); pr_err("A3: %08lx B3: %08lx\n", regs->a3, regs->b3); pr_err("A4: %08lx B4: %08lx\n", regs->a4, regs->b4); pr_err("A5: %08lx B5: %08lx\n", regs->a5, regs->b5); pr_err("A6: %08lx B6: %08lx\n", regs->a6, regs->b6); pr_err("A7: %08lx B7: %08lx\n", regs->a7, regs->b7); pr_err("A8: %08lx B8: %08lx\n", regs->a8, regs->b8); pr_err("A9: %08lx B9: %08lx\n", regs->a9, regs->b9); pr_err("A10: %08lx B10: %08lx\n", regs->a10, regs->b10); pr_err("A11: %08lx B11: %08lx\n", regs->a11, regs->b11); pr_err("A12: %08lx B12: %08lx\n", regs->a12, regs->b12); pr_err("A13: %08lx B13: %08lx\n", regs->a13, regs->b13); pr_err("A14: %08lx B14: %08lx\n", regs->a14, regs->dp); pr_err("A15: %08lx B15: %08lx\n", regs->a15, regs->sp); pr_err("A16: %08lx B16: %08lx\n", regs->a16, regs->b16); pr_err("A17: %08lx B17: %08lx\n", regs->a17, regs->b17); pr_err("A18: %08lx B18: %08lx\n", regs->a18, regs->b18); pr_err("A19: %08lx B19: %08lx\n", regs->a19, regs->b19); pr_err("A20: %08lx B20: %08lx\n", regs->a20, regs->b20); pr_err("A21: %08lx B21: %08lx\n", regs->a21, regs->b21); pr_err("A22: %08lx B22: %08lx\n", regs->a22, regs->b22); pr_err("A23: %08lx B23: %08lx\n", regs->a23, regs->b23); pr_err("A24: %08lx B24: %08lx\n", regs->a24, regs->b24); pr_err("A25: %08lx B25: %08lx\n", regs->a25, regs->b25); pr_err("A26: %08lx B26: %08lx\n", regs->a26, regs->b26); pr_err("A27: %08lx B27: %08lx\n", regs->a27, regs->b27); pr_err("A28: %08lx B28: %08lx\n", regs->a28, regs->b28); pr_err("A29: %08lx B29: %08lx\n", regs->a29, regs->b29); pr_err("A30: %08lx B30: %08lx\n", regs->a30, regs->b30); pr_err("A31: %08lx B31: %08lx\n", regs->a31, regs->b31); }
void show_regs(struct pt_regs_subarch *regs) { printk("\n"); show_regs_print_info(KERN_DEFAULT); printk("show_regs(): insert regs here.\n"); #if 0 printk("\n"); printk("EIP: %04x:[<%08lx>] CPU: %d",0xffff & regs->xcs, regs->eip, smp_processor_id()); if (regs->xcs & 3) printk(" ESP: %04x:%08lx",0xffff & regs->xss, regs->esp); printk(" EFLAGS: %08lx\n", regs->eflags); printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n", regs->eax, regs->ebx, regs->ecx, regs->edx); printk("ESI: %08lx EDI: %08lx EBP: %08lx", regs->esi, regs->edi, regs->ebp); printk(" DS: %04x ES: %04x\n", 0xffff & regs->xds, 0xffff & regs->xes); #endif show_trace(current, ®s->gpr[1]); }
void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_INFO); pr_info(" Registers dump: mode=%X\r\n", regs->pt_mode); pr_info(" r1=%08lX, r2=%08lX, r3=%08lX, r4=%08lX\n", regs->r1, regs->r2, regs->r3, regs->r4); pr_info(" r5=%08lX, r6=%08lX, r7=%08lX, r8=%08lX\n", regs->r5, regs->r6, regs->r7, regs->r8); pr_info(" r9=%08lX, r10=%08lX, r11=%08lX, r12=%08lX\n", regs->r9, regs->r10, regs->r11, regs->r12); pr_info(" r13=%08lX, r14=%08lX, r15=%08lX, r16=%08lX\n", regs->r13, regs->r14, regs->r15, regs->r16); pr_info(" r17=%08lX, r18=%08lX, r19=%08lX, r20=%08lX\n", regs->r17, regs->r18, regs->r19, regs->r20); pr_info(" r21=%08lX, r22=%08lX, r23=%08lX, r24=%08lX\n", regs->r21, regs->r22, regs->r23, regs->r24); pr_info(" r25=%08lX, r26=%08lX, r27=%08lX, r28=%08lX\n", regs->r25, regs->r26, regs->r27, regs->r28); pr_info(" r29=%08lX, r30=%08lX, r31=%08lX, rPC=%08lX\n", regs->r29, regs->r30, regs->r31, regs->pc); pr_info(" msr=%08lX, ear=%08lX, esr=%08lX, fsr=%08lX\n", regs->msr, regs->ear, regs->esr, regs->fsr); }
/* * FIXME: really the generic show_regs should take a const pointer argument. */ void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); printk("r0 : %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", regs->regs[0], regs->regs[1], regs->regs[2], regs->regs[3], regs->regs[4], regs->regs[5], regs->regs[6], regs->regs[7]); printk("r8 : %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", regs->regs[8], regs->regs[9], regs->regs[10], regs->regs[11], regs->regs[12], regs->regs[13], regs->regs[14], regs->regs[15]); printk("r16: %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", regs->regs[16], regs->regs[17], regs->regs[18], regs->regs[19], regs->regs[20], regs->regs[21], regs->regs[22], regs->regs[23]); printk("r24: %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n", regs->regs[24], regs->regs[25], regs->regs[26], regs->regs[27], regs->regs[28], regs->regs[29], regs->regs[30], regs->regs[31]); printk("CEH : %08lx\n", regs->ceh); printk("CEL : %08lx\n", regs->cel); printk("EMA:%08lx, epc:%08lx %s\nPSR: %08lx\nECR:%08lx\nCondition : %08lx\n", regs->cp0_ema, regs->cp0_epc, print_tainted(), regs->cp0_psr, regs->cp0_ecr, regs->cp0_condition); }
void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); }
void show_regs(struct pt_regs *regs) { show_regs_print_info(KERN_DEFAULT); dik_show_regs(regs, NULL); }