[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Invalidate p2m entries when blocks of phys memory are handed back to



ChangeSet 1.1389, 2005/04/27 11:37:26+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Invalidate p2m entries when blocks of phys memory are handed back to
        Xen allocation pool. This is the correct fix for the "dom0 kernel
        crashes when I create a domU" bug.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 i386/mm/hypervisor.c   |    3 ++-
 x86_64/mm/hypervisor.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)


diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/hypervisor.c 
b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/hypervisor.c
--- a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/hypervisor.c     2005-04-27 
07:02:37 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/hypervisor.c     2005-04-27 
07:02:37 -04:00
@@ -211,7 +211,8 @@
         pte = pte_offset_kernel(pmd, (vstart + (i*PAGE_SIZE))); 
         pfn_array[i] = pte->pte_low >> PAGE_SHIFT;
         HYPERVISOR_update_va_mapping(vstart + (i*PAGE_SIZE), __pte_ma(0), 0);
-        phys_to_machine_mapping[__pa(vstart)>>PAGE_SHIFT] = INVALID_P2M_ENTRY;
+        phys_to_machine_mapping[(__pa(vstart)>>PAGE_SHIFT)+i] =
+            INVALID_P2M_ENTRY;
     }
 
     flush_tlb_all();
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/hypervisor.c 
b/linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/hypervisor.c
--- a/linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/hypervisor.c   2005-04-27 
07:02:37 -04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/x86_64/mm/hypervisor.c   2005-04-27 
07:02:37 -04:00
@@ -258,7 +258,8 @@
         pte = pte_offset_kernel(pmd, (vstart + (i*PAGE_SIZE))); 
         pfn_array[i] = pte->pte >> PAGE_SHIFT;
         xen_l1_entry_update(pte, 0);
-        phys_to_machine_mapping[__pa(vstart)>>PAGE_SHIFT] = 
(u32)INVALID_P2M_ENTRY;
+        phys_to_machine_mapping[(__pa(vstart)>>PAGE_SHIFT)+i] =
+            (u32)INVALID_P2M_ENTRY;
     }
 
     /* Flush updates through and flush the TLB. */

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.