diff options
author | midipix <writeonce@midipix.org> | 2015-04-05 16:48:11 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2015-04-05 16:48:11 -0400 |
commit | 20a5ca45ef2f5716e8f2dea42c7e8a6b3367619f (patch) | |
tree | c8461f68b5f3bf375e31660eb14fbb7777e2f822 /arch/nt32/bits/user.h | |
parent | 2a9a46e0b0a1f7e0e21b1152aa2529d94c57db35 (diff) | |
download | mmglue-20a5ca45ef2f5716e8f2dea42c7e8a6b3367619f.tar.bz2 mmglue-20a5ca45ef2f5716e8f2dea42c7e8a6b3367619f.tar.xz |
nt32/bits: initial commit.
these header files should be kept in sync with their linux x86_64 counterparts,
with three minor exceptions:
1) page size (65536)
2) jmp_buf (8 pointers)
3) TIOCGPTN and TIOCSPTLCK (normal sequence)
signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information.
Diffstat (limited to 'arch/nt32/bits/user.h')
-rw-r--r-- | arch/nt32/bits/user.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/nt32/bits/user.h b/arch/nt32/bits/user.h new file mode 100644 index 0000000..fa62362 --- /dev/null +++ b/arch/nt32/bits/user.h @@ -0,0 +1,48 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 + +typedef struct user_fpregs_struct +{ + long cwd, swd, twd, fip, fcs, foo, fos, st_space[20]; +} elf_fpregset_t; + +typedef struct user_fpxregs_struct +{ + unsigned short cwd, swd, twd, fop; + long fip, fcs, foo, fos, mxcsr, reserved; + long st_space[32], xmm_space[32], padding[56]; +} elf_fpxregset_t; + +struct user_regs_struct +{ + long ebx, ecx, edx, esi, edi, ebp, eax, xds, xes, xfs, xgs; + long orig_eax, eip, xcs, eflags, esp, xss; +}; + +#define ELF_NGREG 17 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; + +struct user +{ + struct user_regs_struct regs; + int u_fpvalid; + struct user_fpregs_struct i387; + 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; + struct user_fpregs_struct *u_fpstate; + unsigned long magic; + char u_comm[32]; + int u_debugreg[8]; +}; + +#define PAGE_MASK (~(PAGE_SIZE-1)) +#define NBPG PAGE_SIZE +#define UPAGES 1 +#define HOST_TEXT_START_ADDR (u.start_code) +#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) |