aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/x86_64/traps.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xensource.com>2007-10-17 15:37:36 +0100
committerKeir Fraser <keir@xensource.com>2007-10-17 15:37:36 +0100
commiteb5916fb1fedde781742c924b6a13e482e92fca0 (patch)
treef60c85146ec3b0f06dcf8ac78940c1d85a7a9fab /xen/arch/x86/x86_64/traps.c
parent0ae9ef55acbc7dce43153b059ac6fbdee2268ffe (diff)
downloadxen-eb5916fb1fedde781742c924b6a13e482e92fca0.tar.gz
xen-eb5916fb1fedde781742c924b6a13e482e92fca0.tar.bz2
xen-eb5916fb1fedde781742c924b6a13e482e92fca0.zip
x86: add option to display last exception records during register dumps
Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/arch/x86/x86_64/traps.c')
-rw-r--r--xen/arch/x86/x86_64/traps.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index 992bf8d45c..79c7043146 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -112,6 +112,14 @@ void show_registers(struct cpu_user_regs *regs)
"ss: %04x cs: %04x\n",
fault_regs.ds, fault_regs.es, fault_regs.fs,
fault_regs.gs, fault_regs.ss, fault_regs.cs);
+
+ if ( this_cpu(ler_msr) && !guest_mode(regs) )
+ {
+ u64 from, to;
+ rdmsrl(this_cpu(ler_msr), from);
+ rdmsrl(this_cpu(ler_msr) + 1, to);
+ printk("ler: %016lx -> %016lx\n", from, to);
+ }
}
void show_page_walk(unsigned long addr)
@@ -302,7 +310,7 @@ static int write_stack_trampoline(
return 34;
}
-void __devinit percpu_traps_init(void)
+void __devinit subarch_percpu_traps_init(void)
{
char *stack_bottom, *stack;
int cpu = smp_processor_id();