atomic_native.h

Go to the documentation of this file.
00001 /* 
00002  * Copyright (C) 2006 iptelorg GmbH
00003  *
00004  * Permission to use, copy, modify, and distribute this software for any
00005  * purpose with or without fee is hereby granted, provided that the above
00006  * copyright notice and this permission notice appear in all copies.
00007  *
00008  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
00009  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
00010  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
00011  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00012  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00013  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
00014  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
00015  */
00016 
00038 /* 
00039  * History:
00040  * --------
00041  *  2006-03-08  created by andrei
00042  *  2007-05-13  split from atomic_ops.h (andrei)
00043  */
00044 
00045 
00046 #ifndef __atomic_native
00047 #define __atomic_native
00048 
00049 #ifdef CC_GCC_LIKE_ASM
00050 
00051 #if defined __CPU_i386 || defined __CPU_x86_64
00052 
00053 #include "atomic_x86.h"
00054 
00055 #elif defined __CPU_mips2 || defined __CPU_mips64 || \
00056           ( defined __CPU_mips && defined MIPS_HAS_LLSC )
00057 
00058 #include "atomic_mips2.h"
00059 
00060 #elif defined __CPU_ppc || defined __CPU_ppc64
00061 
00062 #include "atomic_ppc.h"
00063 
00064 #elif defined __CPU_sparc64
00065 
00066 #include "atomic_sparc64.h"
00067 
00068 #elif defined __CPU_sparc
00069 
00070 #include "atomic_sparc.h"
00071 
00072 #elif defined __CPU_arm || defined __CPU_arm6
00073 
00074 #include "atomic_arm.h"
00075 
00076 #elif defined __CPU_alpha
00077 
00078 #include "atomic_alpha.h"
00079 
00080 #endif /* __CPU_xxx  => no known cpu */
00081 
00082 #endif /* CC_GCC_LIKE_ASM */
00083 
00084 
00085 #endif