From 20a5ca45ef2f5716e8f2dea42c7e8a6b3367619f Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 5 Apr 2015 16:48:11 -0400 Subject: 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. --- arch/nt32/bits/user.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 arch/nt32/bits/user.h (limited to 'arch/nt32/bits/user.h') 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) -- cgit v1.2.3