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 cd439c1dd50..b86f8933ff9 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)  {  	struct map_desc map;  	unsigned long addr; +	void *vectors;  	/*  	 * Allocate the vector page early.  	 */ -	vectors_page = early_alloc(PAGE_SIZE); +	vectors = early_alloc(PAGE_SIZE); + +	early_trap_init(vectors);  	for (addr = VMALLOC_START; addr; addr += PMD_SIZE)  		pmd_clear(pmd_off_k(addr)); @@ -1043,7 +1046,7 @@ static void __init devicemaps_init(struct machine_desc *mdesc)  	 * location (0xffff0000).  If we aren't using high-vectors, also  	 * create a mapping at the low-vectors virtual address.  	 */ -	map.pfn = __phys_to_pfn(virt_to_phys(vectors_page)); +	map.pfn = __phys_to_pfn(virt_to_phys(vectors));  	map.virtual = 0xffff0000;  	map.length = PAGE_SIZE;  	map.type = MT_HIGH_VECTORS;  |