Statistics
| Branch: | Revision:

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

History | View | Annotate | Download (2.9 kB)

1 86cc1ce0 j_mayer
/* default linux values for the selectors */
2 86cc1ce0 j_mayer
#define __USER_DS        (1)
3 86cc1ce0 j_mayer
4 86cc1ce0 j_mayer
struct target_pt_regs {
5 86cc1ce0 j_mayer
        target_ulong r0;
6 86cc1ce0 j_mayer
        target_ulong r1;
7 86cc1ce0 j_mayer
        target_ulong r2;
8 86cc1ce0 j_mayer
        target_ulong r3;
9 86cc1ce0 j_mayer
        target_ulong r4;
10 86cc1ce0 j_mayer
        target_ulong r5;
11 86cc1ce0 j_mayer
        target_ulong r6;
12 86cc1ce0 j_mayer
        target_ulong r7;
13 86cc1ce0 j_mayer
        target_ulong r8;
14 86cc1ce0 j_mayer
        target_ulong r19;
15 86cc1ce0 j_mayer
        target_ulong r20;
16 86cc1ce0 j_mayer
        target_ulong r21;
17 86cc1ce0 j_mayer
        target_ulong r22;
18 86cc1ce0 j_mayer
        target_ulong r23;
19 86cc1ce0 j_mayer
        target_ulong r24;
20 86cc1ce0 j_mayer
        target_ulong r25;
21 86cc1ce0 j_mayer
        target_ulong r26;
22 86cc1ce0 j_mayer
        target_ulong r27;
23 86cc1ce0 j_mayer
        target_ulong r28;
24 86cc1ce0 j_mayer
        target_ulong hae;
25 86cc1ce0 j_mayer
/* JRP - These are the values provided to a0-a2 by PALcode */
26 86cc1ce0 j_mayer
        target_ulong trap_a0;
27 86cc1ce0 j_mayer
        target_ulong trap_a1;
28 86cc1ce0 j_mayer
        target_ulong trap_a2;
29 86cc1ce0 j_mayer
/* These are saved by PAL-code: */
30 86cc1ce0 j_mayer
        target_ulong ps;
31 86cc1ce0 j_mayer
        target_ulong pc;
32 86cc1ce0 j_mayer
        target_ulong gp;
33 86cc1ce0 j_mayer
        target_ulong r16;
34 86cc1ce0 j_mayer
        target_ulong r17;
35 86cc1ce0 j_mayer
        target_ulong r18;
36 86cc1ce0 j_mayer
/* Those is needed by qemu to temporary store the user stack pointer */
37 86cc1ce0 j_mayer
        target_ulong usp;
38 86cc1ce0 j_mayer
        target_ulong unique;
39 86cc1ce0 j_mayer
};
40 86cc1ce0 j_mayer
41 86cc1ce0 j_mayer
#define TARGET_SEMOP           1
42 86cc1ce0 j_mayer
#define TARGET_SEMGET          2
43 86cc1ce0 j_mayer
#define TARGET_SEMCTL          3 
44 86cc1ce0 j_mayer
#define TARGET_MSGSND          11 
45 86cc1ce0 j_mayer
#define TARGET_MSGRCV          12
46 86cc1ce0 j_mayer
#define TARGET_MSGGET          13
47 86cc1ce0 j_mayer
#define TARGET_MSGCTL          14
48 86cc1ce0 j_mayer
#define TARGET_SHMAT           21
49 86cc1ce0 j_mayer
#define TARGET_SHMDT           22
50 86cc1ce0 j_mayer
#define TARGET_SHMGET          23
51 86cc1ce0 j_mayer
#define TARGET_SHMCTL          24
52 86cc1ce0 j_mayer
53 86cc1ce0 j_mayer
struct target_msgbuf {
54 86cc1ce0 j_mayer
        int mtype;
55 86cc1ce0 j_mayer
        char mtext[1];
56 86cc1ce0 j_mayer
};
57 86cc1ce0 j_mayer
58 86cc1ce0 j_mayer
struct target_ipc_kludge {
59 86cc1ce0 j_mayer
        unsigned int        msgp;        /* Really (struct msgbuf *) */
60 86cc1ce0 j_mayer
        int msgtyp;
61 86cc1ce0 j_mayer
};        
62 86cc1ce0 j_mayer
63 86cc1ce0 j_mayer
struct target_ipc_perm {
64 86cc1ce0 j_mayer
        int        key;
65 86cc1ce0 j_mayer
        unsigned short        uid;
66 86cc1ce0 j_mayer
        unsigned short        gid;
67 86cc1ce0 j_mayer
        unsigned short        cuid;
68 86cc1ce0 j_mayer
        unsigned short        cgid;
69 86cc1ce0 j_mayer
        unsigned short        mode;
70 86cc1ce0 j_mayer
        unsigned short        seq;
71 86cc1ce0 j_mayer
};
72 86cc1ce0 j_mayer
73 86cc1ce0 j_mayer
struct target_msqid_ds {
74 86cc1ce0 j_mayer
        struct target_ipc_perm        msg_perm;
75 86cc1ce0 j_mayer
        unsigned int                msg_first;        /* really struct target_msg* */
76 86cc1ce0 j_mayer
        unsigned int                msg_last;        /* really struct target_msg* */
77 86cc1ce0 j_mayer
        unsigned int                msg_stime;        /* really target_time_t */
78 86cc1ce0 j_mayer
        unsigned int                msg_rtime;        /* really target_time_t */
79 86cc1ce0 j_mayer
        unsigned int                msg_ctime;        /* really target_time_t */
80 86cc1ce0 j_mayer
        unsigned int                wwait;                /* really struct wait_queue* */
81 86cc1ce0 j_mayer
        unsigned int                rwait;                /* really struct wait_queue* */
82 86cc1ce0 j_mayer
        unsigned short                msg_cbytes;
83 86cc1ce0 j_mayer
        unsigned short                msg_qnum;
84 86cc1ce0 j_mayer
        unsigned short                msg_qbytes;
85 86cc1ce0 j_mayer
        unsigned short                msg_lspid;
86 86cc1ce0 j_mayer
        unsigned short                msg_lrpid;
87 86cc1ce0 j_mayer
};
88 86cc1ce0 j_mayer
89 86cc1ce0 j_mayer
struct target_shmid_ds {
90 86cc1ce0 j_mayer
        struct target_ipc_perm        shm_perm;
91 86cc1ce0 j_mayer
        int                        shm_segsz;
92 86cc1ce0 j_mayer
        unsigned int                shm_atime;        /* really target_time_t */
93 86cc1ce0 j_mayer
        unsigned int                shm_dtime;        /* really target_time_t */
94 86cc1ce0 j_mayer
        unsigned int                shm_ctime;        /* really target_time_t */
95 86cc1ce0 j_mayer
        unsigned short                shm_cpid;
96 86cc1ce0 j_mayer
        unsigned short                shm_lpid;
97 86cc1ce0 j_mayer
        short                        shm_nattch;
98 86cc1ce0 j_mayer
        unsigned short                shm_npages;
99 86cc1ce0 j_mayer
        unsigned long                *shm_pages;
100 86cc1ce0 j_mayer
        void                         *attaches;        /* really struct shm_desc * */
101 86cc1ce0 j_mayer
};
102 86cc1ce0 j_mayer
103 86cc1ce0 j_mayer
#define TARGET_IPC_RMID        0
104 86cc1ce0 j_mayer
#define TARGET_IPC_SET        1
105 86cc1ce0 j_mayer
#define TARGET_IPC_STAT        2
106 86cc1ce0 j_mayer
107 86cc1ce0 j_mayer
union target_semun {
108 86cc1ce0 j_mayer
    int val;
109 86cc1ce0 j_mayer
    unsigned int buf;        /* really struct semid_ds * */
110 86cc1ce0 j_mayer
    unsigned int array; /* really unsigned short * */
111 86cc1ce0 j_mayer
    unsigned int __buf;        /* really struct seminfo * */
112 86cc1ce0 j_mayer
    unsigned int __pad;        /* really void* */
113 86cc1ce0 j_mayer
};
114 86cc1ce0 j_mayer
115 86cc1ce0 j_mayer
#define UNAME_MACHINE "alpha"