WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] Fix save/restore

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Fix save/restore
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Jan 2007 21:10:56 -0800
Delivery-date: Thu, 18 Jan 2007 21:13:19 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Fix save/restore, Xen patchbot-unstable <=