1 | /* |
2 | * Copyright (C) 2001 - 2003 Jeff Dike (jdike@addtoit.com) |
3 | * Licensed under the GPL |
4 | */ |
5 | |
6 | #include <linux/kernel.h> |
7 | #include <linux/smp.h> |
8 | #include <linux/sched.h> |
9 | #include <linux/sched/debug.h> |
10 | #include <linux/kallsyms.h> |
11 | #include <asm/ptrace.h> |
12 | #include <asm/sysrq.h> |
13 | |
14 | /* This is declared by <linux/sched.h> */ |
15 | void show_regs(struct pt_regs *regs) |
16 | { |
17 | printk("\n" ); |
18 | printk("EIP: %04lx:[<%08lx>] CPU: %d %s" , |
19 | 0xffff & PT_REGS_CS(regs), PT_REGS_IP(regs), |
20 | smp_processor_id(), print_tainted()); |
21 | if (PT_REGS_CS(regs) & 3) |
22 | printk(" ESP: %04lx:%08lx" , 0xffff & PT_REGS_SS(regs), |
23 | PT_REGS_SP(regs)); |
24 | printk(" EFLAGS: %08lx\n %s\n" , PT_REGS_EFLAGS(regs), |
25 | print_tainted()); |
26 | printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n" , |
27 | PT_REGS_AX(regs), PT_REGS_BX(regs), |
28 | PT_REGS_CX(regs), PT_REGS_DX(regs)); |
29 | printk("ESI: %08lx EDI: %08lx EBP: %08lx" , |
30 | PT_REGS_SI(regs), PT_REGS_DI(regs), PT_REGS_BP(regs)); |
31 | printk(" DS: %04lx ES: %04lx\n" , |
32 | 0xffff & PT_REGS_DS(regs), |
33 | 0xffff & PT_REGS_ES(regs)); |
34 | } |
35 | |