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/
Home Products Support Community News


[Xen-changelog] [xen-unstable] [IA64] Fix ia64_swith_to() so that it doe

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Fix ia64_swith_to() so that it doesn't check with init_task
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 23 Jan 2008 01:10:54 -0800
Delivery-date: Wed, 23 Jan 2008 01:14:22 -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 Alex Williamson <alex.williamson@xxxxxx>
# Date 1200596743 25200
# Node ID ed7d55e8cd34d99a79cba597a964784498bf5d1f
# Parent  8909a5717cd7eca27b36b7dd54b1cb10e59cd0c2
[IA64] Fix ia64_swith_to() so that it doesn't check with init_task

init_task isn't used directly so that comparison with init_task in
ia64_switch_to() is pointless. Remove the comparison.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
 xen/arch/ia64/linux-xen/entry.S |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletion(-)

diff -r 8909a5717cd7 -r ed7d55e8cd34 xen/arch/ia64/linux-xen/entry.S
--- a/xen/arch/ia64/linux-xen/entry.S   Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/linux-xen/entry.S   Thu Jan 17 12:05:43 2008 -0700
@@ -194,13 +194,13 @@ GLOBAL_ENTRY(ia64_switch_to)
        adds r22=IA64_TASK_THREAD_KSP_OFFSET,r13
-       movl r25=init_task
 #ifdef XEN
        movl r27=THIS_CPU(cpu_kr)+IA64_KR_CURRENT_STACK_OFFSET;;
        ld8 r27=[r27]
        adds r21=IA64_TASK_THREAD_KSP_OFFSET,in0
        dep r20=0,in0,60,4              // physical address of "next"
+       movl r25=init_task
        mov r27=IA64_KR(CURRENT_STACK)
        adds r21=IA64_TASK_THREAD_KSP_OFFSET,in0
        dep r20=0,in0,61,3              // physical address of "next"
@@ -208,6 +208,14 @@ GLOBAL_ENTRY(ia64_switch_to)
        st8 [r22]=sp                    // save kernel stack pointer of old task
        shr.u r26=r20,IA64_GRANULE_SHIFT
+#ifdef XEN
+       ;;
+       /*
+        * If we've already mapped this task's page, we can skip doing it again.
+        */
+       cmp.eq p7,p6=r26,r27
+       br.cond.dpnt .map
        cmp.eq p7,p6=r25,in0
@@ -215,6 +223,7 @@ GLOBAL_ENTRY(ia64_switch_to)
 (p6)   cmp.eq p7,p6=r26,r27
 (p6)   br.cond.dpnt .map
 (p6)   ssm psr.ic                      // if we had to map, reenable the 
psr.ic bit FIRST!!!

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Fix ia64_swith_to() so that it doesn't check with init_task, Xen patchbot-unstable <=