Statistics
| Branch: | Revision:

root / linux-user / x86_64 / syscall.h @ cb33da57

History | View | Annotate | Download (2.2 kB)

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