1 /*
2  *  include/asm-s390/types.h
3  *
4  *  S390 version
5  *
6  *  Derived from "include/asm-i386/types.h"
7  */
8 
9 #ifndef _S390_TYPES_H
10 #define _S390_TYPES_H
11 
12 #include <asm-generic/int-ll64.h>
13 
14 #ifndef __ASSEMBLY__
15 
16 /* A address type so that arithmetic can be done on it & it can be upgraded to
17    64 bit when necessary
18 */
19 typedef unsigned long addr_t;
20 typedef __signed__ long saddr_t;
21 
22 #endif /* __ASSEMBLY__ */
23 
24 /*
25  * These aren't exported outside the kernel to avoid name space clashes
26  */
27 #ifdef __KERNEL__
28 
29 #ifndef __ASSEMBLY__
30 
31 #ifndef __s390x__
32 typedef union {
33 	unsigned long long pair;
34 	struct {
35 		unsigned long even;
36 		unsigned long odd;
37 	} subreg;
38 } register_pair;
39 
40 #endif /* ! __s390x__   */
41 #endif /* __ASSEMBLY__  */
42 #endif /* __KERNEL__    */
43 #endif /* _S390_TYPES_H */
44