fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-mips / tx4938 / tx4938_mips.h
1 /*
2  * linux/include/asm-mips/tx4938/tx4938_mips.h
3  * Generic bitmask definitions
4  *
5  * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the
6  * terms of the GNU General Public License version 2. This program is
7  * licensed "as is" without any warranty of any kind, whether express
8  * or implied.
9  *
10  * Support for TX4938 in 2.6 - Manish Lachwani (mlachwani@mvista.com)
11  */
12
13 #ifndef TX4938_TX4938_MIPS_H
14 #define TX4938_TX4938_MIPS_H
15 #ifndef __ASSEMBLY__
16
17 #define reg_rd08(r)    ((u8 )(*((vu8 *)(r))))
18 #define reg_rd16(r)    ((u16)(*((vu16*)(r))))
19 #define reg_rd32(r)    ((u32)(*((vu32*)(r))))
20 #define reg_rd64(r)    ((u64)(*((vu64*)(r))))
21
22 #define reg_wr08(r,v)  ((*((vu8 *)(r)))=((u8 )(v)))
23 #define reg_wr16(r,v)  ((*((vu16*)(r)))=((u16)(v)))
24 #define reg_wr32(r,v)  ((*((vu32*)(r)))=((u32)(v)))
25 #define reg_wr64(r,v)  ((*((vu64*)(r)))=((u64)(v)))
26
27 typedef volatile __signed char vs8;
28 typedef volatile unsigned char vu8;
29
30 typedef volatile __signed short vs16;
31 typedef volatile unsigned short vu16;
32
33 typedef volatile __signed int vs32;
34 typedef volatile unsigned int vu32;
35
36 typedef s8 s08;
37 typedef vs8 vs08;
38
39 typedef u8 u08;
40 typedef vu8 vu08;
41
42 #if (_MIPS_SZLONG == 64)
43
44 typedef volatile __signed__ long vs64;
45 typedef volatile unsigned long vu64;
46
47 #else
48
49 typedef volatile __signed__ long long vs64;
50 typedef volatile unsigned long long vu64;
51
52 #endif
53 #endif
54 #endif