(linenum→info "unix/slp.c:2238")

qemu/0.9.1/linux-user/x86_64/syscall.h

    1: #define __USER_CS       (0x33)
    2: #define __USER_DS       (0x2B)
    3: 
    4: struct target_pt_regs {
    5:         abi_ulong r15;
    6:         abi_ulong r14;
    7:         abi_ulong r13;
    8:         abi_ulong r12;
    9:         abi_ulong rbp;
   10:         abi_ulong rbx;
   11: /* arguments: non interrupts/non tracing syscalls only save upto here*/
   12:         abi_ulong r11;
   13:         abi_ulong r10;
   14:         abi_ulong r9;
   15:         abi_ulong r8;
   16:         abi_ulong rax;
   17:         abi_ulong rcx;
   18:         abi_ulong rdx;
   19:         abi_ulong rsi;
   20:         abi_ulong rdi;
   21:         abi_ulong orig_rax;
   22: /* end of arguments */
   23: /* cpu exception frame or undefined */
   24:         abi_ulong rip;
   25:         abi_ulong cs;
   26:         abi_ulong eflags;
   27:         abi_ulong rsp;
   28:         abi_ulong ss;
   29: /* top of stack page */
   30: };
   31: 
   32: /* Maximum number of LDT entries supported. */
   33: #define TARGET_LDT_ENTRIES      8192
   34: /* The size of each LDT entry. */
   35: #define TARGET_LDT_ENTRY_SIZE   8
   36: 
   37: #define TARGET_GDT_ENTRIES 16
   38: #define TARGET_GDT_ENTRY_TLS_ENTRIES 3
   39: #define TARGET_GDT_ENTRY_TLS_MIN 12
   40: #define TARGET_GDT_ENTRY_TLS_MAX 14
   41: 
   42: #if 0 // Redefine this
   43: struct target_modify_ldt_ldt_s {
   44:         unsigned int  entry_number;
   45:         abi_ulong     base_addr;
   46:         unsigned int  limit;
   47:         unsigned int  seg_32bit:1;
   48:         unsigned int  contents:2;
   49:         unsigned int  read_exec_only:1;
   50:         unsigned int  limit_in_pages:1;
   51:         unsigned int  seg_not_present:1;
   52:         unsigned int  useable:1;
   53:         unsigned int  lm:1;
   54: };
   55: #else
   56: struct target_modify_ldt_ldt_s {
   57:         unsigned int  entry_number;
   58:         abi_ulong     base_addr;
   59:         unsigned int  limit;
   60:         unsigned int flags;
   61: };
   62: #endif
   63: 
   64: struct target_ipc64_perm
   65: {
   66:         int            key;
   67:         uint32_t       uid;
   68:         uint32_t       gid;
   69:         uint32_t       cuid;
   70:         uint32_t       cgid;
   71:         unsigned short         mode;
   72:         unsigned short         __pad1;
   73:         unsigned short         seq;
   74:         unsigned short         __pad2;
   75:         abi_ulong              __unused1;
   76:         abi_ulong              __unused2;
   77: };
   78: 
   79: struct target_msqid64_ds {
   80:         struct target_ipc64_perm msg_perm;
   81:         unsigned int msg_stime;        /* last msgsnd time */
   82:         unsigned int msg_rtime;        /* last msgrcv time */
   83:         unsigned int msg_ctime;        /* last change time */
   84:         abi_ulong  msg_cbytes; /* current number of bytes on queue */
   85:         abi_ulong  msg_qnum;   /* number of messages in queue */
   86:         abi_ulong  msg_qbytes; /* max number of bytes on queue */
   87:         unsigned int msg_lspid;        /* pid of last msgsnd */
   88:         unsigned int msg_lrpid;        /* last receive pid */
   89:         abi_ulong  __unused4;
   90:         abi_ulong  __unused5;
   91: };
   92: 
   93: #define UNAME_MACHINE "x86_64"
   94: 
   95: #define TARGET_ARCH_SET_GS 0x1001
   96: #define TARGET_ARCH_SET_FS 0x1002
   97: #define TARGET_ARCH_GET_FS 0x1003
   98: #define TARGET_ARCH_GET_GS 0x1004
Syntax (Markdown)