user.h 1.0 KB

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