about summary refs log tree commit diff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-11-23 20:05:43 -0500
committerRich Felker <dalias@aerifal.cx>2012-11-23 20:05:43 -0500
commit4acc95e497956d926bc9b9a0534cc93a73a6d3e1 (patch)
tree5bc7fa6c77b5a1cd8d9d24fd6c6c3dd72c5fb5fe /arch/powerpc
parent98f56b12ceddba183c4fdba881ec753bbeea4e9f (diff)
downloadmusl-4acc95e497956d926bc9b9a0534cc93a73a6d3e1.tar.gz
musl-4acc95e497956d926bc9b9a0534cc93a73a6d3e1.tar.xz
musl-4acc95e497956d926bc9b9a0534cc93a73a6d3e1.zip
begin sys/user.h and sys/reg.h fixes for ports
aside from microblaze, these should be roughly correct for all archs
now. some misc junk macros and typedefs are missing, which should
probably be added for max compatibility with trace/debug tools.
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/bits/user.h48
1 files changed, 11 insertions, 37 deletions
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];
 };