ARC: Setup Vector Table Base in early boot
authorVineet Gupta <vgupta@synopsys.com>
Mon, 17 Jun 2013 12:57:23 +0000 (18:27 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 26 Jun 2013 10:00:51 +0000 (15:30 +0530)
Otherwise early boot exceptions such as instructions errors due to
configuration mismatch between kernel and hardware go off to la-la land,
as opposed to hitting the handler and panic()'ing properly.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/head.S
arch/arc/kernel/irq.c

index 006dec3..2a913f8 100644 (file)
@@ -27,6 +27,8 @@ stext:
        ; Don't clobber r0-r4 yet. It might have bootloader provided info
        ;-------------------------------------------------------------------
 
+       sr      @_int_vec_base_lds, [AUX_INTR_VEC_BASE]
+
 #ifdef CONFIG_SMP
        ; Only Boot (Master) proceeds. Others wait in platform dependent way
        ;       IDENTITY Reg [ 3  2  1  0 ]
index d1ef412..4918a66 100644 (file)
@@ -32,8 +32,6 @@ void __cpuinit arc_init_IRQ(void)
 {
        int level_mask = 0;
 
-       write_aux_reg(AUX_INTR_VEC_BASE, _int_vec_base_lds);
-
        /* Disable all IRQs: enable them as devices request */
        write_aux_reg(AUX_IENABLE, 0);