[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] add unw_init_from_interruption()



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID be1b7896c203bfa33858d2e6de3d37905181c895
# Parent  80e04aa530b83cfad866122f13d27261f28f24bc
[IA64] add unw_init_from_interruption()

>From stock upstream unwind.c

Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
[fixed patch to match upstream]
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 xen/arch/ia64/linux-xen/unwind.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+)

diff -r 80e04aa530b8 -r be1b7896c203 xen/arch/ia64/linux-xen/unwind.c
--- a/xen/arch/ia64/linux-xen/unwind.c  Thu Jul 06 10:04:57 2006 -0600
+++ b/xen/arch/ia64/linux-xen/unwind.c  Thu Jul 06 10:23:34 2006 -0600
@@ -2056,6 +2056,28 @@ init_frame_info (struct unw_frame_info *
 }
 
 void
+unw_init_from_interruption (struct unw_frame_info *info, struct task_struct *t,
+                           struct pt_regs *pt, struct switch_stack *sw)
+{
+       unsigned long sof;
+
+       init_frame_info(info, t, sw, pt->r12);
+       info->cfm_loc = &pt->cr_ifs;
+       info->unat_loc = &pt->ar_unat;
+       info->pfs_loc = &pt->ar_pfs;
+       sof = *info->cfm_loc & 0x7f;
+       info->bsp = (unsigned long) ia64_rse_skip_regs((unsigned long *) 
info->regstk.top, -sof);
+       info->ip = pt->cr_iip + ia64_psr(pt)->ri;
+       info->pt = (unsigned long) pt;
+       UNW_DPRINT(3, "unwind.%s:\n"
+                  "  bsp    0x%lx\n"
+                  "  sof    0x%lx\n"
+                  "  ip     0x%lx\n",
+                  __FUNCTION__, info->bsp, sof, info->ip);
+       find_save_locs(info);
+}
+
+void
 unw_init_frame_info (struct unw_frame_info *info, struct task_struct *t, 
struct switch_stack *sw)
 {
        unsigned long sol;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.