X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Ffrv%2Fkernel%2Fbreak.S;h=687c48d62dde73b8d67a8a6bc2cd76dfcb61d773;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=dac4a5f68c2ec5f294301eb5f9108a5702f08570;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/arch/frv/kernel/break.S b/arch/frv/kernel/break.S index dac4a5f68..687c48d62 100644 --- a/arch/frv/kernel/break.S +++ b/arch/frv/kernel/break.S @@ -9,11 +9,12 @@ * 2 of the License, or (at your option) any later version. */ +#include +#include #include #include #include #include -#include #include #include @@ -23,11 +24,13 @@ # .section .bss.stack .globl __break_user_context - .balign THREAD_SIZE + .balign 8192 __break_stack: - .space THREAD_SIZE - FRV_FRAME0_SIZE -__break_frame_0: - .space FRV_FRAME0_SIZE + .space (8192 - (USER_CONTEXT_SIZE + REG__DEBUG_XTRA)) & ~7 +__break_stack_tos: + .space REG__DEBUG_XTRA +__break_user_context: + .space USER_CONTEXT_SIZE # # miscellaneous variables @@ -72,8 +75,8 @@ __entry_break: #endif LEDS 0x1001,gr31 - sethi.p %hi(__break_frame_0),gr31 - setlo %lo(__break_frame_0),gr31 + sethi.p %hi(__break_user_context),gr31 + setlo %lo(__break_user_context),gr31 stdi gr2,@(gr31,#REG_GR(2)) movsg ccr,gr3 @@ -583,8 +586,8 @@ __break_continue: # set up the kernel stack pointer sti sp,@(gr31,#REG_SP) - sethi.p %hi(__break_frame_0),sp - setlo %lo(__break_frame_0),sp + sethi.p %hi(__break_stack_tos),sp + setlo %lo(__break_stack_tos),sp # finish building the exception frame stdi gr4 ,@(gr31,#REG_GR(4)) @@ -649,12 +652,9 @@ __break_continue: movsg nmar,gr5 movsg dcr,gr6 - sethi.p %hi(__debug_status),gr7 - setlo %lo(__debug_status),gr7 - - stdi gr4 ,@(gr7,#DEBUG_BRR) - sti gr19,@(gr7,#DEBUG_BPSR) - sti.p gr6 ,@(gr7,#DEBUG_DCR) + stdi gr4 ,@(gr31,#REG_BRR) + sti gr19,@(gr31,#REG_BPSR) + sti.p gr6 ,@(gr31,#REG_DCR) # trap exceptions during break handling and disable h/w breakpoints/watchpoints sethi %hi(DCR_EBE),gr5 @@ -699,10 +699,7 @@ __break_continue: lddi @(gr31,#REG_PSR) ,gr22 ldi @(gr31,#REG_PC) ,gr21 ldi @(gr31,#REG_TBR) ,gr20 - - sethi.p %hi(__debug_status),gr6 - setlo %lo(__debug_status),gr6 - ldi.p @(gr6,#DEBUG_DCR) ,gr6 + ldi.p @(gr31,#REG_DCR) ,gr6 andi gr22,#PSR_S,gr19 /* rebuild BPSR */ andi.p gr22,#PSR_ET,gr5