From d960d4f2cbf18ff3476c7ac03698ec253885dd8e Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 18 Sep 2011 16:44:54 -0400 Subject: initial commit of the arm port this port assumes eabi calling conventions, eabi linux syscall convention, and presence of the kernel helpers at 0xffff0f?0 needed for threads support. otherwise it makes very few assumptions, and the code should work even on armv4 without thumb support, as well as on systems with thumb interworking. the bits headers declare this a little endian system, but as far as i can tell the code should work equally well on big endian. some small details are probably broken; so far, testing has been limited to qemu/aboriginal linux. --- arch/arm/bits/user.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 arch/arm/bits/user.h (limited to 'arch/arm/bits/user.h') diff --git a/arch/arm/bits/user.h b/arch/arm/bits/user.h new file mode 100644 index 00000000..1cbd94e5 --- /dev/null +++ b/arch/arm/bits/user.h @@ -0,0 +1,40 @@ +struct user_fpregs +{ + 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 +{ + unsigned long uregs[18]; +}; + +struct user +{ + struct user_regs 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 *u_ar0; + unsigned long int magic; + char u_comm[32]; + int u_debugreg[8]; + struct user_fpregs u_fp; + struct user_fpregs *u_fp0; +}; -- cgit v1.2.1