Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > ea32411352494358b8d75a78402a4713 > files > 5001

kernel-2.6.18-238.19.1.el5.centos.plus.src.rpm

From: Andrew Jones <drjones@redhat.com>
Date: Mon, 16 Aug 2010 14:30:15 -0400
Subject: [virt] xen-kernel: improve backtrace support on ia64
Message-id: <1281969016-12745-2-git-send-email-drjones@redhat.com>
Patchwork-id: 27639
O-Subject: [RHEL5.6 PATCH] xen-kernel: improve backtrace support on ia64
Bugzilla: 499553
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Christopher Lalancette <clalance@redhat.com>
RH-Acked-by: Prarit Bhargava <prarit@redhat.com>

Bugzilla: 499553

Description of problem:
    Xen-ia64 cannot generate backtraces properly at some points.

Here are some causes:
    1. At some points of procedure entry, unwind info cannot be
       generated properly.
    2. BUG() doesn't show the stacktrace.

Matches upstream, tested by someone in Fujitsu and myself.
Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=2671576

diff --git a/arch/ia64/xen/xenivt.S b/arch/ia64/xen/xenivt.S
index ef9311c..a57c43f 100644
--- a/arch/ia64/xen/xenivt.S
+++ b/arch/ia64/xen/xenivt.S
@@ -2108,6 +2108,8 @@ END(dispatch_to_ia32_handler)
 #ifdef CONFIG_XEN
 	.section .text,"ax"
 GLOBAL_ENTRY(xen_event_callback)
+	.prologue
+	.body
 	mov r31=pr		// prepare to save predicates
 	;;
 	SAVE_MIN_WITH_COVER	// uses r31; defines r2 and r3
@@ -2121,6 +2123,7 @@ GLOBAL_ENTRY(xen_event_callback)
 	srlz.i			// ensure everybody knows psr.ic is back on
 	;;
 	SAVE_REST
+	PT_REGS_UNWIND_INFO(0)
 	;;
 1:
 	alloc r14=ar.pfs,0,0,1,0 // must be first in an insn group