Statistics
| Branch: | Revision:

root / linux-user / alpha / syscall.h @ 86cc1ce0

History | View | Annotate | Download (2.9 kB)

1
/* default linux values for the selectors */
2
#define __USER_DS        (1)
3

    
4
struct target_pt_regs {
5
        target_ulong r0;
6
        target_ulong r1;
7
        target_ulong r2;
8
        target_ulong r3;
9
        target_ulong r4;
10
        target_ulong r5;
11
        target_ulong r6;
12
        target_ulong r7;
13
        target_ulong r8;
14
        target_ulong r19;
15
        target_ulong r20;
16
        target_ulong r21;
17
        target_ulong r22;
18
        target_ulong r23;
19
        target_ulong r24;
20
        target_ulong r25;
21
        target_ulong r26;
22
        target_ulong r27;
23
        target_ulong r28;
24
        target_ulong hae;
25
/* JRP - These are the values provided to a0-a2 by PALcode */
26
        target_ulong trap_a0;
27
        target_ulong trap_a1;
28
        target_ulong trap_a2;
29
/* These are saved by PAL-code: */
30
        target_ulong ps;
31
        target_ulong pc;
32
        target_ulong gp;
33
        target_ulong r16;
34
        target_ulong r17;
35
        target_ulong r18;
36
/* Those is needed by qemu to temporary store the user stack pointer */
37
        target_ulong usp;
38
        target_ulong unique;
39
};
40

    
41
#define TARGET_SEMOP           1
42
#define TARGET_SEMGET          2
43
#define TARGET_SEMCTL          3 
44
#define TARGET_MSGSND          11 
45
#define TARGET_MSGRCV          12
46
#define TARGET_MSGGET          13
47
#define TARGET_MSGCTL          14
48
#define TARGET_SHMAT           21
49
#define TARGET_SHMDT           22
50
#define TARGET_SHMGET          23
51
#define TARGET_SHMCTL          24
52

    
53
struct target_msgbuf {
54
        int mtype;
55
        char mtext[1];
56
};
57

    
58
struct target_ipc_kludge {
59
        unsigned int        msgp;        /* Really (struct msgbuf *) */
60
        int msgtyp;
61
};        
62

    
63
struct target_ipc_perm {
64
        int        key;
65
        unsigned short        uid;
66
        unsigned short        gid;
67
        unsigned short        cuid;
68
        unsigned short        cgid;
69
        unsigned short        mode;
70
        unsigned short        seq;
71
};
72

    
73
struct target_msqid_ds {
74
        struct target_ipc_perm        msg_perm;
75
        unsigned int                msg_first;        /* really struct target_msg* */
76
        unsigned int                msg_last;        /* really struct target_msg* */
77
        unsigned int                msg_stime;        /* really target_time_t */
78
        unsigned int                msg_rtime;        /* really target_time_t */
79
        unsigned int                msg_ctime;        /* really target_time_t */
80
        unsigned int                wwait;                /* really struct wait_queue* */
81
        unsigned int                rwait;                /* really struct wait_queue* */
82
        unsigned short                msg_cbytes;
83
        unsigned short                msg_qnum;
84
        unsigned short                msg_qbytes;
85
        unsigned short                msg_lspid;
86
        unsigned short                msg_lrpid;
87
};
88

    
89
struct target_shmid_ds {
90
        struct target_ipc_perm        shm_perm;
91
        int                        shm_segsz;
92
        unsigned int                shm_atime;        /* really target_time_t */
93
        unsigned int                shm_dtime;        /* really target_time_t */
94
        unsigned int                shm_ctime;        /* really target_time_t */
95
        unsigned short                shm_cpid;
96
        unsigned short                shm_lpid;
97
        short                        shm_nattch;
98
        unsigned short                shm_npages;
99
        unsigned long                *shm_pages;
100
        void                         *attaches;        /* really struct shm_desc * */
101
};
102

    
103
#define TARGET_IPC_RMID        0
104
#define TARGET_IPC_SET        1
105
#define TARGET_IPC_STAT        2
106

    
107
union target_semun {
108
    int val;
109
    unsigned int buf;        /* really struct semid_ds * */
110
    unsigned int array; /* really unsigned short * */
111
    unsigned int __buf;        /* really struct seminfo * */
112
    unsigned int __pad;        /* really void* */
113
};
114

    
115
#define UNAME_MACHINE "alpha"