cris/kgdb: Properly split long lines in asm
arch/cris/arch-v10/kernel/kgdb.c:1273:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1359:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1370:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1457:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1273:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1273:1: error: missing terminating " character arch/cris/arch-v10/kernel/kgdb.c:1274:3: error: expected string literal before '.' token arch/cris/arch-v10/kernel/kgdb.c:1359:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1359:1: error: missing terminating " character arch/cris/arch-v10/kernel/kgdb.c:1370:6: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1370:1: error: missing terminating " character arch/cris/arch-v10/kernel/kgdb.c:1457:1: warning: missing terminating " character [enabled by default] arch/cris/arch-v10/kernel/kgdb.c:1457:1: error: missing terminating " character Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
parent
7e973d79df
commit
7fc6a8ba23
@ -1270,93 +1270,93 @@ kill_restart ()
|
||||
|
||||
void kgdb_handle_breakpoint(void);
|
||||
|
||||
asm ("
|
||||
.global kgdb_handle_breakpoint
|
||||
kgdb_handle_breakpoint:
|
||||
;;
|
||||
;; Response to the break-instruction
|
||||
;;
|
||||
;; Create a register image of the caller
|
||||
;;
|
||||
move $dccr,[reg+0x5E] ; Save the flags in DCCR before disable interrupts
|
||||
di ; Disable interrupts
|
||||
move.d $r0,[reg] ; Save R0
|
||||
move.d $r1,[reg+0x04] ; Save R1
|
||||
move.d $r2,[reg+0x08] ; Save R2
|
||||
move.d $r3,[reg+0x0C] ; Save R3
|
||||
move.d $r4,[reg+0x10] ; Save R4
|
||||
move.d $r5,[reg+0x14] ; Save R5
|
||||
move.d $r6,[reg+0x18] ; Save R6
|
||||
move.d $r7,[reg+0x1C] ; Save R7
|
||||
move.d $r8,[reg+0x20] ; Save R8
|
||||
move.d $r9,[reg+0x24] ; Save R9
|
||||
move.d $r10,[reg+0x28] ; Save R10
|
||||
move.d $r11,[reg+0x2C] ; Save R11
|
||||
move.d $r12,[reg+0x30] ; Save R12
|
||||
move.d $r13,[reg+0x34] ; Save R13
|
||||
move.d $sp,[reg+0x38] ; Save SP (R14)
|
||||
;; Due to the old assembler-versions BRP might not be recognized
|
||||
.word 0xE670 ; move brp,$r0
|
||||
subq 2,$r0 ; Set to address of previous instruction.
|
||||
move.d $r0,[reg+0x3c] ; Save the address in PC (R15)
|
||||
clear.b [reg+0x40] ; Clear P0
|
||||
move $vr,[reg+0x41] ; Save special register P1
|
||||
clear.w [reg+0x42] ; Clear P4
|
||||
move $ccr,[reg+0x44] ; Save special register CCR
|
||||
move $mof,[reg+0x46] ; P7
|
||||
clear.d [reg+0x4A] ; Clear P8
|
||||
move $ibr,[reg+0x4E] ; P9,
|
||||
move $irp,[reg+0x52] ; P10,
|
||||
move $srp,[reg+0x56] ; P11,
|
||||
move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR
|
||||
; P13, register DCCR already saved
|
||||
;; Due to the old assembler-versions BRP might not be recognized
|
||||
.word 0xE670 ; move brp,r0
|
||||
;; Static (compiled) breakpoints must return to the next instruction in order
|
||||
;; to avoid infinite loops. Dynamic (gdb-invoked) must restore the instruction
|
||||
;; in order to execute it when execution is continued.
|
||||
test.b [is_dyn_brkp] ; Is this a dynamic breakpoint?
|
||||
beq is_static ; No, a static breakpoint
|
||||
nop
|
||||
subq 2,$r0 ; rerun the instruction the break replaced
|
||||
is_static:
|
||||
moveq 1,$r1
|
||||
move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint
|
||||
move.d $r0,[reg+0x62] ; Save the return address in BRP
|
||||
move $usp,[reg+0x66] ; USP
|
||||
;;
|
||||
;; Handle the communication
|
||||
;;
|
||||
move.d internal_stack+1020,$sp ; Use the internal stack which grows upward
|
||||
moveq 5,$r10 ; SIGTRAP
|
||||
jsr handle_exception ; Interactive routine
|
||||
;;
|
||||
;; Return to the caller
|
||||
;;
|
||||
move.d [reg],$r0 ; Restore R0
|
||||
move.d [reg+0x04],$r1 ; Restore R1
|
||||
move.d [reg+0x08],$r2 ; Restore R2
|
||||
move.d [reg+0x0C],$r3 ; Restore R3
|
||||
move.d [reg+0x10],$r4 ; Restore R4
|
||||
move.d [reg+0x14],$r5 ; Restore R5
|
||||
move.d [reg+0x18],$r6 ; Restore R6
|
||||
move.d [reg+0x1C],$r7 ; Restore R7
|
||||
move.d [reg+0x20],$r8 ; Restore R8
|
||||
move.d [reg+0x24],$r9 ; Restore R9
|
||||
move.d [reg+0x28],$r10 ; Restore R10
|
||||
move.d [reg+0x2C],$r11 ; Restore R11
|
||||
move.d [reg+0x30],$r12 ; Restore R12
|
||||
move.d [reg+0x34],$r13 ; Restore R13
|
||||
;;
|
||||
;; FIXME: Which registers should be restored?
|
||||
;;
|
||||
move.d [reg+0x38],$sp ; Restore SP (R14)
|
||||
move [reg+0x56],$srp ; Restore the subroutine return pointer.
|
||||
move [reg+0x5E],$dccr ; Restore DCCR
|
||||
move [reg+0x66],$usp ; Restore USP
|
||||
jump [reg+0x62] ; A jump to the content in register BRP works.
|
||||
nop ;
|
||||
");
|
||||
asm ("\n"
|
||||
" .global kgdb_handle_breakpoint\n"
|
||||
"kgdb_handle_breakpoint:\n"
|
||||
";;\n"
|
||||
";; Response to the break-instruction\n"
|
||||
";;\n"
|
||||
";; Create a register image of the caller\n"
|
||||
";;\n"
|
||||
" move $dccr,[reg+0x5E] ; Save the flags in DCCR before disable interrupts\n"
|
||||
" di ; Disable interrupts\n"
|
||||
" move.d $r0,[reg] ; Save R0\n"
|
||||
" move.d $r1,[reg+0x04] ; Save R1\n"
|
||||
" move.d $r2,[reg+0x08] ; Save R2\n"
|
||||
" move.d $r3,[reg+0x0C] ; Save R3\n"
|
||||
" move.d $r4,[reg+0x10] ; Save R4\n"
|
||||
" move.d $r5,[reg+0x14] ; Save R5\n"
|
||||
" move.d $r6,[reg+0x18] ; Save R6\n"
|
||||
" move.d $r7,[reg+0x1C] ; Save R7\n"
|
||||
" move.d $r8,[reg+0x20] ; Save R8\n"
|
||||
" move.d $r9,[reg+0x24] ; Save R9\n"
|
||||
" move.d $r10,[reg+0x28] ; Save R10\n"
|
||||
" move.d $r11,[reg+0x2C] ; Save R11\n"
|
||||
" move.d $r12,[reg+0x30] ; Save R12\n"
|
||||
" move.d $r13,[reg+0x34] ; Save R13\n"
|
||||
" move.d $sp,[reg+0x38] ; Save SP (R14)\n"
|
||||
";; Due to the old assembler-versions BRP might not be recognized\n"
|
||||
" .word 0xE670 ; move brp,$r0\n"
|
||||
" subq 2,$r0 ; Set to address of previous instruction.\n"
|
||||
" move.d $r0,[reg+0x3c] ; Save the address in PC (R15)\n"
|
||||
" clear.b [reg+0x40] ; Clear P0\n"
|
||||
" move $vr,[reg+0x41] ; Save special register P1\n"
|
||||
" clear.w [reg+0x42] ; Clear P4\n"
|
||||
" move $ccr,[reg+0x44] ; Save special register CCR\n"
|
||||
" move $mof,[reg+0x46] ; P7\n"
|
||||
" clear.d [reg+0x4A] ; Clear P8\n"
|
||||
" move $ibr,[reg+0x4E] ; P9,\n"
|
||||
" move $irp,[reg+0x52] ; P10,\n"
|
||||
" move $srp,[reg+0x56] ; P11,\n"
|
||||
" move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR\n"
|
||||
" ; P13, register DCCR already saved\n"
|
||||
";; Due to the old assembler-versions BRP might not be recognized\n"
|
||||
" .word 0xE670 ; move brp,r0\n"
|
||||
";; Static (compiled) breakpoints must return to the next instruction in order\n"
|
||||
";; to avoid infinite loops. Dynamic (gdb-invoked) must restore the instruction\n"
|
||||
";; in order to execute it when execution is continued.\n"
|
||||
" test.b [is_dyn_brkp] ; Is this a dynamic breakpoint?\n"
|
||||
" beq is_static ; No, a static breakpoint\n"
|
||||
" nop\n"
|
||||
" subq 2,$r0 ; rerun the instruction the break replaced\n"
|
||||
"is_static:\n"
|
||||
" moveq 1,$r1\n"
|
||||
" move.b $r1,[is_dyn_brkp] ; Set the state variable to dynamic breakpoint\n"
|
||||
" move.d $r0,[reg+0x62] ; Save the return address in BRP\n"
|
||||
" move $usp,[reg+0x66] ; USP\n"
|
||||
";;\n"
|
||||
";; Handle the communication\n"
|
||||
";;\n"
|
||||
" move.d internal_stack+1020,$sp ; Use the internal stack which grows upward\n"
|
||||
" moveq 5,$r10 ; SIGTRAP\n"
|
||||
" jsr handle_exception ; Interactive routine\n"
|
||||
";;\n"
|
||||
";; Return to the caller\n"
|
||||
";;\n"
|
||||
" move.d [reg],$r0 ; Restore R0\n"
|
||||
" move.d [reg+0x04],$r1 ; Restore R1\n"
|
||||
" move.d [reg+0x08],$r2 ; Restore R2\n"
|
||||
" move.d [reg+0x0C],$r3 ; Restore R3\n"
|
||||
" move.d [reg+0x10],$r4 ; Restore R4\n"
|
||||
" move.d [reg+0x14],$r5 ; Restore R5\n"
|
||||
" move.d [reg+0x18],$r6 ; Restore R6\n"
|
||||
" move.d [reg+0x1C],$r7 ; Restore R7\n"
|
||||
" move.d [reg+0x20],$r8 ; Restore R8\n"
|
||||
" move.d [reg+0x24],$r9 ; Restore R9\n"
|
||||
" move.d [reg+0x28],$r10 ; Restore R10\n"
|
||||
" move.d [reg+0x2C],$r11 ; Restore R11\n"
|
||||
" move.d [reg+0x30],$r12 ; Restore R12\n"
|
||||
" move.d [reg+0x34],$r13 ; Restore R13\n"
|
||||
";;\n"
|
||||
";; FIXME: Which registers should be restored?\n"
|
||||
";;\n"
|
||||
" move.d [reg+0x38],$sp ; Restore SP (R14)\n"
|
||||
" move [reg+0x56],$srp ; Restore the subroutine return pointer.\n"
|
||||
" move [reg+0x5E],$dccr ; Restore DCCR\n"
|
||||
" move [reg+0x66],$usp ; Restore USP\n"
|
||||
" jump [reg+0x62] ; A jump to the content in register BRP works.\n"
|
||||
" nop ;\n"
|
||||
"\n");
|
||||
|
||||
/* The hook for an interrupt generated by GDB. An internal stack is used
|
||||
by the stub. The register image of the caller is stored in the structure
|
||||
@ -1367,94 +1367,94 @@ is_static:
|
||||
|
||||
void kgdb_handle_serial(void);
|
||||
|
||||
asm ("
|
||||
.global kgdb_handle_serial
|
||||
kgdb_handle_serial:
|
||||
;;
|
||||
;; Response to a serial interrupt
|
||||
;;
|
||||
|
||||
move $dccr,[reg+0x5E] ; Save the flags in DCCR
|
||||
di ; Disable interrupts
|
||||
move.d $r0,[reg] ; Save R0
|
||||
move.d $r1,[reg+0x04] ; Save R1
|
||||
move.d $r2,[reg+0x08] ; Save R2
|
||||
move.d $r3,[reg+0x0C] ; Save R3
|
||||
move.d $r4,[reg+0x10] ; Save R4
|
||||
move.d $r5,[reg+0x14] ; Save R5
|
||||
move.d $r6,[reg+0x18] ; Save R6
|
||||
move.d $r7,[reg+0x1C] ; Save R7
|
||||
move.d $r8,[reg+0x20] ; Save R8
|
||||
move.d $r9,[reg+0x24] ; Save R9
|
||||
move.d $r10,[reg+0x28] ; Save R10
|
||||
move.d $r11,[reg+0x2C] ; Save R11
|
||||
move.d $r12,[reg+0x30] ; Save R12
|
||||
move.d $r13,[reg+0x34] ; Save R13
|
||||
move.d $sp,[reg+0x38] ; Save SP (R14)
|
||||
move $irp,[reg+0x3c] ; Save the address in PC (R15)
|
||||
clear.b [reg+0x40] ; Clear P0
|
||||
move $vr,[reg+0x41] ; Save special register P1,
|
||||
clear.w [reg+0x42] ; Clear P4
|
||||
move $ccr,[reg+0x44] ; Save special register CCR
|
||||
move $mof,[reg+0x46] ; P7
|
||||
clear.d [reg+0x4A] ; Clear P8
|
||||
move $ibr,[reg+0x4E] ; P9,
|
||||
move $irp,[reg+0x52] ; P10,
|
||||
move $srp,[reg+0x56] ; P11,
|
||||
move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR
|
||||
; P13, register DCCR already saved
|
||||
;; Due to the old assembler-versions BRP might not be recognized
|
||||
.word 0xE670 ; move brp,r0
|
||||
move.d $r0,[reg+0x62] ; Save the return address in BRP
|
||||
move $usp,[reg+0x66] ; USP
|
||||
|
||||
;; get the serial character (from debugport.c) and check if it is a ctrl-c
|
||||
|
||||
jsr getDebugChar
|
||||
cmp.b 3, $r10
|
||||
bne goback
|
||||
nop
|
||||
|
||||
move.d [reg+0x5E], $r10 ; Get DCCR
|
||||
btstq 8, $r10 ; Test the U-flag.
|
||||
bmi goback
|
||||
nop
|
||||
|
||||
;;
|
||||
;; Handle the communication
|
||||
;;
|
||||
move.d internal_stack+1020,$sp ; Use the internal stack
|
||||
moveq 2,$r10 ; SIGINT
|
||||
jsr handle_exception ; Interactive routine
|
||||
|
||||
goback:
|
||||
;;
|
||||
;; Return to the caller
|
||||
;;
|
||||
move.d [reg],$r0 ; Restore R0
|
||||
move.d [reg+0x04],$r1 ; Restore R1
|
||||
move.d [reg+0x08],$r2 ; Restore R2
|
||||
move.d [reg+0x0C],$r3 ; Restore R3
|
||||
move.d [reg+0x10],$r4 ; Restore R4
|
||||
move.d [reg+0x14],$r5 ; Restore R5
|
||||
move.d [reg+0x18],$r6 ; Restore R6
|
||||
move.d [reg+0x1C],$r7 ; Restore R7
|
||||
move.d [reg+0x20],$r8 ; Restore R8
|
||||
move.d [reg+0x24],$r9 ; Restore R9
|
||||
move.d [reg+0x28],$r10 ; Restore R10
|
||||
move.d [reg+0x2C],$r11 ; Restore R11
|
||||
move.d [reg+0x30],$r12 ; Restore R12
|
||||
move.d [reg+0x34],$r13 ; Restore R13
|
||||
;;
|
||||
;; FIXME: Which registers should be restored?
|
||||
;;
|
||||
move.d [reg+0x38],$sp ; Restore SP (R14)
|
||||
move [reg+0x56],$srp ; Restore the subroutine return pointer.
|
||||
move [reg+0x5E],$dccr ; Restore DCCR
|
||||
move [reg+0x66],$usp ; Restore USP
|
||||
reti ; Return from the interrupt routine
|
||||
nop
|
||||
");
|
||||
asm ("\n"
|
||||
" .global kgdb_handle_serial\n"
|
||||
"kgdb_handle_serial:\n"
|
||||
";;\n"
|
||||
";; Response to a serial interrupt\n"
|
||||
";;\n"
|
||||
"\n"
|
||||
" move $dccr,[reg+0x5E] ; Save the flags in DCCR\n"
|
||||
" di ; Disable interrupts\n"
|
||||
" move.d $r0,[reg] ; Save R0\n"
|
||||
" move.d $r1,[reg+0x04] ; Save R1\n"
|
||||
" move.d $r2,[reg+0x08] ; Save R2\n"
|
||||
" move.d $r3,[reg+0x0C] ; Save R3\n"
|
||||
" move.d $r4,[reg+0x10] ; Save R4\n"
|
||||
" move.d $r5,[reg+0x14] ; Save R5\n"
|
||||
" move.d $r6,[reg+0x18] ; Save R6\n"
|
||||
" move.d $r7,[reg+0x1C] ; Save R7\n"
|
||||
" move.d $r8,[reg+0x20] ; Save R8\n"
|
||||
" move.d $r9,[reg+0x24] ; Save R9\n"
|
||||
" move.d $r10,[reg+0x28] ; Save R10\n"
|
||||
" move.d $r11,[reg+0x2C] ; Save R11\n"
|
||||
" move.d $r12,[reg+0x30] ; Save R12\n"
|
||||
" move.d $r13,[reg+0x34] ; Save R13\n"
|
||||
" move.d $sp,[reg+0x38] ; Save SP (R14)\n"
|
||||
" move $irp,[reg+0x3c] ; Save the address in PC (R15)\n"
|
||||
" clear.b [reg+0x40] ; Clear P0\n"
|
||||
" move $vr,[reg+0x41] ; Save special register P1,\n"
|
||||
" clear.w [reg+0x42] ; Clear P4\n"
|
||||
" move $ccr,[reg+0x44] ; Save special register CCR\n"
|
||||
" move $mof,[reg+0x46] ; P7\n"
|
||||
" clear.d [reg+0x4A] ; Clear P8\n"
|
||||
" move $ibr,[reg+0x4E] ; P9,\n"
|
||||
" move $irp,[reg+0x52] ; P10,\n"
|
||||
" move $srp,[reg+0x56] ; P11,\n"
|
||||
" move $dtp0,[reg+0x5A] ; P12, register BAR, assembler might not know BAR\n"
|
||||
" ; P13, register DCCR already saved\n"
|
||||
";; Due to the old assembler-versions BRP might not be recognized\n"
|
||||
" .word 0xE670 ; move brp,r0\n"
|
||||
" move.d $r0,[reg+0x62] ; Save the return address in BRP\n"
|
||||
" move $usp,[reg+0x66] ; USP\n"
|
||||
"\n"
|
||||
";; get the serial character (from debugport.c) and check if it is a ctrl-c\n"
|
||||
"\n"
|
||||
" jsr getDebugChar\n"
|
||||
" cmp.b 3, $r10\n"
|
||||
" bne goback\n"
|
||||
" nop\n"
|
||||
"\n"
|
||||
" move.d [reg+0x5E], $r10 ; Get DCCR\n"
|
||||
" btstq 8, $r10 ; Test the U-flag.\n"
|
||||
" bmi goback\n"
|
||||
" nop\n"
|
||||
"\n"
|
||||
";;\n"
|
||||
";; Handle the communication\n"
|
||||
";;\n"
|
||||
" move.d internal_stack+1020,$sp ; Use the internal stack\n"
|
||||
" moveq 2,$r10 ; SIGINT\n"
|
||||
" jsr handle_exception ; Interactive routine\n"
|
||||
"\n"
|
||||
"goback:\n"
|
||||
";;\n"
|
||||
";; Return to the caller\n"
|
||||
";;\n"
|
||||
" move.d [reg],$r0 ; Restore R0\n"
|
||||
" move.d [reg+0x04],$r1 ; Restore R1\n"
|
||||
" move.d [reg+0x08],$r2 ; Restore R2\n"
|
||||
" move.d [reg+0x0C],$r3 ; Restore R3\n"
|
||||
" move.d [reg+0x10],$r4 ; Restore R4\n"
|
||||
" move.d [reg+0x14],$r5 ; Restore R5\n"
|
||||
" move.d [reg+0x18],$r6 ; Restore R6\n"
|
||||
" move.d [reg+0x1C],$r7 ; Restore R7\n"
|
||||
" move.d [reg+0x20],$r8 ; Restore R8\n"
|
||||
" move.d [reg+0x24],$r9 ; Restore R9\n"
|
||||
" move.d [reg+0x28],$r10 ; Restore R10\n"
|
||||
" move.d [reg+0x2C],$r11 ; Restore R11\n"
|
||||
" move.d [reg+0x30],$r12 ; Restore R12\n"
|
||||
" move.d [reg+0x34],$r13 ; Restore R13\n"
|
||||
";;\n"
|
||||
";; FIXME: Which registers should be restored?\n"
|
||||
";;\n"
|
||||
" move.d [reg+0x38],$sp ; Restore SP (R14)\n"
|
||||
" move [reg+0x56],$srp ; Restore the subroutine return pointer.\n"
|
||||
" move [reg+0x5E],$dccr ; Restore DCCR\n"
|
||||
" move [reg+0x66],$usp ; Restore USP\n"
|
||||
" reti ; Return from the interrupt routine\n"
|
||||
" nop\n"
|
||||
"\n");
|
||||
|
||||
/* Use this static breakpoint in the start-up only. */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user