powerpc/8xx: Split breakpoint exception
Breakpoint exception is big. Split it to support future growth on exception prolog. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/1dda3293d86d0f715b13b2633c95d2188a42a02c.1576916812.git.christophe.leroy@c-s.fr
This commit is contained in:
Родитель
596419afed
Коммит
afe1ec5ab8
|
@ -490,14 +490,7 @@ DARFixed:/* Return from dcbx instruction bug workaround */
|
||||||
* support of breakpoints and such. Someday I will get around to
|
* support of breakpoints and such. Someday I will get around to
|
||||||
* using them.
|
* using them.
|
||||||
*/
|
*/
|
||||||
. = 0x1c00
|
do_databreakpoint:
|
||||||
DataBreakpoint:
|
|
||||||
EXCEPTION_PROLOG_0
|
|
||||||
mfspr r11, SPRN_SRR0
|
|
||||||
cmplwi cr1, r11, (.Ldtlbie - PAGE_OFFSET)@l
|
|
||||||
cmplwi cr7, r11, (.Litlbie - PAGE_OFFSET)@l
|
|
||||||
beq- cr1, 11f
|
|
||||||
beq- cr7, 11f
|
|
||||||
EXCEPTION_PROLOG_1
|
EXCEPTION_PROLOG_1
|
||||||
EXCEPTION_PROLOG_2
|
EXCEPTION_PROLOG_2
|
||||||
addi r3,r1,STACK_FRAME_OVERHEAD
|
addi r3,r1,STACK_FRAME_OVERHEAD
|
||||||
|
@ -505,7 +498,15 @@ DataBreakpoint:
|
||||||
stw r4,_DAR(r11)
|
stw r4,_DAR(r11)
|
||||||
mfspr r5,SPRN_DSISR
|
mfspr r5,SPRN_DSISR
|
||||||
EXC_XFER_STD(0x1c00, do_break)
|
EXC_XFER_STD(0x1c00, do_break)
|
||||||
11:
|
|
||||||
|
. = 0x1c00
|
||||||
|
DataBreakpoint:
|
||||||
|
EXCEPTION_PROLOG_0
|
||||||
|
mfspr r11, SPRN_SRR0
|
||||||
|
cmplwi cr1, r11, (.Ldtlbie - PAGE_OFFSET)@l
|
||||||
|
cmplwi cr7, r11, (.Litlbie - PAGE_OFFSET)@l
|
||||||
|
cror 4*cr1+eq, 4*cr1+eq, 4*cr7+eq
|
||||||
|
bne cr1, do_databreakpoint
|
||||||
mtcr r10
|
mtcr r10
|
||||||
mfspr r10, SPRN_SPRG_SCRATCH0
|
mfspr r10, SPRN_SPRG_SCRATCH0
|
||||||
mfspr r11, SPRN_SPRG_SCRATCH1
|
mfspr r11, SPRN_SPRG_SCRATCH1
|
||||||
|
|
Загрузка…
Ссылка в новой задаче