2
0

user.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #undef __WORDSIZE
  2. #define __WORDSIZE 32
  3. typedef struct user_fpregs_struct {
  4. long cwd, swd, twd, fip, fcs, foo, fos, st_space[20];
  5. } elf_fpregset_t;
  6. typedef struct user_fpxregs_struct {
  7. unsigned short cwd, swd, twd, fop;
  8. long fip, fcs, foo, fos, mxcsr, reserved;
  9. long st_space[32], xmm_space[32], padding[56];
  10. } elf_fpxregset_t;
  11. struct user_regs_struct {
  12. long ebx, ecx, edx, esi, edi, ebp, eax, xds, xes, xfs, xgs;
  13. long orig_eax, eip, xcs, eflags, esp, xss;
  14. };
  15. #define ELF_NGREG 17
  16. typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
  17. struct user {
  18. struct user_regs_struct regs;
  19. int u_fpvalid;
  20. struct user_fpregs_struct i387;
  21. unsigned long u_tsize;
  22. unsigned long u_dsize;
  23. unsigned long u_ssize;
  24. unsigned long start_code;
  25. unsigned long start_stack;
  26. long signal;
  27. int reserved;
  28. struct user_regs_struct *u_ar0;
  29. struct user_fpregs_struct *u_fpstate;
  30. unsigned long magic;
  31. char u_comm[32];
  32. int u_debugreg[8];
  33. };
  34. #define PAGE_MASK (~(PAGESIZE-1))
  35. #define NBPG PAGESIZE
  36. #define UPAGES 1
  37. #define HOST_TEXT_START_ADDR (u.start_code)
  38. #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)