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] merge

# HG changeset patch
# User Michael.Fetterman@xxxxxxxxxxxx
# Node ID b3f8d3158a1c83ae48b5b65ce1b792cc3ebb98e3
# Parent  367b9ca30e8864f0402b83002d9d50ad8e1da650
# Parent  7363637e2721206caf65521a6677e447bbd663d8
merge

diff -r 367b9ca30e88 -r b3f8d3158a1c 
linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile        Mon Nov 28 
13:08:53 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile        Mon Nov 28 
14:30:48 2005
@@ -20,6 +20,12 @@
 
 $(obj)/syscall32.o: $(src)/syscall32.c \
        $(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so)
+
+# syscall32.c currently contains inline asm which has .incbin directives.
+# This defeats ccache's signature checks, and also breaks distcc.
+# Make sure neither ccache nor distcc compiles this file.
+#
+$(obj)/syscall32.o: override CC := env CCACHE_DISABLE=1 DISTCC_HOSTS=localhost 
$(CC)
 
 # Teach kbuild about targets
 targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so)
diff -r 367b9ca30e88 -r b3f8d3158a1c xen/arch/x86/shadow.c
--- a/xen/arch/x86/shadow.c     Mon Nov 28 13:08:53 2005
+++ b/xen/arch/x86/shadow.c     Mon Nov 28 14:30:48 2005
@@ -1075,8 +1075,8 @@
     entry->next = d->arch.out_of_sync;
     d->arch.out_of_sync = entry;
 
-    FSH_LOG("mark_out_of_sync(va=%lx -> writable_pl1e=%lx)",
-            va, entry->writable_pl1e);
+    FSH_LOG("%s(va=%lx -> writable_pl1e=%lx)",
+            __func__, va, entry->writable_pl1e);
 }
 
 /*
diff -r 367b9ca30e88 -r b3f8d3158a1c xen/arch/x86/shadow32.c
--- a/xen/arch/x86/shadow32.c   Mon Nov 28 13:08:53 2005
+++ b/xen/arch/x86/shadow32.c   Mon Nov 28 14:30:48 2005
@@ -1411,7 +1411,7 @@
 }
 
 unsigned long
-gpfn_to_mfn_foreign(struct domain *d, unsigned long gpfn)
+get_mfn_from_pfn_foreign(struct domain *d, unsigned long gpfn)
 {
     unsigned long va, tabpfn;
     l1_pgentry_t *l1, l1e;
@@ -1419,7 +1419,7 @@
 
     ASSERT(shadow_mode_translate(d));
 
-    perfc_incrc(gpfn_to_mfn_foreign);
+    perfc_incrc(get_mfn_from_pfn_foreign);
 
     va = gpfn << PAGE_SHIFT;
     tabpfn = pagetable_get_pfn(d->arch.phys_table);
@@ -1428,8 +1428,8 @@
     unmap_domain_page(l2);
     if ( !(l2e_get_flags(l2e) & _PAGE_PRESENT) )
     {
-        printk("gpfn_to_mfn_foreign(d->id=%d, gpfn=%lx) => 0 l2e=%" PRIpte 
"\n",
-               d->domain_id, gpfn, l2e_get_intpte(l2e));
+        printk("%s(d->id=%d, gpfn=%lx) => 0 l2e=%" PRIpte "\n",
+               __func__, d->domain_id, gpfn, l2e_get_intpte(l2e));
         return INVALID_MFN;
     }
     l1 = map_domain_page(l2e_get_pfn(l2e));
@@ -1437,14 +1437,14 @@
     unmap_domain_page(l1);
 
 #if 0
-    printk("gpfn_to_mfn_foreign(d->id=%d, gpfn=%lx) => %lx tabpfn=%lx l2e=%lx 
l1tab=%lx, l1e=%lx\n",
-           d->domain_id, gpfn, l1_pgentry_val(l1e) >> PAGE_SHIFT, tabpfn, l2e, 
l1tab, l1e);
+    printk("%s(d->id=%d, gpfn=%lx) => %lx tabpfn=%lx l2e=%lx l1tab=%lx, 
l1e=%lx\n",
+           __func__, d->domain_id, gpfn, l1_pgentry_val(l1e) >> PAGE_SHIFT, 
tabpfn, l2e, l1tab, l1e);
 #endif
 
     if ( !(l1e_get_flags(l1e) & _PAGE_PRESENT) )
     {
-        printk("gpfn_to_mfn_foreign(d->id=%d, gpfn=%lx) => 0 l1e=%" PRIpte 
"\n",
-               d->domain_id, gpfn, l1e_get_intpte(l1e));
+        printk("%s(d->id=%d, gpfn=%lx) => 0 l1e=%" PRIpte "\n",
+               __func__, d->domain_id, gpfn, l1e_get_intpte(l1e));
         return INVALID_MFN;
     }
 
@@ -1933,8 +1933,8 @@
     entry->next = d->arch.out_of_sync;
     d->arch.out_of_sync = entry;
 
-    FSH_LOG("mark_out_of_sync(va=%lx -> writable_pl1e=%lx)",
-            va, entry->writable_pl1e);
+    FSH_LOG("%s(va=%lx -> writable_pl1e=%lx)",
+            __func__, va, entry->writable_pl1e);
 }
 
 /*
diff -r 367b9ca30e88 -r b3f8d3158a1c xen/arch/x86/shadow_public.c
--- a/xen/arch/x86/shadow_public.c      Mon Nov 28 13:08:53 2005
+++ b/xen/arch/x86/shadow_public.c      Mon Nov 28 14:30:48 2005
@@ -1593,7 +1593,7 @@
 }
 
 unsigned long
-gpfn_to_mfn_foreign(struct domain *d, unsigned long gpfn)
+get_mfn_from_pfn_foreign(struct domain *d, unsigned long gpfn)
 {
     unsigned long va, tabpfn;
     l1_pgentry_t *l1, l1e;
@@ -1601,7 +1601,7 @@
 
     ASSERT(shadow_mode_translate(d));
 
-    perfc_incrc(gpfn_to_mfn_foreign);
+    perfc_incrc(get_mfn_from_pfn_foreign);
 
     va = gpfn << PAGE_SHIFT;
     tabpfn = pagetable_get_pfn(d->arch.phys_table);
@@ -1610,8 +1610,8 @@
     unmap_domain_page(l2);
     if ( !(l2e_get_flags(l2e) & _PAGE_PRESENT) )
     {
-        printk("gpfn_to_mfn_foreign(d->id=%d, gpfn=%lx) => 0 l2e=%" PRIpte 
"\n",
-               d->domain_id, gpfn, l2e_get_intpte(l2e));
+        printk("%s(d->id=%d, gpfn=%lx) => 0 l2e=%" PRIpte "\n",
+               __func__, d->domain_id, gpfn, l2e_get_intpte(l2e));
         return INVALID_MFN;
     }
     l1 = map_domain_page(l2e_get_pfn(l2e));
@@ -1619,14 +1619,14 @@
     unmap_domain_page(l1);
 
 #if 0
-    printk("gpfn_to_mfn_foreign(d->id=%d, gpfn=%lx) => %lx tabpfn=%lx l2e=%lx 
l1tab=%lx, l1e=%lx\n",
-           d->domain_id, gpfn, l1_pgentry_val(l1e) >> PAGE_SHIFT, tabpfn, l2e, 
l1tab, l1e);
+    printk("%s(d->id=%d, gpfn=%lx) => %lx tabpfn=%lx l2e=%lx l1tab=%lx, 
l1e=%lx\n",
+           __func__, d->domain_id, gpfn, l1_pgentry_val(l1e) >> PAGE_SHIFT, 
tabpfn, l2e, l1tab, l1e);
 #endif
 
     if ( !(l1e_get_flags(l1e) & _PAGE_PRESENT) )
     {
-        printk("gpfn_to_mfn_foreign(d->id=%d, gpfn=%lx) => 0 l1e=%" PRIpte 
"\n",
-               d->domain_id, gpfn, l1e_get_intpte(l1e));
+        printk("%s(d->id=%d, gpfn=%lx) => 0 l1e=%" PRIpte "\n",
+               __func__, d->domain_id, gpfn, l1e_get_intpte(l1e));
         return INVALID_MFN;
     }
 
diff -r 367b9ca30e88 -r b3f8d3158a1c xen/common/grant_table.c
--- a/xen/common/grant_table.c  Mon Nov 28 13:08:53 2005
+++ b/xen/common/grant_table.c  Mon Nov 28 14:30:48 2005
@@ -234,7 +234,7 @@
 
         /* rmb(); */ /* not on x86 */
 
-        frame = __gpfn_to_mfn_foreign(rd, sha->frame);
+        frame = __gpfn_to_mfn(rd, sha->frame);
 
         if ( unlikely(!pfn_valid(frame)) ||
              unlikely(!((dev_hst_ro_flags & GNTMAP_readonly) ?
diff -r 367b9ca30e88 -r b3f8d3158a1c xen/include/asm-x86/shadow.h
--- a/xen/include/asm-x86/shadow.h      Mon Nov 28 13:08:53 2005
+++ b/xen/include/asm-x86/shadow.h      Mon Nov 28 14:30:48 2005
@@ -283,26 +283,21 @@
 
 /************************************************************************/
 
-#define __mfn_to_gpfn(_d, mfn)                  \
-    ( (shadow_mode_translate(_d))               \
-      ? get_pfn_from_mfn(mfn)                   \
+#define __mfn_to_gpfn(_d, mfn)                         \
+    ( (shadow_mode_translate(_d))                      \
+      ? get_pfn_from_mfn(mfn)                          \
       : (mfn) )
 
-#define __gpfn_to_mfn(_d, gpfn)                 \
-    ({                                          \
-        (shadow_mode_translate(_d))             \
-        ? (((_d) == current->domain) ?          \
-           get_mfn_from_pfn(gpfn) :             \
-           gpfn_to_mfn_foreign((_d), (gpfn)))   \
-        : (gpfn);                               \
+#define __gpfn_to_mfn(_d, gpfn)                        \
+    ({                                                 \
+        unlikely(shadow_mode_translate(_d))            \
+        ? (likely(current->domain == (_d))             \
+           ? get_mfn_from_pfn(gpfn)                    \
+           : get_mfn_from_pfn_foreign(_d, gpfn))       \
+        : (gpfn);                                      \
     })
 
-#define __gpfn_to_mfn_foreign(_d, gpfn)         \
-    ( (shadow_mode_translate(_d))               \
-      ? gpfn_to_mfn_foreign(_d, gpfn)           \
-      : (gpfn) )
-
-extern unsigned long gpfn_to_mfn_foreign(
+extern unsigned long get_mfn_from_pfn_foreign(
     struct domain *d, unsigned long gpfn);
 
 /************************************************************************/
@@ -860,18 +855,7 @@
 
     if ( l2e_get_flags(gpde) & _PAGE_PRESENT )
     {
-        if ( unlikely((current->domain != d) && !shadow_mode_external(d)) )
-        {
-            // Can't use __gpfn_to_mfn() if we don't have one of this domain's
-            // page tables currently installed.
-            // This isn't common -- it only happens during shadow mode setup
-            // and mode changes.
-            //
-            mfn = gpfn_to_mfn_foreign(d, pfn);
-        }
-        else
-            mfn = __gpfn_to_mfn(d, pfn);
-
+        mfn = __gpfn_to_mfn(d, pfn);
         if ( VALID_MFN(mfn) && (mfn < max_page) )
             hl2e = l1e_from_pfn(mfn, __PAGE_HYPERVISOR);
     }
diff -r 367b9ca30e88 -r b3f8d3158a1c xen/include/xen/perfc_defn.h
--- a/xen/include/xen/perfc_defn.h      Mon Nov 28 13:08:53 2005
+++ b/xen/include/xen/perfc_defn.h      Mon Nov 28 14:30:48 2005
@@ -114,7 +114,7 @@
 PERFCOUNTER_CPU(validate_hl2e_calls,    "calls to validate_hl2e_change")
 PERFCOUNTER_CPU(validate_hl2e_changes,  "validate_hl2e makes changes")
 PERFCOUNTER_CPU(exception_fixed,        "pre-exception fixed")
-PERFCOUNTER_CPU(gpfn_to_mfn_foreign,    "calls to gpfn_to_mfn_foreign")
+PERFCOUNTER_CPU(get_mfn_from_pfn_foreign, "calls to get_mfn_from_pfn_foreign")
 PERFCOUNTER_CPU(remove_all_access,      "calls to remove_all_access")
 PERFCOUNTER_CPU(remove_write_access,    "calls to remove_write_access")
 PERFCOUNTER_CPU(remove_write_access_easy, "easy outs of remove_write_access")

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

<Prev in Thread] Current Thread [Next in Thread>