about summary refs log tree commit diff
path: root/arch/microblaze/bits/user.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-29 01:05:31 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-29 01:05:31 -0400
commit8c0a3d9e5c169fc9d0f246ab59362b658b029ad7 (patch)
tree6ac54202768db511e8bb959d85060adb98cbf226 /arch/microblaze/bits/user.h
parente0ea44cb764fcdbe8515f22096930bede2c7896f (diff)
downloadmusl-8c0a3d9e5c169fc9d0f246ab59362b658b029ad7.tar.gz
musl-8c0a3d9e5c169fc9d0f246ab59362b658b029ad7.tar.xz
musl-8c0a3d9e5c169fc9d0f246ab59362b658b029ad7.zip
microblaze port
based on initial work by rdp, with heavy modifications. some features
including threads are untested because qemu app-level emulation seems
to be broken and I do not have a proper system image for testing.
Diffstat (limited to 'arch/microblaze/bits/user.h')
-rw-r--r--arch/microblaze/bits/user.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/microblaze/bits/user.h b/arch/microblaze/bits/user.h
new file mode 100644
index 00000000..c533fd8d
--- /dev/null
+++ b/arch/microblaze/bits/user.h
@@ -0,0 +1,40 @@
+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;
+};