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