Statistics
| Branch: | Revision:

root / bsd-user / x86_64 / syscall.h @ 31fc12df

History | View | Annotate | Download (2.3 kB)

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