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] More pal_flush_cache calls for split cache machines (by

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] More pal_flush_cache calls for split cache machines (by Anthony Xu)
From: Xen patchbot -3.0-testing <patchbot-3.0-testing@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 06 Jan 2006 21:14:16 +0000
Delivery-date: Fri, 06 Jan 2006 21:20:23 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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 djm@xxxxxxxxxxxxxxx
# Node ID 23add9157a219e18a93fb1ff1b47961f80cb642a
# Parent  1a517e3267e7e340b1b3a7d3ea2847fbf7cc9b10
More pal_flush_cache calls for split cache machines (by Anthony Xu)

xen-unstable cset: 72f51528d55a9b99f8c7737b34bf6f370de0de7f
committer: Robert Read <robert@xxxxxxxxxxxxx>

diff -r 1a517e3267e7 -r 23add9157a21 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Thu Dec 15 14:17:04 2005
+++ b/xen/arch/ia64/xen/domain.c        Wed Dec 21 06:27:09 2005
@@ -272,17 +272,6 @@
        printf("arch_set_info_guest\n");
        if ( test_bit(_VCPUF_initialised, &v->vcpu_flags) )
             return 0;
-
-#ifdef CONFIG_IA64_SPLIT_CACHE
-       /* Sync d/i cache conservatively */
-       if (!running_on_sim) {
-           ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
-           if (ret != PAL_STATUS_SUCCESS)
-               panic("PAL CACHE FLUSH failed for domain.\n");
-           printk("Sync i/d cache for dom0 image SUCC\n");
-       }
-#endif
-
        if (c->flags & VGCF_VMX_GUEST) {
            if (!vmx_enabled) {
                printk("No VMX hardware feature for vmx domain.\n");
@@ -299,6 +288,16 @@
        d->arch.sys_pgnr = c->sys_pgnr;
        new_thread(v, regs->cr_iip, 0, 0);
 
+#ifdef CONFIG_IA64_SPLIT_CACHE
+    /* Sync d/i cache conservatively */
+    if (!running_on_sim) {
+        ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
+        if ((ret!=PAL_STATUS_SUCCESS)&& (ret!=PAL_STATUS_UNIMPLEMENTED))
+            printk("PAL CACHE FLUSH failed for dom0.\n");
+        else
+            printk("Sync i/d cache for guest SUCC\n");
+    }
+#endif
        v->vcpu_info->arch.evtchn_vector = c->vcpu.evtchn_vector;
        if ( c->vcpu.privregs && copy_from_user(v->arch.privregs,
                           c->vcpu.privregs, sizeof(mapped_regs_t))) {
@@ -898,13 +897,6 @@
        //if ( initrd_len != 0 )
        //    memcpy((void *)vinitrd_start, initrd_start, initrd_len);
 
-       /* Sync d/i cache conservatively */
-       if (!running_on_sim) {
-           ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
-           if (ret != PAL_STATUS_SUCCESS)
-               panic("PAL CACHE FLUSH failed for dom0.\n");
-           printk("Sync i/d cache for dom0 image SUCC\n");
-       }
 
        /* Set up start info area. */
        si = (start_info_t *)alloc_xenheap_page();
@@ -958,6 +950,16 @@
 
        new_thread(v, pkern_entry, 0, 0);
        physdev_init_dom0(d);
+#ifdef CONFIG_IA64_SPLIT_CACHE
+    /* Sync d/i cache conservatively */
+    if (!running_on_sim) {
+        ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
+        if ((ret!=PAL_STATUS_SUCCESS)&& (ret!=PAL_STATUS_UNIMPLEMENTED))
+            printk("PAL CACHE FLUSH failed for dom0.\n");
+        else
+            printk("Sync i/d cache for guest SUCC\n");
+    }
+#endif
 
        // FIXME: Hack for keyboard input
 #ifdef CLONE_DOMAIN0
@@ -1016,6 +1018,16 @@
 #endif
        new_thread(v, pkern_entry, 0, 0);
        printk("new_thread returns\n");
+#ifdef CONFIG_IA64_SPLIT_CACHE
+    /* Sync d/i cache conservatively */
+    if (!running_on_sim) {
+        ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
+        if ((ret!=PAL_STATUS_SUCCESS)&& (ret!=PAL_STATUS_UNIMPLEMENTED))
+            printk("PAL CACHE FLUSH failed for dom0.\n");
+        else
+            printk("Sync i/d cache for guest SUCC\n");
+    }
+#endif
        __set_bit(0x30, VCPU(v, delivery_mask));
 
        return 0;
@@ -1029,6 +1041,16 @@
                v->domain->domain_id);
        loaddomainelfimage(v->domain,v->domain->arch.image_start);
        new_thread(v, v->domain->arch.entry, 0, 0);
+#ifdef CONFIG_IA64_SPLIT_CACHE
+    /* Sync d/i cache conservatively */
+    if (!running_on_sim) {
+        ret = ia64_pal_cache_flush(4, 0, &progress, NULL);
+        if ((ret!=PAL_STATUS_SUCCESS)&& (ret!=PAL_STATUS_UNIMPLEMENTED))
+            printk("PAL CACHE FLUSH failed for dom0.\n");
+        else
+            printk("Sync i/d cache for guest SUCC\n");
+    }
+#endif
 }
 #endif
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] More pal_flush_cache calls for split cache machines (by Anthony Xu), Xen patchbot -3 . 0-testing <=