blob: f2383484840d3b22b2b3bd9a36fa463f2f2f220e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Copyright (C) 2001 - 2003 Jeff Dike (jdike@addtoit.com)
3 * Licensed under the GPL
4 */
5
Al Viro382d95f2012-10-08 03:26:54 +01006#include <linux/kernel.h>
7#include <linux/smp.h>
8#include <linux/sched.h>
Ingo Molnarb17b0152017-02-08 18:51:35 +01009#include <linux/sched/debug.h>
Al Viro382d95f2012-10-08 03:26:54 +010010#include <linux/kallsyms.h>
11#include <asm/ptrace.h>
12#include <asm/sysrq.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
Paolo 'Blaisorblade' Giarrussob3461032005-05-28 15:52:00 -070014/* This is declared by <linux/sched.h> */
Linus Torvalds1da177e2005-04-16 15:20:36 -070015void 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",
Al Viro243412b2012-05-20 00:05:58 -040027 PT_REGS_AX(regs), PT_REGS_BX(regs),
28 PT_REGS_CX(regs), PT_REGS_DX(regs));
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 printk("ESI: %08lx EDI: %08lx EBP: %08lx",
Al Viro243412b2012-05-20 00:05:58 -040030 PT_REGS_SI(regs), PT_REGS_DI(regs), PT_REGS_BP(regs));
Linus Torvalds1da177e2005-04-16 15:20:36 -070031 printk(" DS: %04lx ES: %04lx\n",
32 0xffff & PT_REGS_DS(regs),
33 0xffff & PT_REGS_ES(regs));
Linus Torvalds1da177e2005-04-16 15:20:36 -070034}