Commit 05944d74 authored by Russell King's avatar Russell King Committed by Russell King

[ARM] Add initial sparsemem support

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 05dda977
...@@ -422,6 +422,8 @@ config ARCH_SA1100 ...@@ -422,6 +422,8 @@ config ARCH_SA1100
bool "SA1100-based" bool "SA1100-based"
select ISA select ISA
select ARCH_DISCONTIGMEM_ENABLE select ARCH_DISCONTIGMEM_ENABLE
select ARCH_SPARSEMEM_ENABLE
select ARCH_SELECT_MEMORY_MODEL
select ARCH_MTD_XIP select ARCH_MTD_XIP
select GENERIC_GPIO select GENERIC_GPIO
select GENERIC_TIME select GENERIC_TIME
...@@ -774,6 +776,12 @@ config ARCH_DISCONTIGMEM_ENABLE ...@@ -774,6 +776,12 @@ config ARCH_DISCONTIGMEM_ENABLE
or have huge holes in the physical address space for other reasons. or have huge holes in the physical address space for other reasons.
See <file:Documentation/vm/numa> for more. See <file:Documentation/vm/numa> for more.
config ARCH_SPARSEMEM_ENABLE
bool
config ARCH_SELECT_MEMORY_MODEL
bool
config NODES_SHIFT config NODES_SHIFT
int int
default "4" if ARCH_LH7A40X default "4" if ARCH_LH7A40X
......
...@@ -31,6 +31,8 @@ config ARCH_EDB7211 ...@@ -31,6 +31,8 @@ config ARCH_EDB7211
bool "EDB7211" bool "EDB7211"
select ISA select ISA
select ARCH_DISCONTIGMEM_ENABLE select ARCH_DISCONTIGMEM_ENABLE
select ARCH_SPARSEMEM_ENABLE
select ARCH_SELECT_MEMORY_MODEL
help help
Say Y here if you intend to run this kernel on a Cirrus Logic EDB-7211 Say Y here if you intend to run this kernel on a Cirrus Logic EDB-7211
evaluation board. evaluation board.
......
...@@ -217,7 +217,10 @@ static inline __deprecated void *bus_to_virt(unsigned long x) ...@@ -217,7 +217,10 @@ static inline __deprecated void *bus_to_virt(unsigned long x)
#ifndef CONFIG_DISCONTIGMEM #ifndef CONFIG_DISCONTIGMEM
#define ARCH_PFN_OFFSET PHYS_PFN_OFFSET #define ARCH_PFN_OFFSET PHYS_PFN_OFFSET
#ifndef CONFIG_SPARSEMEM
#define pfn_valid(pfn) ((pfn) >= PHYS_PFN_OFFSET && (pfn) < (PHYS_PFN_OFFSET + max_mapnr)) #define pfn_valid(pfn) ((pfn) >= PHYS_PFN_OFFSET && (pfn) < (PHYS_PFN_OFFSET + max_mapnr))
#endif
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
#define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory) #define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory)
......
#ifndef ASMARM_SPARSEMEM_H
#define ASMARM_SPARSEMEM_H
#include <asm/memory.h>
#define MAX_PHYSADDR_BITS 32
#define MAX_PHYSMEM_BITS 32
#define SECTION_SIZE_BITS NODE_MEM_SIZE_BITS
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment