nds32: fix ptrace and interrupt register overflow
PATCH 1/2 nds32: fix ptrace and interrupt register overflow
Fix ptrace and interrupt register overflow warning. Add missing P0 and P1 (r26 and r27) into register lists. These register are usually used in OS.
--- arch/nds32/include/asm/ptrace.h | 2 ++ arch/nds32/lib/interrupts.c | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-)
arch/nds32/include/asm/ptrace.h +2 -0
@@ -38,6 +38,8 @@ struct pt_regs {NDS32_REG d1hi;NDS32_REG d1lo;NDS32_REG r[26 ];/* r0 - r25 */ +NDS32_REG p0;/* r26 - used by OS */ +NDS32_REG p1;/* r27 - used by OS */ NDS32_REG fp;/* r28 */ NDS32_REG gp;/* r29 */ NDS32_REG lp;/* r30 */
arch/nds32/lib/interrupts.c +1 -1
@@ -91,7 +91,7 @@ void show_regs(struct pt_regs *regs)printf ("D1H: %08lx D1L: %08lx D0H: %08lx D0L: %08lx\n" , regs->d1hi, regs->d1lo, regs->d0hi, regs->d0lo);printf ("r27: %08lx r26: %08lx r25: %08lx r24: %08lx\n" , - regs->r[27 ], regs->r[26 ], regs->r[25 ], regs->r[24 ]); + regs->p1, regs->p0, regs->r[25 ], regs->r[24 ]);printf ("r23: %08lx r22: %08lx r21: %08lx r20: %08lx\n" , regs->r[23 ], regs->r[22 ], regs->r[21 ], regs->r[20 ]); printf("r19: %08lx r18: %08lx r17: %08lx r16: %08lx\n",
Signature · 1 line
1.7.5.4
PATCH 1/2 nds32: fix ptrace and interrupt register overflow
Hi Macpaul,
2012/3/11 Macpaul Lin <[email protected]>
Quoted 6 lines
Fix ptrace and interrupt register overflow warning. Add missing P0 and P1 (r26 and r27) into register lists. These register are usually used in OS.
Signed-off-by Macpaul Lin <[email protected]>
Applied to u-boot-nds32/master
Thanks.
Signature · 2 lines
Best regards, Macpaul Lin
PATCH v2 1/2 nds32: fix ptrace and interrupt register overflow
In reply to Macpaul LinFix ptrace and interrupt register overflow warning. Add missing P0 and P1 (r26 and r27) into register lists. These register are usually used in OS.
---
Change for V2:
- no change.
arch/nds32/include/asm/ptrace.h | 2 ++ arch/nds32/lib/interrupts.c | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-)
arch/nds32/include/asm/ptrace.h +2 -0
@@ -38,6 +38,8 @@ struct pt_regs {NDS32_REG d1hi;NDS32_REG d1lo;NDS32_REG r[26 ];/* r0 - r25 */ +NDS32_REG p0;/* r26 - used by OS */ +NDS32_REG p1;/* r27 - used by OS */ NDS32_REG fp;/* r28 */ NDS32_REG gp;/* r29 */ NDS32_REG lp;/* r30 */
arch/nds32/lib/interrupts.c +1 -1
@@ -91,7 +91,7 @@ void show_regs(struct pt_regs *regs)printf ("D1H: %08lx D1L: %08lx D0H: %08lx D0L: %08lx\n" , regs->d1hi, regs->d1lo, regs->d0hi, regs->d0lo);printf ("r27: %08lx r26: %08lx r25: %08lx r24: %08lx\n" , - regs->r[27 ], regs->r[26 ], regs->r[25 ], regs->r[24 ]); + regs->p1, regs->p0, regs->r[25 ], regs->r[24 ]);printf ("r23: %08lx r22: %08lx r21: %08lx r20: %08lx\n" , regs->r[23 ], regs->r[22 ], regs->r[21 ], regs->r[20 ]); printf("r19: %08lx r18: %08lx r17: %08lx r16: %08lx\n",
Signature · 1 line
1.7.5.4
PATCH v2 2/2 nds32/n1213: correct vector table in start.S
Correct definition of vector table in start.S
---
Changes for v2:
- fix symbol declaration error in start.S
arch/nds32/cpu/n1213/start.S | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-)
arch/nds32/cpu/n1213/start.S +19 -3
@@ -68,15 +68,17 @@ _start: j reset j tlb_not_present j tlb_misc j tlb_vlpt_miss - j cache_parity_error + j machine_error j debug j general_exception + j syscall j internal_interrupt ! H0I j internal_interrupt ! H1I j internal_interrupt ! H2I j internal_interrupt ! H3I j internal_interrupt ! H4I j internal_interrupt ! H5I + j software_interrupt ! S0I .balign 16
@@ -477,7 +479,7 @@ tlb_vlpt_miss: bal do_interruption .align 5 -cache_parity_error: +machine_error: SAVE_ALL move $r0, $sp ! To get the kernel stack li $r1, 5 ! Determine interruption type
@@ -498,13 +500,27 @@ general_exception: bal do_interruption .align 5 -internal_interrupt: +syscall: SAVE_ALL move $r0, $sp ! To get the kernel stack li $r1, 8 ! Determine interruption type bal do_interruption .align 5 +internal_interrupt: + SAVE_ALL + move $r0, $sp ! To get the kernel stack + li $r1, 9 ! Determine interruption type + bal do_interruption + + .align 5 +software_interrupt: + SAVE_ALL + move $r0, $sp ! To get the kernel stack + li $r1, 10 ! Determine interruption type + bal do_interruption + + .align 5 /* * void reset_cpu(ulong addr);
Signature · 1 line
1.7.5.4
PATCH v2 2/2 nds32/n1213: correct vector table in start.S
Hi Macpaul,
2012/3/11 Macpaul Lin <[email protected]>
Quoted 7 lines
Correct definition of vector table in
start.SSigned-off-by Macpaul Lin <[email protected]>---
Changes for v2:
- fix symbol declaration error instart.S
Applied to u-boot-nds32/master
Thanks.
Signature · 2 lines
Best regards, Macpaul Lin
PATCH 2/2 nds32/n1213: correct vector table in start.S
In reply to Macpaul LinCorrect definition of vector table in start.S
--- arch/nds32/cpu/n1213/start.S | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-)
arch/nds32/cpu/n1213/start.S +19 -3
@@ -68,15 +68,17 @@ _start: j reset j tlb_not_present j tlb_misc j tlb_vlpt_miss - j cache_parity_error + j machine_error j debug j general_exception + j syscall j internal_interrupt ! H0I j internal_interrupt ! H1I j internal_interrupt ! H2I j internal_interrupt ! H3I j internal_interrupt ! H4I j internal_interrupt ! H5I + j software_interrupt ! S0I .balign 16
@@ -477,7 +479,7 @@ tlb_vlpt_miss: bal do_interruption .align 5 -cache_parity_error: +machine_error: SAVE_ALL move $r0, $sp ! To get the kernel stack li $r1, 5 ! Determine interruption type
@@ -498,13 +500,27 @@ general_exception: bal do_interruption .align 5 -internal_interrupt: +syscall SAVE_ALL move $r0, $sp ! To get the kernel stack li $r1, 8 ! Determine interruption type bal do_interruption .align 5 +internal_interrupt: + SAVE_ALL + move $r0, $sp ! To get the kernel stack + li $r1, 9 ! Determine interruption type + bal do_interruption + + .align 5 +software_interrupt: + SAVE_ALL + move $r0, $sp ! To get the kernel stack + li $r1, 10 ! Determine interruption type + bal do_interruption + + .align 5 /* * void reset_cpu(ulong addr);
Signature · 1 line
1.7.5.4