[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |