[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Fix save/restore
# HG changeset patch # User awilliam@xxxxxxxxxxxx # Date 1168838318 25200 # Node ID c6b683ba68f5417a5b397d8530edd9df14ad586c # Parent 43c5302ee92dc0a12df02084c07e6172f2b6ebe8 [IA64] Fix save/restore Using the new hypercall path, scratch registers are not saved/restored. So after returning from hypercall, r20 may contain garbage data. This triggered General Exception. Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx> --- linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) diff -r 43c5302ee92d -r c6b683ba68f5 linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S --- a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S Sun Jan 14 14:58:51 2007 -0700 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S Sun Jan 14 22:18:38 2007 -0700 @@ -39,7 +39,7 @@ END(early_xen_setup) Just force the stacked registers to be written in memory. */ GLOBAL_ENTRY(xencomm_arch_hypercall_suspend) ;; - alloc r20=ar.pfs,0,0,2,0 + alloc r20=ar.pfs,0,0,6,0 mov r2=__HYPERVISOR_sched_op ;; /* We don't want to deal with RSE. */ @@ -49,6 +49,5 @@ GLOBAL_ENTRY(xencomm_arch_hypercall_susp ;; break 0x1000 ;; - mov ar.pfs=r20 br.ret.sptk.many b0 END(xencomm_arch_hypercall_suspend) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |