1 /* 2 * (C) Copyright 2000 - 2002 3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License as 7 * published by the Free Software Foundation; either version 2 of 8 * the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 18 * MA 02111-1307 USA 19 * 20 */ 21 22 #ifndef _SPARC_TYPES_H 23 #define _SPARC_TYPES_H 24 25 #ifndef __ASSEMBLY__ 26 27 typedef unsigned short umode_t; 28 29 typedef __signed__ char __s8; 30 typedef unsigned char __u8; 31 32 typedef __signed__ short __s16; 33 typedef unsigned short __u16; 34 35 typedef __signed__ int __s32; 36 typedef unsigned int __u32; 37 38 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) 39 typedef __signed__ long long __s64; 40 typedef unsigned long long __u64; 41 #endif 42 43 typedef struct { 44 __u32 u[4]; 45 } __attribute__((aligned(16))) vector128; 46 47 #ifdef __KERNEL__ 48 /* 49 * These aren't exported outside the kernel to avoid name space clashes 50 */ 51 typedef signed char s8; 52 typedef unsigned char u8; 53 54 typedef signed short s16; 55 typedef unsigned short u16; 56 57 typedef signed int s32; 58 typedef unsigned int u32; 59 60 typedef signed long long s64; 61 typedef unsigned long long u64; 62 63 #define BITS_PER_LONG 32 64 65 /* DMA addresses are 32-bits wide */ 66 typedef u32 dma_addr_t; 67 68 typedef unsigned long phys_addr_t; 69 typedef unsigned long phys_size_t; 70 71 #endif /* __KERNEL__ */ 72 #endif /* __ASSEMBLY__ */ 73 74 #endif 75