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-ia64-devel

[Xen-ia64-devel] [rfc 15/16] Kexec: Purge the VHPT entry in the TLB on k

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [rfc 15/16] Kexec: Purge the VHPT entry in the TLB on kexec
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Fri, 17 Aug 2007 16:24:51 +0900
Delivery-date: Fri, 17 Aug 2007 00:43:09 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20070817072436.840008554@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
Should relocate_new_kernel(), which is run by the hypervisor, purge the
VHPT on XEN like ia64_do_purge_tlb() (code in the hypervisor) does?

There is a hypervisor portion of this patch which modifies
machine_kexec() to pass the appropriate extra argument to
ia64_do_purge_tlb().

Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

Index: x/arch/ia64/kernel/relocate_kernel.S
===================================================================
--- x/arch/ia64/kernel/relocate_kernel.S        2007-07-05 18:52:40.000000000 
+0900
+++ x/arch/ia64/kernel/relocate_kernel.S        2007-07-05 19:00:16.000000000 
+0900
@@ -21,7 +21,7 @@
 GLOBAL_ENTRY(relocate_new_kernel)
        .prologue
 #ifdef CONFIG_XEN
-       alloc r31=ar.pfs,7,0,0,0
+       alloc r31=ar.pfs,8,0,0,0
 #else
        alloc r31=ar.pfs,4,0,0,0
 #endif
@@ -160,6 +160,20 @@ GLOBAL_ENTRY(relocate_new_kernel)
         srlz.i
        ;;
 
+#ifdef XEN
+       /* XXX: Is this neccessary ??? */
+       // purge TR entry for VHPT
+       mov r16=in7
+       ;;
+       dep r16=0,r16,0,IA64_GRANULE_SHIFT
+       mov r18=IA64_GRANULE_SHIFT<<2
+        ;;
+        ptr.d r16,r18
+        ;;
+        srlz.i
+       ;;
+#endif
+
        //copy segments
        movl r16=PAGE_MASK
         mov  r30=in0                    // in0 is page_list

-- 

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


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