00001 #ifndef ___macro_h___
00002 #define ___macro_h___
00003
00004 #define SR 0
00005 #define EVBA 4
00006
00007 #define ADDR(var,n) (*(volatile unsigned long *)(var + n))
00008
00009 #define SETBIT( var, n ) __asm__( "mfsr r10, %1 \n sbr r10, %0 \n mtsr %1, r10 \n": :"X"(n), "g"(var) )
00010 #define CLEARBIT( var, n ) __asm__( "mfsr r10, %1 \n cbr r10, %0 \n mtsr %1, r10 \n": :"X"(n), "g"(var) )
00011 #define TESTBIT( var, n) __asm__( "mfsr r10, %1 \n cbr r10, %0 \n mtsr %1, r10 \n": :"X"(n), "g"(var) )
00012
00013 #define SETREG( var, n ) __asm__( "mov r10, %0 \n mtsr %1, r10 \n": :"X"(n), "g"(var) )
00014
00015 #define _rete() __asm__("rete")
00016 #define _rets() __asm__("rets")
00017
00018 #define _tlbr() __asm__("tlbr")
00019 #define _tlbw() __asm__("tlbw")
00020 #define _tlbs() __asm__("tlbs")
00021
00022 #define SUCCESS 1
00023 #define ERROR -1
00024 #define NOT_FOUND -2
00025 #define MULTIPLE_HITS -3
00026 #define ACCESS_DENIED -4
00027
00028 #define true 1
00029 #define false 0
00030
00031 #endif