From ff6d30eb4fcb5e6ef13de6a720fa4b939abef8ff Mon Sep 17 00:00:00 2001
From: Atle Nissestad <atle@nissestad.no>
Date: Wed, 19 Dec 2007 20:07:43 +0100
Subject: [PATCH] nios2: Ptrace fixes

* Add missing ea-register
* Fix address pointer in get_reg/put_reg

Signed-off-by: Atle Nissestad <atle@nissestad.no>
---
 linux-2.6.x/arch/nios2nommu/kernel/ptrace.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/linux-2.6.x/arch/nios2nommu/kernel/ptrace.c b/linux-2.6.x/arch/nios2nommu/kernel/ptrace.c
index d2028b7..df7d2a5 100644
--- a/linux-2.6.x/arch/nios2nommu/kernel/ptrace.c
+++ b/linux-2.6.x/arch/nios2nommu/kernel/ptrace.c
@@ -58,7 +58,7 @@ static int regoff[] = {
 	SW_REG(r16), SW_REG(r17), SW_REG(r18), SW_REG(r19),
 	SW_REG(r20), SW_REG(r21), SW_REG(r22), SW_REG(r23),
 	         -1,          -1, PT_REG( gp), PT_REG( sp),
-	         -1,          -1,          -1, PT_REG( ra),
+	         -1, PT_REG( ea),          -1, PT_REG( ra),
 	         -1, PT_REG(estatus),      -1,          -1,
 	         -1,          -1
 };
@@ -73,7 +73,7 @@ static inline long get_reg(struct task_struct *task, int regno)
 	if (regoff[regno] == -1)
 		return 0;
 	else if (regno < sizeof(regoff)/sizeof(regoff[0]))
-		addr = (unsigned long *)(task->thread.kregs + regoff[regno]);
+		addr = (unsigned long *)((char *)task->thread.kregs + regoff[regno]);
 	else
 		return 0;
 	return *addr;
@@ -90,7 +90,7 @@ static inline int put_reg(struct task_struct *task, int regno,
 	if (regoff[regno] == -1)
 		return -1;
 	else if (regno < sizeof(regoff)/sizeof(regoff[0]))
-		addr = (unsigned long *) (task->thread.kregs + regoff[regno]);
+		addr = (unsigned long *)((char *)task->thread.kregs + regoff[regno]);
 	else
 		return -1;
 	*addr = data;
-- 
1.5.3.3

