1/*
2 * BK Id: SCCS/s.types.h 1.10 10/15/01 22:51:33 paulus
3 */
4#ifndef _PPC_TYPES_H
5#define _PPC_TYPES_H
6
7#ifndef __ASSEMBLY__
8
9typedef __signed__ char __s8;
10typedef unsigned char __u8;
11
12typedef __signed__ short __s16;
13typedef unsigned short __u16;
14
15typedef __signed__ int __s32;
16typedef unsigned int __u32;
17
18#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
19typedef __signed__ long long __s64;
20typedef unsigned long long __u64;
21#endif
22
23typedef struct {
24	__u32 u[4];
25} __attribute((aligned(16))) __vector128;
26
27#ifdef __KERNEL__
28/*
29 * These aren't exported outside the kernel to avoid name space clashes
30 */
31typedef signed char s8;
32typedef unsigned char u8;
33
34typedef signed short s16;
35typedef unsigned short u16;
36
37typedef signed int s32;
38typedef unsigned int u32;
39
40typedef signed long long s64;
41typedef unsigned long long u64;
42
43typedef __vector128 vector128;
44
45#define BITS_PER_LONG 32
46
47/* DMA addresses are 32-bits wide */
48typedef u32 dma_addr_t;
49typedef u64 dma64_addr_t;
50
51#endif /* __KERNEL__ */
52
53typedef unsigned short umode_t;
54
55#endif /* __ASSEMBLY__ */
56
57#endif
58