diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-06-17 08:57:23 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-18 10:45:45 -0400 |
commit | 8a229aeadcf9cf6616e56b00babc86607a3b3d1d (patch) | |
tree | 740e06b924521af3973fafc09033d1428d1d2555 /arch/arc | |
parent | 1176dcded10fd4de79aaac9bb1bd77a4aabdba61 (diff) |
ARC: Setup Vector Table Base in early boot
commit 05b016ecf5e7a8c24409d8e9effb5d2ec9107708 upstream.
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>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arc')
-rw-r--r-- | arch/arc/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/arc/kernel/irq.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arc/kernel/head.S b/arch/arc/kernel/head.S index 006dec3fc353..2a913f85a747 100644 --- a/arch/arc/kernel/head.S +++ b/arch/arc/kernel/head.S | |||
@@ -27,6 +27,8 @@ stext: | |||
27 | ; Don't clobber r0-r4 yet. It might have bootloader provided info | 27 | ; Don't clobber r0-r4 yet. It might have bootloader provided info |
28 | ;------------------------------------------------------------------- | 28 | ;------------------------------------------------------------------- |
29 | 29 | ||
30 | sr @_int_vec_base_lds, [AUX_INTR_VEC_BASE] | ||
31 | |||
30 | #ifdef CONFIG_SMP | 32 | #ifdef CONFIG_SMP |
31 | ; Only Boot (Master) proceeds. Others wait in platform dependent way | 33 | ; Only Boot (Master) proceeds. Others wait in platform dependent way |
32 | ; IDENTITY Reg [ 3 2 1 0 ] | 34 | ; IDENTITY Reg [ 3 2 1 0 ] |
diff --git a/arch/arc/kernel/irq.c b/arch/arc/kernel/irq.c index 8115fa531575..e7fd6d2abce7 100644 --- a/arch/arc/kernel/irq.c +++ b/arch/arc/kernel/irq.c | |||
@@ -32,8 +32,6 @@ void __cpuinit arc_init_IRQ(void) | |||
32 | { | 32 | { |
33 | int level_mask = 0; | 33 | int level_mask = 0; |
34 | 34 | ||
35 | write_aux_reg(AUX_INTR_VEC_BASE, _int_vec_base_lds); | ||
36 | |||
37 | /* Disable all IRQs: enable them as devices request */ | 35 | /* Disable all IRQs: enable them as devices request */ |
38 | write_aux_reg(AUX_IENABLE, 0); | 36 | write_aux_reg(AUX_IENABLE, 0); |
39 | 37 | ||