diff options
author | Michal Simek <monstr@monstr.eu> | 2011-12-15 08:33:32 -0500 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2012-03-23 04:28:11 -0400 |
commit | 419387612c03fce2ca6d5a3d6aac3dae42069264 (patch) | |
tree | 8f8a9b847513253160a0635d774b7bd01434240e /arch/microblaze/mm/init.c | |
parent | 83a92529c1789f86481190743a6bb09f31ec39a8 (diff) |
microblaze: Introduce fixmap
Fixmap will be used for highmem support.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/mm/init.c')
-rw-r--r-- | arch/microblaze/mm/init.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c index 2253e122aa85..af87fd71a83e 100644 --- a/arch/microblaze/mm/init.c +++ b/arch/microblaze/mm/init.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <asm/pgalloc.h> | 24 | #include <asm/pgalloc.h> |
25 | #include <asm/sections.h> | 25 | #include <asm/sections.h> |
26 | #include <asm/tlb.h> | 26 | #include <asm/tlb.h> |
27 | #include <asm/fixmap.h> | ||
27 | 28 | ||
28 | /* Use for MMU and noMMU because of PCI generic code */ | 29 | /* Use for MMU and noMMU because of PCI generic code */ |
29 | int mem_init_done; | 30 | int mem_init_done; |
@@ -54,6 +55,13 @@ unsigned long lowmem_size; | |||
54 | static void __init paging_init(void) | 55 | static void __init paging_init(void) |
55 | { | 56 | { |
56 | unsigned long zones_size[MAX_NR_ZONES]; | 57 | unsigned long zones_size[MAX_NR_ZONES]; |
58 | #ifdef CONFIG_MMU | ||
59 | int idx; | ||
60 | |||
61 | /* Setup fixmaps */ | ||
62 | for (idx = 0; idx < __end_of_fixed_addresses; idx++) | ||
63 | clear_fixmap(idx); | ||
64 | #endif | ||
57 | 65 | ||
58 | /* Clean every zones */ | 66 | /* Clean every zones */ |
59 | memset(zones_size, 0, sizeof(zones_size)); | 67 | memset(zones_size, 0, sizeof(zones_size)); |
@@ -316,12 +324,9 @@ asmlinkage void __init mmu_init(void) | |||
316 | /* Map in all of RAM starting at CONFIG_KERNEL_START */ | 324 | /* Map in all of RAM starting at CONFIG_KERNEL_START */ |
317 | mapin_ram(); | 325 | mapin_ram(); |
318 | 326 | ||
319 | #ifdef CONFIG_HIGHMEM_START_BOOL | 327 | /* Extend vmalloc and ioremap area as big as possible */ |
320 | ioremap_base = CONFIG_HIGHMEM_START; | 328 | ioremap_base = ioremap_bot = FIXADDR_START; |
321 | #else | 329 | |
322 | ioremap_base = 0xfe000000UL; /* for now, could be 0xfffff000 */ | ||
323 | #endif /* CONFIG_HIGHMEM_START_BOOL */ | ||
324 | ioremap_bot = ioremap_base; | ||
325 | /* Initialize the context management stuff */ | 330 | /* Initialize the context management stuff */ |
326 | mmu_context_init(); | 331 | mmu_context_init(); |
327 | 332 | ||