linux/arch/sh/kernel
Magnus Damm 68a1aed703 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>
2010-09-30 09:43:32 +09:00
..
cpu sh: Add sh7724 BEU resources 2010-08-04 15:58:18 +09:00
vsyscall include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
.gitignore
asm-offsets.c
clkdev.c sh: fix a kfree address in clkdev code 2010-09-30 09:43:32 +09:00
cpufreq.c arch/sh/kernel: Use set_cpus_allowed_ptr 2010-03-29 11:40:37 +09:00
crash_dump.c sh: shuffle the elfcorehdr handling over to the crash dump code. 2010-05-07 17:58:55 +09:00
debugtraps.S sh: kgdb: Rework breakpoint handling on top of notifier chain. 2009-12-22 12:44:14 +09:00
disassemble.c
dma-nommu.c
dumpstack.c
dwarf.c sh: handle early calls to return_address() when using dwarf unwinder. 2010-05-25 16:16:40 +09:00
entry-common.S sh: Correct the offset of the return address in ret_from_exception 2010-02-08 10:46:46 +09:00
ftrace.c tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
head_32.S sh: boot kernel with SR.BL set 2010-09-30 09:43:32 +09:00
head_64.S sh64: Fix up early serial fixmap. 2010-01-12 15:22:26 +09:00
hw_breakpoint.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-05-19 11:36:03 -07:00
idle.c sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
init_task.c
io_generic.c sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
io_trapped.c sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
io.c sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
irq_32.c
irq_64.c
irq.c sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
kdebugfs.c sh: provide generic arch_debugfs_dir. 2010-09-24 04:04:26 +09:00
kgdb.c kgdb,sh: update superh kgdb exception handling 2010-05-20 21:04:20 -05:00
kprobes.c sh: kprobes SMP support. 2010-06-14 17:06:10 +09:00
localtimer.c sh: CPU hotplug support. 2010-04-26 19:08:55 +09:00
machine_kexec.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
machvec.c sh: support for platforms without PIO. 2010-06-02 16:31:42 +09:00
Makefile sh: provide generic arch_debugfs_dir. 2010-09-24 04:04:26 +09:00
module.c
nmi_debug.c
perf_callchain.c perf: Fix inconsistency between IP and callchain sampling 2010-01-28 14:31:20 +01:00
perf_event.c perf: Convert perf_event to local_t 2010-06-09 11:12:37 +02:00
process_32.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
process_64.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
process.c Merge branch 'sh/stable-updates' 2010-04-26 16:08:27 +09:00
ptrace_32.c sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
ptrace_64.c sh: kill big kernel lock 2010-09-16 16:37:56 +09:00
ptrace.c sh: Add kprobe-based event tracer. 2010-06-14 15:16:53 +09:00
reboot.c sh: Provide a global TLB flush for U/I-TLB clear. 2010-07-02 15:44:09 +09:00
relocate_kernel.S
return_address.c sh: handle early calls to return_address() when using dwarf unwinder. 2010-05-25 16:16:40 +09:00
setup.c sh: provide generic arch_debugfs_dir. 2010-09-24 04:04:26 +09:00
sh_bios.c sh: sh_bios detection. 2010-01-12 18:42:52 +09:00
sh_ksyms_32.c
sh_ksyms_64.c
signal_32.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
signal_64.c Merge branch 'sh/stable-updates' 2010-02-15 14:49:37 +09:00
smp.c sh: native_cpu_disable() build error when CONFIG_HOTPLUG_CPU=n 2010-04-29 23:28:38 +09:00
stacktrace.c
swsusp.c
sys_sh32.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sys_sh64.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sys_sh.c Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
syscalls_32.S sh: Provide a non-multiplexed sys_recvmmsg path. 2010-09-14 17:43:11 +09:00
syscalls_64.S sh: wire up fanotify/prlimit64 syscalls. 2010-08-16 13:51:18 +09:00
time.c sh: Convert sh to use read/update_persistent_clock 2010-03-05 02:04:38 +09:00
topology.c sh: Flag present CPUs hotpluggable in topology registration. 2010-04-26 18:20:29 +09:00
traps_32.c sh: boot kernel with SR.BL set 2010-09-30 09:43:32 +09:00
traps_64.c sh64: provide a stub per_cpu_trap_init() definition. 2010-05-18 15:23:48 +09:00
traps.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
unwinder.c
vmlinux.lds.S sh: Kill off some superfluous legacy PMB special casing. 2010-02-16 21:43:38 +09:00