user.h raw

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