restore xen.pvhvm.fixes.patch , don't build non-pae debug kernel on i686
This commit is contained in:
parent
abab315534
commit
83389cd990
|
@ -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@redhat.com> 2.6.38-0.rc2.git3.1
|
||||
- Linux 2.6.38-rc2-git3
|
||||
|
|
|
@ -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@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@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
|
||||
|
||||
|
|
Loading…
Reference in New Issue