Remove a patch from xen.pvhvm.fixes.patch which might break i686 compile

This commit is contained in:
Michael Young 2011-01-25 22:57:25 +00:00
parent 1f6c23a1b7
commit abab315534
1 changed files with 0 additions and 42 deletions

View File

@ -153,45 +153,3 @@ 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