Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1dc417d0390b4897dc1d9bbf335e325baecae2c3
Commit:     1dc417d0390b4897dc1d9bbf335e325baecae2c3
Parent:     41504c39726a7099e5a42508dd57fe561c8b4129
Author:     Paul Mundt <[EMAIL PROTECTED]>
AuthorDate: Mon Dec 11 20:29:28 2006 +0900
Committer:  Paul Mundt <[EMAIL PROTECTED]>
CommitDate: Tue Dec 12 08:42:09 2006 +0900

    sh: Fixup sh_bios() trap handling.
    
    This was inadvertently broken when the entry.S code split up,
    restore the missing branch and get subsequent traps working
    under debug again. This manifested itself as a lockup when
    attempting to reload the VBR base.
    
    Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>
---
 arch/sh/kernel/entry-common.S |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S
index 29136a3..fc279ae 100644
--- a/arch/sh/kernel/entry-common.S
+++ b/arch/sh/kernel/entry-common.S
@@ -79,18 +79,29 @@ debug_kernel_sw:
        .align  2
 3:     .long   kgdb_handle_exception
 #endif /* CONFIG_SH_KGDB */
-
+#ifdef CONFIG_SH_STANDARD_BIOS
+       bra     debug_kernel_fw
+        nop
+#endif
 #endif /* CONFIG_SH_STANDARD_BIOS || CONFIG_SH_KGDB */
 
-
        .align  2
 debug_trap:    
 #if defined(CONFIG_SH_STANDARD_BIOS) || defined(CONFIG_SH_KGDB)
+       mov     r8, r0
+       shlr2   r0
+       cmp/eq  #0x3f, r0               ! sh_bios() trap
+       bf      1f
+#ifdef CONFIG_SH_KGDB
+       cmp/eq  #0xff, r0               ! XXX: KGDB trap, fix for SH-2.
+       bf      1f
+#endif
        mov     #OFF_SR, r0
        mov.l   @(r0,r15), r0           ! get status register
        shll    r0
        shll    r0                      ! kernel space?
        bt/s    debug_kernel
+1:
 #endif
         mov.l  @r15, r0                ! Restore R0 value
        mov.l   1f, r8
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to