mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-01 14:52:32 +00:00
x86, mm: Unify zone_sizes_init()
Now that zone_sizes_init() is identical on 32-bit and 64-bit, move the code to arch/x86/mm/init.c and use it for both architectures. Acked-by: Tejun Heo <tj@kernel.org> Acked-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Pekka Enberg <penberg@kernel.org> Link: http://lkml.kernel.org/r/1320155902-10424-7-git-send-email-penberg@kernel.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
248b52b97d
commit
1762391530
@ -5,6 +5,8 @@
|
|||||||
extern void __init early_ioremap_page_table_range_init(void);
|
extern void __init early_ioremap_page_table_range_init(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern void __init zone_sizes_init(void);
|
||||||
|
|
||||||
extern unsigned long __init
|
extern unsigned long __init
|
||||||
kernel_physical_mapping_init(unsigned long start,
|
kernel_physical_mapping_init(unsigned long start,
|
||||||
unsigned long end,
|
unsigned long end,
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include <linux/ioport.h>
|
#include <linux/ioport.h>
|
||||||
#include <linux/swap.h>
|
#include <linux/swap.h>
|
||||||
#include <linux/memblock.h>
|
#include <linux/memblock.h>
|
||||||
|
#include <linux/bootmem.h> /* for max_low_pfn */
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/e820.h>
|
#include <asm/e820.h>
|
||||||
@ -15,6 +16,7 @@
|
|||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
#include <asm/tlb.h>
|
#include <asm/tlb.h>
|
||||||
#include <asm/proto.h>
|
#include <asm/proto.h>
|
||||||
|
#include <asm/dma.h> /* for MAX_DMA_PFN */
|
||||||
|
|
||||||
unsigned long __initdata pgt_buf_start;
|
unsigned long __initdata pgt_buf_start;
|
||||||
unsigned long __meminitdata pgt_buf_end;
|
unsigned long __meminitdata pgt_buf_end;
|
||||||
@ -392,3 +394,24 @@ void free_initrd_mem(unsigned long start, unsigned long end)
|
|||||||
free_init_pages("initrd memory", start, PAGE_ALIGN(end));
|
free_init_pages("initrd memory", start, PAGE_ALIGN(end));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void __init zone_sizes_init(void)
|
||||||
|
{
|
||||||
|
unsigned long max_zone_pfns[MAX_NR_ZONES];
|
||||||
|
|
||||||
|
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
||||||
|
|
||||||
|
#ifdef CONFIG_ZONE_DMA
|
||||||
|
max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN;
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_ZONE_DMA32
|
||||||
|
max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
|
||||||
|
#endif
|
||||||
|
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
|
||||||
|
#ifdef CONFIG_HIGHMEM
|
||||||
|
max_zone_pfns[ZONE_HIGHMEM] = max_pfn;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
free_area_init_nodes(max_zone_pfns);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -674,25 +674,6 @@ void __init initmem_init(void)
|
|||||||
}
|
}
|
||||||
#endif /* !CONFIG_NEED_MULTIPLE_NODES */
|
#endif /* !CONFIG_NEED_MULTIPLE_NODES */
|
||||||
|
|
||||||
static void __init zone_sizes_init(void)
|
|
||||||
{
|
|
||||||
unsigned long max_zone_pfns[MAX_NR_ZONES];
|
|
||||||
|
|
||||||
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
|
||||||
#ifdef CONFIG_ZONE_DMA
|
|
||||||
max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN;
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_ZONE_DMA32
|
|
||||||
max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
|
|
||||||
#endif
|
|
||||||
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
|
|
||||||
#ifdef CONFIG_HIGHMEM
|
|
||||||
max_zone_pfns[ZONE_HIGHMEM] = max_pfn;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
free_area_init_nodes(max_zone_pfns);
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init setup_bootmem_allocator(void)
|
void __init setup_bootmem_allocator(void)
|
||||||
{
|
{
|
||||||
printk(KERN_INFO " mapped low ram: 0 - %08lx\n",
|
printk(KERN_INFO " mapped low ram: 0 - %08lx\n",
|
||||||
|
@ -612,25 +612,6 @@ void __init initmem_init(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void __init zone_sizes_init(void)
|
|
||||||
{
|
|
||||||
unsigned long max_zone_pfns[MAX_NR_ZONES];
|
|
||||||
|
|
||||||
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
|
||||||
#ifdef CONFIG_ZONE_DMA
|
|
||||||
max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN;
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_ZONE_DMA32
|
|
||||||
max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN;
|
|
||||||
#endif
|
|
||||||
max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
|
|
||||||
#ifdef CONFIG_HIGHMEM
|
|
||||||
max_zone_pfns[ZONE_HIGHMEM] = max_pfn;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
free_area_init_nodes(max_zone_pfns);
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init paging_init(void)
|
void __init paging_init(void)
|
||||||
{
|
{
|
||||||
sparse_memory_present_with_active_regions(MAX_NUMNODES);
|
sparse_memory_present_with_active_regions(MAX_NUMNODES);
|
||||||
|
Loading…
Reference in New Issue
Block a user