diff options
Diffstat (limited to 'arch/arm/mm/mmu.c')
-rw-r--r-- | arch/arm/mm/mmu.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index cd439c1dd506..b86f8933ff91 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -999,11 +999,14 @@ static void __init devicemaps_init(struct machine_desc *mdesc) | |||
999 | { | 999 | { |
1000 | struct map_desc map; | 1000 | struct map_desc map; |
1001 | unsigned long addr; | 1001 | unsigned long addr; |
1002 | void *vectors; | ||
1002 | 1003 | ||
1003 | /* | 1004 | /* |
1004 | * Allocate the vector page early. | 1005 | * Allocate the vector page early. |
1005 | */ | 1006 | */ |
1006 | vectors_page = early_alloc(PAGE_SIZE); | 1007 | vectors = early_alloc(PAGE_SIZE); |
1008 | |||
1009 | early_trap_init(vectors); | ||
1007 | 1010 | ||
1008 | for (addr = VMALLOC_START; addr; addr += PMD_SIZE) | 1011 | for (addr = VMALLOC_START; addr; addr += PMD_SIZE) |
1009 | pmd_clear(pmd_off_k(addr)); | 1012 | pmd_clear(pmd_off_k(addr)); |
@@ -1043,7 +1046,7 @@ static void __init devicemaps_init(struct machine_desc *mdesc) | |||
1043 | * location (0xffff0000). If we aren't using high-vectors, also | 1046 | * location (0xffff0000). If we aren't using high-vectors, also |
1044 | * create a mapping at the low-vectors virtual address. | 1047 | * create a mapping at the low-vectors virtual address. |
1045 | */ | 1048 | */ |
1046 | map.pfn = __phys_to_pfn(virt_to_phys(vectors_page)); | 1049 | map.pfn = __phys_to_pfn(virt_to_phys(vectors)); |
1047 | map.virtual = 0xffff0000; | 1050 | map.virtual = 0xffff0000; |
1048 | map.length = PAGE_SIZE; | 1051 | map.length = PAGE_SIZE; |
1049 | map.type = MT_HIGH_VECTORS; | 1052 | map.type = MT_HIGH_VECTORS; |