diff mbox

sh: boot kernel with SR.BL set

Message ID 20100924090538.13826.99190.sendpatchset@t400s (mailing list archive)
State Accepted
Headers show

Commit Message

Magnus Damm Sept. 24, 2010, 9:05 a.m. UTC
None
diff mbox

Patch

--- 0001/arch/sh/boot/compressed/head_32.S
+++ work/arch/sh/boot/compressed/head_32.S	2010-09-24 17:52:43.000000000 +0900
@@ -91,7 +91,9 @@  bss_start_addr:
 end_addr:
 	.long	_end
 init_sr:
-	.long	0x400000F0	/* Privileged mode, Bank=0, Block=0, IMASK=0xF */
+	.long	0x500000F0	/* Privileged mode, Bank=0, Block=1, IMASK=0xF */
+kexec_magic:
+	.long	0x400000F0	/* magic used by kexec to parse zImage format */
 init_stack_addr:
 	.long	stack_start
 decompress_kernel_addr:
--- 0001/arch/sh/kernel/head_32.S
+++ work/arch/sh/kernel/head_32.S	2010-09-24 17:48:10.000000000 +0900
@@ -330,7 +330,7 @@  ENTRY(_stext)
 #if defined(CONFIG_CPU_SH2)
 1:	.long	0x000000F0		! IMASK=0xF
 #else
-1:	.long	0x400080F0		! MD=1, RB=0, BL=0, FD=1, IMASK=0xF
+1:	.long	0x500080F0		! MD=1, RB=0, BL=1, FD=1, IMASK=0xF
 #endif
 ENTRY(stack_start)
 2:	.long	init_thread_union+THREAD_SIZE
--- 0001/arch/sh/kernel/traps_32.c
+++ work/arch/sh/kernel/traps_32.c	2010-09-24 17:48:10.000000000 +0900
@@ -802,6 +802,9 @@  void __cpuinit per_cpu_trap_init(void)
 		     : /* no output */
 		     : "r" (&vbr_base)
 		     : "memory");
+
+	/* disable exception blocking now when the vbr has been setup */
+	clear_bl_bit();
 }
 
 void *set_exception_table_vec(unsigned int vec, void *handler)