[kernel/rawhide/user/myoung/xendom0] restore xen.pvhvm.fixes.patch , don't build non-pae debug kernel on i686

myoung myoung at fedoraproject.org
Wed Jan 26 00:05:17 UTC 2011


commit 83389cd9903e4d3a03aa57e5a8cca19f3bd02da4
Author: Michael Young <m.a.young at durham.ac.uk>
Date:   Wed Jan 26 00:03:03 2011 +0000

    restore xen.pvhvm.fixes.patch , don't build non-pae debug kernel on i686

 kernel.spec           |    9 ++++++---
 xen.pvhvm.fixes.patch |   42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 3 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 4bd59bb..737f41a 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -229,9 +229,6 @@ Summary: The Linux kernel
 %ifnarch i686
 %define with_pae 0
 %endif
-%ifarch i686
-%define with_up 0
-%endif
 
 # if requested, only build base kernel
 %if %{with_baseonly}
@@ -426,6 +423,11 @@ Summary: The Linux kernel
 %define with_pae_debug %{with_debug}
 %endif
 
+%ifarch i686
+%define with_up 0
+%define with_debug 0
+%endif
+
 #
 # Three sets of minimum package version requirements in the form of Conflicts:
 # to versions below the minimum
@@ -1980,6 +1982,7 @@ fi
 - comment out xen.pcifront.fixes.patch (patches are in next-2.6.38)
 - put 2.6.38-rc1-memory-fixes branch in xen.pvhvm.fixes.patch
   for some memory fixes including a later version of the crash on boot patch
+- don't build non-PAE debug kernel for i686
 
 * Tue Jan 25 2011 Kyle McMartin <kmcmartin at redhat.com> 2.6.38-0.rc2.git3.1
 - Linux 2.6.38-rc2-git3
diff --git a/xen.pvhvm.fixes.patch b/xen.pvhvm.fixes.patch
index 3500374..cf6dc95 100644
--- a/xen.pvhvm.fixes.patch
+++ b/xen.pvhvm.fixes.patch
@@ -153,3 +153,45 @@ index b5a7f92..a3d28a1 100644
 1.7.3.4
 
 
+From daed469760dabbf6ae81c9869a263535fb587e63 Mon Sep 17 00:00:00 2001
+From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
+Date: Tue, 25 Jan 2011 12:05:11 +0000
+Subject: [PATCH 4/4] When destroying mappings between _brk_end and _end, do not go over _end
+
+Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
+---
+ arch/x86/mm/init.c |   15 ++++++++++++++-
+ 1 files changed, 14 insertions(+), 1 deletions(-)
+
+diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
+index 947f42a..ebc0221 100644
+--- a/arch/x86/mm/init.c
++++ b/arch/x86/mm/init.c
+@@ -291,10 +291,23 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+ 		 * located on different 2M pages. cleanup_highmap(), however,
+ 		 * can only consider _end when it runs, so destroy any
+ 		 * mappings beyond _brk_end here.
++		 * Be careful not to go over _end.
+ 		 */
+ 		pud = pud_offset(pgd_offset_k(_brk_end), _brk_end);
+ 		pmd = pmd_offset(pud, _brk_end - 1);
+-		while (++pmd <= pmd_offset(pud, (unsigned long)_end - 1))
++		while (++pmd < pmd_offset(pud, (unsigned long)_end - 1))
++			pmd_clear(pmd);
++		if (((unsigned long)_end) & ~PMD_MASK) {
++			pte_t *pte;
++			unsigned long addr;
++			for (addr = ((unsigned long)_end) & PMD_MASK;
++					addr < ((unsigned long)_end);
++					addr += PAGE_SIZE) {
++				pte = pte_offset_map(pmd, addr);
++				pte_clear(&init_mm, addr, pte);
++				pte_unmap(pte);
++			}
++		} else
+ 			pmd_clear(pmd);
+ 	}
+ #endif
+-- 
+1.7.3.4
+


More information about the scm-commits mailing list