diff options
Diffstat (limited to 'arch/arm/include/asm/memory.h')
-rw-r--r-- | arch/arm/include/asm/memory.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 0202a7c20e6..ae472bc376d 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -44,14 +44,21 @@ | |||
44 | * The module space lives between the addresses given by TASK_SIZE | 44 | * The module space lives between the addresses given by TASK_SIZE |
45 | * and PAGE_OFFSET - it must be within 32MB of the kernel text. | 45 | * and PAGE_OFFSET - it must be within 32MB of the kernel text. |
46 | */ | 46 | */ |
47 | #define MODULES_END (PAGE_OFFSET) | 47 | #define MODULES_VADDR (PAGE_OFFSET - 16*1024*1024) |
48 | #define MODULES_VADDR (MODULES_END - 16*1048576) | ||
49 | |||
50 | #if TASK_SIZE > MODULES_VADDR | 48 | #if TASK_SIZE > MODULES_VADDR |
51 | #error Top of user space clashes with start of module space | 49 | #error Top of user space clashes with start of module space |
52 | #endif | 50 | #endif |
53 | 51 | ||
54 | /* | 52 | /* |
53 | * The highmem pkmap virtual space shares the end of the module area. | ||
54 | */ | ||
55 | #ifdef CONFIG_HIGHMEM | ||
56 | #define MODULES_END (PAGE_OFFSET - PMD_SIZE) | ||
57 | #else | ||
58 | #define MODULES_END (PAGE_OFFSET) | ||
59 | #endif | ||
60 | |||
61 | /* | ||
55 | * The XIP kernel gets mapped at the bottom of the module vm area. | 62 | * The XIP kernel gets mapped at the bottom of the module vm area. |
56 | * Since we use sections to map it, this macro replaces the physical address | 63 | * Since we use sections to map it, this macro replaces the physical address |
57 | * with its virtual address while keeping offset from the base section. | 64 | * with its virtual address while keeping offset from the base section. |