sh: boot kernel with SR.BL set
authorMagnus Damm <damm@opensource.se>
Fri, 24 Sep 2010 09:05:38 +0000 (09:05 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 30 Sep 2010 00:43:32 +0000 (09:43 +0900)
commit68a1aed7039e5a94a8e60e23fdf676738c36086a
tree493699f8b085269298c49569f104b3c43e80d242
parent4c62c595c2a23fb36a0b901b550115370047a137
sh: boot kernel with SR.BL set

Update the SH kernel to keep SR.BL set until the VBR
register has been initialized. Useful to allow boot
of the kernel even though exceptions are pending.

Without this patch there is a window of time when
exceptions such as NMI are enabled but no exception
handlers are installed.

This patch modifies both the zImage loader and the
actual kernel to boot with BL=1, but the zImage
loader is modfied in such a way that the init_sr
value is unchanged to not break the zImage loader
provided by kexec.

Tested on sh7724 Ecovec and on the SH4AL-DSP core
included in sh7372.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boot/compressed/head_32.S
arch/sh/kernel/head_32.S
arch/sh/kernel/traps_32.c