diff options
author | Rich Felker <dalias@aerifal.cx> | 2014-03-08 00:14:33 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-03-08 00:14:33 -0500 |
commit | e12fda3bffb3558a27834a07a0c936e68eb25741 (patch) | |
tree | 867ce05940874307675c5515621f63620fc8c0b6 /arch | |
parent | b576766d51171debc2428a556d2abdc32bbd32e9 (diff) | |
download | musl-e12fda3bffb3558a27834a07a0c936e68eb25741.zip musl-e12fda3bffb3558a27834a07a0c936e68eb25741.tar.gz musl-e12fda3bffb3558a27834a07a0c936e68eb25741.tar.bz2 |
add bits/user.h for sh port
this seems to have been overlooked, and resulted in breakage in
anything including sys/user.h.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/bits/user.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/arch/sh/bits/user.h b/arch/sh/bits/user.h new file mode 100644 index 0000000..d7363f7 --- /dev/null +++ b/arch/sh/bits/user.h @@ -0,0 +1,75 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 + +#define REG_REG0 0 +#define REG_REG15 15 +#define REG_PC 16 +#define REG_PR 17 +#define REG_SR 18 +#define REG_GBR 19 +#define REG_MACH 20 +#define REG_MACL 21 +#define REG_SYSCALL 22 +#define REG_FPREG0 23 +#define REG_FPREG15 38 +#define REG_XFREG0 39 +#define REG_XFREG15 54 +#define REG_FPSCR 55 +#define REG_FPUL 56 + +struct pt_regs { + unsigned long regs[16]; + unsigned long pc; + unsigned long pr; + unsigned long sr; + unsigned long gbr; + unsigned long mach; + unsigned long macl; + long tra; +}; + +struct pt_dspregs { + unsigned long a1; + unsigned long a0g; + unsigned long a1g; + unsigned long m0; + unsigned long m1; + unsigned long a0; + unsigned long x0; + unsigned long x1; + unsigned long y0; + unsigned long y1; + unsigned long dsr; + unsigned long rs; + unsigned long re; + unsigned long mod; +}; + +struct user_fpu_struct { + unsigned long fp_regs[16]; + unsigned long xfp_regs[16]; + unsigned long fpscr; + unsigned long fpul; +}; + +#define ELF_NGREG 23 +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; +typedef struct user_fpu_struct elf_fpregset_t; + +struct user { + struct pt_regs regs; + struct user_fpu_struct fpu; + int u_fpvalid; + unsigned long u_tsize; + unsigned long u_dsize; + unsigned long u_ssize; + unsigned long start_code; + unsigned long start_data; + unsigned long start_stack; + long int signal; + unsigned long u_ar0; + struct user_fpu_struct *u_fpstate; + unsigned long magic; + char u_comm[32]; +}; |