ARC: SMP failed to boot due to missing IVT setup
authorNoam Camus <noamc@ezchip.com>
Thu, 12 Sep 2013 07:37:39 +0000 (13:07 +0530)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 12 Sep 2013 14:40:08 +0000 (07:40 -0700)
commitc3567f8a359b7917dcffa442301f88ed0a75211f
tree0bf6687e01b7d9eabd7b096e64bbb2d8a6c2bf15
parentd5d04bb48f0eb89c14e76779bb46212494de0bec
ARC: SMP failed to boot due to missing IVT setup

Commit 05b016ecf5e7a "ARC: Setup Vector Table Base in early boot" moved
the Interrupt vector Table setup out of arc_init_IRQ() which is called
for all CPUs, to entry point of boot cpu only, breaking booting of others.

Fix by adding the same to entry point of non-boot CPUs too.

read_arc_build_cfg_regs() printing IVT Base Register didn't help the
casue since it prints a synthetic value if zero which is totally bogus,
so fix that to print the exact Register.

[vgupta: Remove the now stale comment from header of arc_init_IRQ and
also added the commentary for halt-on-reset]

Cc: Gilad Ben-Yossef <gilad@benyossef.com>
Cc: Cc: <stable@vger.kernel.org> #3.11
Signed-off-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arc/include/asm/sections.h
arch/arc/kernel/head.S
arch/arc/kernel/irq.c
arch/arc/kernel/setup.c