user.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. typedef union {
  2. double d;
  3. float f;
  4. } elf_fpreg_t;
  5. typedef struct {
  6. unsigned fpc;
  7. elf_fpreg_t fprs[16];
  8. } elf_fpregset_t;
  9. #define ELF_NGREG 27
  10. typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
  11. struct _user_psw_struct {
  12. unsigned long mask, addr;
  13. };
  14. struct _user_fpregs_struct {
  15. unsigned fpc;
  16. double fprs[16];
  17. };
  18. struct _user_per_struct {
  19. unsigned long control_regs[3];
  20. unsigned single_step : 1;
  21. unsigned instruction_fetch : 1;
  22. unsigned : 30;
  23. unsigned long starting_addr, ending_addr;
  24. unsigned short perc_atmid;
  25. unsigned long address;
  26. unsigned char access_id;
  27. };
  28. struct _user_regs_struct {
  29. struct _user_psw_struct psw;
  30. unsigned long gprs[16];
  31. unsigned acrs[16];
  32. unsigned long orig_gpr2;
  33. struct _user_fpregs_struct fp_regs;
  34. struct _user_per_struct per_info;
  35. unsigned long ieee_instruction_pointer;
  36. };
  37. struct user {
  38. struct _user_regs_struct regs;
  39. unsigned long u_tsize, u_dsize, u_ssize;
  40. unsigned long start_code, start_stack;
  41. long signal;
  42. struct _user_regs_struct *u_ar0;
  43. unsigned long magic;
  44. char u_comm[32];
  45. };
  46. #define PAGE_MASK (~(PAGESIZE-1))
  47. #define NBPG PAGESIZE
  48. #define UPAGES 1
  49. #define HOST_TEXT_START_ADDR (u.start_code)
  50. #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)