Patch 2.6.32.35 to 2.6.32.36
/arch/x86/mm/init_64.c
blob:1584023897e06601926d21e331568229a9e3dc74 -> blob:5a4398a6006bcca5a0bce02e53f06601f399a09e
--- arch/x86/mm/init_64.c
+++ arch/x86/mm/init_64.c
@@ -49,8 +49,6 @@
#include <asm/numa.h>
#include <asm/cacheflush.h>
#include <asm/init.h>
-#include <asm/setup.h>
-#include <linux/bootmem.h>
static unsigned long dma_reserve __initdata;
@@ -258,18 +256,18 @@ void __init init_extra_mapping_uc(unsign
* to the compile time generated pmds. This results in invalid pmds up
* to the point where we hit the physaddr 0 mapping.
*
- * We limit the mappings to the region from _text to _brk_end. _brk_end
- * is rounded up to the 2MB boundary. This catches the invalid pmds as
+ * We limit the mappings to the region from _text to _end. _end is
+ * rounded up to the 2MB boundary. This catches the invalid pmds as
* well, as they are located before _text:
*/
void __init cleanup_highmap(void)
{
unsigned long vaddr = __START_KERNEL_map;
- unsigned long vaddr_end = __START_KERNEL_map + (max_pfn_mapped << PAGE_SHIFT);
- unsigned long end = roundup((unsigned long)_brk_end, PMD_SIZE) - 1;
+ unsigned long end = roundup((unsigned long)_end, PMD_SIZE) - 1;
pmd_t *pmd = level2_kernel_pgt;
+ pmd_t *last_pmd = pmd + PTRS_PER_PMD;
- for (; vaddr + PMD_SIZE - 1 < vaddr_end; pmd++, vaddr += PMD_SIZE) {
+ for (; pmd < last_pmd; pmd++, vaddr += PMD_SIZE) {
if (pmd_none(*pmd))
continue;
if (vaddr < (unsigned long) _text || vaddr > end)
@@ -617,21 +615,6 @@ void __init paging_init(void)
*/
#ifdef CONFIG_MEMORY_HOTPLUG
/*
- * After memory hotplug the variables max_pfn, max_low_pfn and high_memory need
- * updating.
- */
-static void update_end_of_memory_vars(u64 start, u64 size)
-{
- unsigned long end_pfn = PFN_UP(start + size);
-
- if (end_pfn > max_pfn) {
- max_pfn = end_pfn;
- max_low_pfn = end_pfn;
- high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1;
- }
-}
-
-/*
* Memory is added always to NORMAL zone. This means you will never get
* additional DMA/DMA32 memory.
*/
@@ -650,9 +633,6 @@ int arch_add_memory(int nid, u64 start,
ret = __add_pages(nid, zone, start_pfn, nr_pages);
WARN_ON_ONCE(ret);
- /* update max_pfn, max_low_pfn and high_memory */
- update_end_of_memory_vars(start, size);
-
return ret;
}
EXPORT_SYMBOL_GPL(arch_add_memory);