github.com/afumu/libc@v0.0.6/musl/arch/s390x/bits/user.h (about)

     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