diff options
Diffstat (limited to 'arch/sh/mm/init.c')
| -rw-r--r-- | arch/sh/mm/init.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index 4abf00031dae..6cbef8caeb56 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
| @@ -137,6 +137,7 @@ void __init page_table_range_init(unsigned long start, unsigned long end, | |||
| 137 | void __init paging_init(void) | 137 | void __init paging_init(void) |
| 138 | { | 138 | { |
| 139 | unsigned long max_zone_pfns[MAX_NR_ZONES]; | 139 | unsigned long max_zone_pfns[MAX_NR_ZONES]; |
| 140 | unsigned long vaddr; | ||
| 140 | int nid; | 141 | int nid; |
| 141 | 142 | ||
| 142 | /* We don't need to map the kernel through the TLB, as | 143 | /* We don't need to map the kernel through the TLB, as |
| @@ -148,10 +149,15 @@ void __init paging_init(void) | |||
| 148 | * check for a null value. */ | 149 | * check for a null value. */ |
| 149 | set_TTB(swapper_pg_dir); | 150 | set_TTB(swapper_pg_dir); |
| 150 | 151 | ||
| 151 | /* Populate the relevant portions of swapper_pg_dir so that | 152 | /* |
| 153 | * Populate the relevant portions of swapper_pg_dir so that | ||
| 152 | * we can use the fixmap entries without calling kmalloc. | 154 | * we can use the fixmap entries without calling kmalloc. |
| 153 | * pte's will be filled in by __set_fixmap(). */ | 155 | * pte's will be filled in by __set_fixmap(). |
| 154 | page_table_range_init(FIXADDR_START, FIXADDR_TOP, swapper_pg_dir); | 156 | */ |
| 157 | vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK; | ||
| 158 | page_table_range_init(vaddr, 0, swapper_pg_dir); | ||
| 159 | |||
| 160 | kmap_coherent_init(); | ||
| 155 | 161 | ||
| 156 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); | 162 | memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); |
| 157 | 163 | ||
