LEON3: halt boot if IRQ controller not found

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
This commit is contained in:
Daniel Hellstrom
2012-04-05 10:23:20 -05:00
committed by Joel Sherrill
parent 95518e59bd
commit 684b54a986

View File

@@ -44,13 +44,18 @@ void amba_initialize(void)
/* Scan the AMBA Plug&Play info at the default LEON3 area */ /* Scan the AMBA Plug&Play info at the default LEON3 area */
amba_scan(&amba_conf,LEON3_IO_AREA,NULL); amba_scan(&amba_conf,LEON3_IO_AREA,NULL);
/* Find LEON3 Interrupt controler */ /* Find LEON3 Interrupt controller */
i = amba_find_apbslv(&amba_conf,VENDOR_GAISLER,GAISLER_IRQMP,&dev); i = amba_find_apbslv(&amba_conf,VENDOR_GAISLER,GAISLER_IRQMP,&dev);
if ( i > 0 ){ if (i <= 0){
/* Found APB IRQ_MP Interrupt Controller */ /* PANIC IRQ controller not found!
LEON3_IrqCtrl_Regs = (volatile LEON3_IrqCtrl_Regs_Map *) dev.start; *
* What else can we do but stop ...
*/
asm volatile( "mov 1, %g1; ta 0x0" );
} }
LEON3_IrqCtrl_Regs = (volatile LEON3_IrqCtrl_Regs_Map *) dev.start;
/* Init Extended IRQ controller if available */ /* Init Extended IRQ controller if available */
leon3_ext_irq_init(); leon3_ext_irq_init();