diff options
Diffstat (limited to 'arch/arm/lib/board.c')
| -rw-r--r-- | arch/arm/lib/board.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 34f50b08a..b770e25d8 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -344,7 +344,7 @@ void board_init_f(ulong bootflag)  #if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))  	/* reserve TLB table */ -	gd->arch.tlb_size = 4096 * 4; +	gd->arch.tlb_size = PGTABLE_SIZE;  	addr -= gd->arch.tlb_size;  	/* round down to next 64 kB limit */ @@ -419,6 +419,7 @@ void board_init_f(ulong bootflag)  	}  #endif +#ifndef CONFIG_ARM64  	/* setup stackpointer for exeptions */  	gd->irq_sp = addr_sp;  #ifdef CONFIG_USE_IRQ @@ -431,11 +432,14 @@ void board_init_f(ulong bootflag)  	/* 8-byte alignment for ABI compliance */  	addr_sp &= ~0x07; +#else	/* CONFIG_ARM64 */ +	/* 16-byte alignment for ABI compliance */ +	addr_sp &= ~0x0f; +#endif	/* CONFIG_ARM64 */  #else  	addr_sp += 128;	/* leave 32 words for abort-stack   */  	gd->irq_sp = addr_sp;  #endif -	interrupt_init();  	debug("New Stack Pointer is: %08lx\n", addr_sp); @@ -637,6 +641,8 @@ void board_init_r(gd_t *id, ulong dest_addr)  	misc_init_r();  #endif +	 /* set up exceptions */ +	interrupt_init();  	/* enable exceptions */  	enable_interrupts(); |