about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/bits/user.h35
-rw-r--r--arch/mips/bits/reg.h46
-rw-r--r--arch/mips/bits/user.h47
-rw-r--r--arch/powerpc/bits/user.h48
4 files changed, 78 insertions, 98 deletions
diff --git a/arch/arm/bits/user.h b/arch/arm/bits/user.h
index c533fd8d..d5f1deaa 100644
--- a/arch/arm/bits/user.h
+++ b/arch/arm/bits/user.h
@@ -1,5 +1,4 @@
-struct user_fpregs_struct
-{
+struct user_fpregs {
 	struct fp_reg {
 		unsigned sign1:1;
 		unsigned unused:15;
@@ -15,26 +14,20 @@ struct user_fpregs_struct
 	unsigned int init_flag;
 };
 
-struct user_regs_struct
-{
+struct user_regs {
 	unsigned long uregs[18];
 };
 
-struct user
-{
-	struct user_regs_struct		regs;
-	int				u_fpvalid;
-	unsigned long			u_tsize;
-	unsigned long			u_dsize;
-	unsigned long			u_ssize;
-	unsigned long			start_code;
-	unsigned long			start_stack;
-	long				signal;
-	int				reserved;
-	struct user_regs_struct		*u_ar0;
-	unsigned long int		magic;
-	char				u_comm[32];
-	int				u_debugreg[8];
-	struct user_fpregs_struct	u_fp;
-	struct user_fpregs_struct	*u_fp0;
+struct user {
+	struct user_regs regs;
+	int u_fpvalid;
+	unsigned long u_tsize, u_dsize, u_ssize;
+	unsigned long start_code, start_stack;
+	long signal;
+	struct user_regs *u_ar0;
+	unsigned long magic;
+	char u_comm[32];
+	int u_debugreg[8];
+	struct user_fpregs u_fp;
+	struct user_fpregs *u_fp0;
 };
diff --git a/arch/mips/bits/reg.h b/arch/mips/bits/reg.h
index 0c7bffca..0c370987 100644
--- a/arch/mips/bits/reg.h
+++ b/arch/mips/bits/reg.h
@@ -1,3 +1,47 @@
 #undef __WORDSIZE
 #define __WORDSIZE 32
-/* FIXME */
+
+#define EF_R0 6
+#define EF_R1 7
+#define EF_R2 8
+#define EF_R3 9
+#define EF_R4 10
+#define EF_R5 11
+#define EF_R6 12
+#define EF_R7 13
+#define EF_R8 14
+#define EF_R9 15
+#define EF_R10 16
+#define EF_R11 17
+#define EF_R12 18
+#define EF_R13 19
+#define EF_R14 20
+#define EF_R15 21
+#define EF_R16 22
+#define EF_R17 23
+#define EF_R18 24
+#define EF_R19 25
+#define EF_R20 26
+#define EF_R21 27
+#define EF_R22 28
+#define EF_R23 29
+#define EF_R24 30
+#define EF_R25 31
+
+#define EF_R26 32
+#define EF_R27 33
+#define EF_R28 34
+#define EF_R29 35
+#define EF_R30 36
+#define EF_R31 37
+
+#define EF_LO 38
+#define EF_HI 39
+
+#define EF_CP0_EPC 40
+#define EF_CP0_BADVADDR 41
+#define EF_CP0_STATUS 42
+#define EF_CP0_CAUSE 43
+#define EF_UNUSED0 44
+
+#define EF_SIZE 180
diff --git a/arch/mips/bits/user.h b/arch/mips/bits/user.h
index c533fd8d..739233c1 100644
--- a/arch/mips/bits/user.h
+++ b/arch/mips/bits/user.h
@@ -1,40 +1,9 @@
-struct user_fpregs_struct
-{
-	struct fp_reg {
-		unsigned sign1:1;
-		unsigned unused:15;
-		unsigned sign2:1;
-		unsigned exponent:14;
-		unsigned j:1;
-		unsigned mantissa1:31;
-		unsigned mantissa0:32;
-	} fpregs[8];
-	unsigned fpsr:32;
-	unsigned fpcr:32;
-	unsigned char ftype[8];
-	unsigned int init_flag;
-};
-
-struct user_regs_struct
-{
-	unsigned long uregs[18];
-};
-
-struct user
-{
-	struct user_regs_struct		regs;
-	int				u_fpvalid;
-	unsigned long			u_tsize;
-	unsigned long			u_dsize;
-	unsigned long			u_ssize;
-	unsigned long			start_code;
-	unsigned long			start_stack;
-	long				signal;
-	int				reserved;
-	struct user_regs_struct		*u_ar0;
-	unsigned long int		magic;
-	char				u_comm[32];
-	int				u_debugreg[8];
-	struct user_fpregs_struct	u_fp;
-	struct user_fpregs_struct	*u_fp0;
+struct user {
+	unsigned long regs[45+64];
+	unsigned long u_tsize, u_dsize, u_ssize;
+	unsigned long start_code, start_data, start_stack;
+	long signal;
+	void *u_ar0;
+	unsigned long magic;
+	char u_comm[32];
 };
diff --git a/arch/powerpc/bits/user.h b/arch/powerpc/bits/user.h
index c533fd8d..248012f0 100644
--- a/arch/powerpc/bits/user.h
+++ b/arch/powerpc/bits/user.h
@@ -1,40 +1,14 @@
-struct user_fpregs_struct
-{
-	struct fp_reg {
-		unsigned sign1:1;
-		unsigned unused:15;
-		unsigned sign2:1;
-		unsigned exponent:14;
-		unsigned j:1;
-		unsigned mantissa1:31;
-		unsigned mantissa0:32;
-	} fpregs[8];
-	unsigned fpsr:32;
-	unsigned fpcr:32;
-	unsigned char ftype[8];
-	unsigned int init_flag;
+struct pt_regs {
+	unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, mq;
+	unsigned long trap, dar, dsisr, result;
 };
 
-struct user_regs_struct
-{
-	unsigned long uregs[18];
-};
-
-struct user
-{
-	struct user_regs_struct		regs;
-	int				u_fpvalid;
-	unsigned long			u_tsize;
-	unsigned long			u_dsize;
-	unsigned long			u_ssize;
-	unsigned long			start_code;
-	unsigned long			start_stack;
-	long				signal;
-	int				reserved;
-	struct user_regs_struct		*u_ar0;
-	unsigned long int		magic;
-	char				u_comm[32];
-	int				u_debugreg[8];
-	struct user_fpregs_struct	u_fp;
-	struct user_fpregs_struct	*u_fp0;
+struct user {
+	struct pt_regs regs;
+	unsigned long u_tsize, u_dsize, u_ssize;
+	unsigned long start_code, start_data, start_stack;
+	long signal;
+	void *u_ar0;
+	unsigned long magic;
+	char u_comm[32];
 };