OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [s390x/] [kernel/] [linux32.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _ASM_S390X_S390_H
2
#define _ASM_S390X_S390_H
3
 
4
#include <linux/config.h>
5
#include <linux/socket.h>
6
#include <linux/nfs_fs.h>
7
#include <linux/sunrpc/svc.h>
8
#include <linux/nfsd/nfsd.h>
9
#include <linux/nfsd/export.h>
10
 
11
#ifdef CONFIG_S390_SUPPORT
12
 
13
/* Macro that masks the high order bit of an 32 bit pointer and converts it*/
14
/*       to a 64 bit pointer */
15
#define A(__x) ((unsigned long)((__x) & 0x7FFFFFFFUL))
16
#define AA(__x)                         \
17
        ((unsigned long)(__x))
18
 
19
/* Now 32bit compatibility types */
20
typedef unsigned int           __kernel_size_t32;
21
typedef int                    __kernel_ssize_t32;
22
typedef int                    __kernel_ptrdiff_t32;
23
typedef int                    __kernel_time_t32;
24
typedef int                    __kernel_clock_t32;
25
typedef int                    __kernel_pid_t32;
26
typedef unsigned short         __kernel_ipc_pid_t32;
27
typedef unsigned short         __kernel_uid_t32;
28
typedef unsigned short         __kernel_gid_t32;
29
typedef unsigned short         __kernel_dev_t32;
30
typedef unsigned int           __kernel_ino_t32;
31
typedef unsigned short         __kernel_mode_t32;
32
typedef unsigned short         __kernel_umode_t32;
33
typedef short                  __kernel_nlink_t32;
34
typedef int                    __kernel_daddr_t32;
35
typedef int                    __kernel_off_t32;
36
typedef unsigned int           __kernel_caddr_t32;
37
typedef long                   __kernel_loff_t32;
38
typedef __kernel_fsid_t        __kernel_fsid_t32;
39
 
40
struct ipc_kludge_32 {
41
        __u32   msgp;                           /* pointer              */
42
        __s32   msgtyp;
43
};
44
 
45
#define F_GETLK64       12
46
#define F_SETLK64       13
47
#define F_SETLKW64      14    
48
 
49
struct flock32 {
50
        short l_type;
51
        short l_whence;
52
        __kernel_off_t32 l_start;
53
        __kernel_off_t32 l_len;
54
        __kernel_pid_t32 l_pid;
55
        short __unused;
56
};
57
 
58
struct stat32 {
59
        unsigned short  st_dev;
60
        unsigned short  __pad1;
61
        __u32           st_ino;
62
        unsigned short  st_mode;
63
        unsigned short  st_nlink;
64
        unsigned short  st_uid;
65
        unsigned short  st_gid;
66
        unsigned short  st_rdev;
67
        unsigned short  __pad2;
68
        __u32           st_size;
69
        __u32           st_blksize;
70
        __u32           st_blocks;
71
        __u32           st_atime;
72
        __u32           __unused1;
73
        __u32           st_mtime;
74
        __u32           __unused2;
75
        __u32           st_ctime;
76
        __u32           __unused3;
77
        __u32           __unused4;
78
        __u32           __unused5;
79
};
80
 
81
struct statfs32 {
82
        __s32                   f_type;
83
        __s32                   f_bsize;
84
        __s32                   f_blocks;
85
        __s32                   f_bfree;
86
        __s32                   f_bavail;
87
        __s32                   f_files;
88
        __s32                   f_ffree;
89
        __kernel_fsid_t         f_fsid;
90
        __s32                   f_namelen;
91
        __s32                   f_spare[6];
92
};
93
 
94
typedef __u32 old_sigset_t32;       /* at least 32 bits */
95
 
96
struct old_sigaction32 {
97
       __u32                    sa_handler;     /* Really a pointer, but need to deal with 32 bits */
98
       old_sigset_t32           sa_mask;        /* A 32 bit mask */
99
       __u32                    sa_flags;
100
       __u32                    sa_restorer;    /* Another 32 bit pointer */
101
};
102
 
103
#define _SIGCONTEXT_NSIG_WORDS32    2 
104
typedef struct {
105
        __u32   sig[_SIGCONTEXT_NSIG_WORDS32];
106
} sigset_t32;
107
 
108
typedef union sigval32 {
109
        int     sival_int;
110
        __u32   sival_ptr;
111
} sigval_t32;
112
 
113
typedef struct siginfo32 {
114
        int     si_signo;
115
        int     si_errno;
116
        int     si_code;
117
 
118
        union {
119
                int _pad[((128/sizeof(int)) - 3)];
120
 
121
                /* kill() */
122
                struct {
123
                        pid_t   _pid;   /* sender's pid */
124
                        uid_t   _uid;   /* sender's uid */
125
                } _kill;
126
 
127
                /* POSIX.1b timers */
128
                struct {
129
                        unsigned int    _timer1;
130
                        unsigned int    _timer2;
131
 
132
                } _timer;
133
 
134
                /* POSIX.1b signals */
135
                struct {
136
                        pid_t                   _pid;   /* sender's pid */
137
                        uid_t                   _uid;   /* sender's uid */
138
                        sigval_t32              _sigval;
139
                } _rt;
140
 
141
                /* SIGCHLD */
142
                struct {
143
                        pid_t                   _pid;   /* which child */
144
                        uid_t                   _uid;   /* sender's uid */
145
                        int                     _status;/* exit code */
146
                        __kernel_clock_t32      _utime;
147
                        __kernel_clock_t32      _stime;
148
                } _sigchld;
149
 
150
                /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
151
                struct {
152
                        __u32   _addr;  /* faulting insn/memory ref. - pointer */
153
                } _sigfault;
154
 
155
                /* SIGPOLL */
156
                struct {
157
                        int     _band;  /* POLL_IN, POLL_OUT, POLL_MSG */
158
                        int     _fd;
159
                } _sigpoll;
160
        } _sifields;
161
} siginfo_t32;
162
 
163
/*
164
 * How these fields are to be accessed.
165
 */
166
#define si_pid          _sifields._kill._pid
167
#define si_uid          _sifields._kill._uid
168
#define si_status       _sifields._sigchld._status
169
#define si_utime        _sifields._sigchld._utime
170
#define si_stime        _sifields._sigchld._stime
171
#define si_value        _sifields._rt._sigval
172
#define si_int          _sifields._rt._sigval.sival_int
173
#define si_ptr          _sifields._rt._sigval.sival_ptr
174
#define si_addr         _sifields._sigfault._addr
175
#define si_band         _sifields._sigpoll._band
176
#define si_fd           _sifields._sigpoll._fd    
177
 
178
/* asm/sigcontext.h */
179
typedef union
180
{
181
        __u64   d;
182
        __u32   f;
183
} freg_t32;
184
 
185
typedef struct
186
{
187
        unsigned int    fpc;
188
        freg_t32        fprs[__NUM_FPRS];
189
} _s390_fp_regs32;
190
 
191
typedef struct
192
{
193
        __u32   mask;
194
        __u32   addr;
195
} _psw_t32 __attribute__ ((aligned(8)));
196
 
197
typedef struct
198
{
199
        _psw_t32        psw;
200
        __u32           gprs[__NUM_GPRS];
201
        __u32           acrs[__NUM_ACRS];
202
} _s390_regs_common32;
203
 
204
typedef struct
205
{
206
        _s390_regs_common32 regs;
207
        _s390_fp_regs32     fpregs;
208
} _sigregs32;
209
 
210
#define _SIGCONTEXT_NSIG32      64
211
#define _SIGCONTEXT_NSIG_BPW32  32
212
#define __SIGNAL_FRAMESIZE32    96
213
#define _SIGMASK_COPY_SIZE32    (sizeof(u32)*2)
214
 
215
struct sigcontext32
216
{
217
        __u32   oldmask[_SIGCONTEXT_NSIG_WORDS32];
218
        __u32   sregs;                          /* pointer */
219
};
220
 
221
/* asm/signal.h */
222
struct sigaction32 {
223
        __u32           sa_handler;             /* pointer */
224
        __u32           sa_flags;
225
        __u32           sa_restorer;            /* pointer */
226
        sigset_t32      sa_mask;        /* mask last for extensibility */
227
};
228
 
229
typedef struct {
230
        __u32                   ss_sp;          /* pointer */
231
        int                     ss_flags;
232
        __kernel_size_t32       ss_size;
233
} stack_t32;
234
 
235
/* asm/ucontext.h */
236
struct ucontext32 {
237
        __u32                   uc_flags;
238
        __u32                   uc_link;        /* pointer */
239
        stack_t32               uc_stack;
240
        _sigregs32              uc_mcontext;
241
        sigset_t32              uc_sigmask;     /* mask last for extensibility */
242
};
243
 
244
#endif /* !CONFIG_S390_SUPPORT */
245
 
246
#endif /* _ASM_S390X_S390_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.