Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
cvmx-asm.h File Reference
#include <asm/octeon/octeon-model.h>

Go to the source code of this file.

Macros

#define CVMX_SYNC   asm volatile ("sync" : : : "memory")
 
#define CVMX_SYNCW_STR   "syncw\nsyncw\n"
 
#define CVMX_SYNCIO   asm volatile ("nop")
 
#define CVMX_SYNCIOBDMA   asm volatile ("sync" : : : "memory")
 
#define CVMX_SYNCIOALL   asm volatile ("nop")
 
#define CVMX_SYNCW   asm volatile ("sync" : : : "memory")
 
#define CVMX_SYNCWS   CVMX_SYNCW
 
#define CVMX_SYNCS   CVMX_SYNC
 
#define CVMX_SYNCWS_STR   CVMX_SYNCW_STR
 
#define CVMX_PREPARE_FOR_STORE(address, offset)
 
#define CVMX_DONT_WRITE_BACK(address, offset)
 
#define CVMX_ICACHE_INVALIDATE   { CVMX_SYNC; asm volatile ("synci 0($0)" : : ); }
 
#define CVMX_ICACHE_INVALIDATE2   { CVMX_SYNC; asm volatile ("cache 0, 0($0)" : : ); }
 
#define CVMX_DCACHE_INVALIDATE   { CVMX_SYNC; asm volatile ("cache 9, 0($0)" : : ); }
 
#define CVMX_CACHE(op, address, offset)
 
#define CVMX_CACHE_LCKL2(address, offset)   CVMX_CACHE(31, address, offset)
 
#define CVMX_CACHE_WBIL2(address, offset)   CVMX_CACHE(23, address, offset)
 
#define CVMX_CACHE_WBIL2I(address, offset)   CVMX_CACHE(3, address, offset)
 
#define CVMX_CACHE_LTGL2I(address, offset)   CVMX_CACHE(7, address, offset)
 
#define CVMX_POP(result, input)   asm ("pop %[rd],%[rs]" : [rd] "=d" (result) : [rs] "d" (input))
 
#define CVMX_DPOP(result, input)   asm ("dpop %[rd],%[rs]" : [rd] "=d" (result) : [rs] "d" (input))
 
#define CVMX_RDHWR(result, regstr)   asm volatile ("rdhwr %[rt],$" CVMX_TMP_STR(regstr) : [rt] "=d" (result))
 
#define CVMX_RDHWRNV(result, regstr)   asm ("rdhwr %[rt],$" CVMX_TMP_STR(regstr) : [rt] "=d" (result))
 

Macro Definition Documentation

#define CVMX_CACHE (   op,
  address,
  offset 
)
Value:
asm volatile ("cache " CVMX_TMP_STR(op) ", " CVMX_TMP_STR(offset) "(%[rbase])" \
: : [rbase] "d" (address) )

Definition at line 117 of file cvmx-asm.h.

#define CVMX_CACHE_LCKL2 (   address,
  offset 
)    CVMX_CACHE(31, address, offset)

Definition at line 121 of file cvmx-asm.h.

#define CVMX_CACHE_LTGL2I (   address,
  offset 
)    CVMX_CACHE(7, address, offset)

Definition at line 127 of file cvmx-asm.h.

#define CVMX_CACHE_WBIL2 (   address,
  offset 
)    CVMX_CACHE(23, address, offset)

Definition at line 123 of file cvmx-asm.h.

#define CVMX_CACHE_WBIL2I (   address,
  offset 
)    CVMX_CACHE(3, address, offset)

Definition at line 125 of file cvmx-asm.h.

#define CVMX_DCACHE_INVALIDATE   { CVMX_SYNC; asm volatile ("cache 9, 0($0)" : : ); }

Definition at line 114 of file cvmx-asm.h.

#define CVMX_DONT_WRITE_BACK (   address,
  offset 
)
Value:
asm volatile ("pref 29, " CVMX_TMP_STR(offset) "(%[rbase])" : : \
[rbase] "d" (address))

Definition at line 101 of file cvmx-asm.h.

#define CVMX_DPOP (   result,
  input 
)    asm ("dpop %[rd],%[rs]" : [rd] "=d" (result) : [rs] "d" (input))

Definition at line 131 of file cvmx-asm.h.

#define CVMX_ICACHE_INVALIDATE   { CVMX_SYNC; asm volatile ("synci 0($0)" : : ); }

Definition at line 106 of file cvmx-asm.h.

#define CVMX_ICACHE_INVALIDATE2   { CVMX_SYNC; asm volatile ("cache 0, 0($0)" : : ); }

Definition at line 110 of file cvmx-asm.h.

#define CVMX_POP (   result,
  input 
)    asm ("pop %[rd],%[rs]" : [rd] "=d" (result) : [rs] "d" (input))

Definition at line 129 of file cvmx-asm.h.

#define CVMX_PREPARE_FOR_STORE (   address,
  offset 
)
Value:
asm volatile ("pref 30, " CVMX_TMP_STR(offset) "(%[rbase])" : : \
[rbase] "d" (address))

Definition at line 93 of file cvmx-asm.h.

#define CVMX_RDHWR (   result,
  regstr 
)    asm volatile ("rdhwr %[rt],$" CVMX_TMP_STR(regstr) : [rt] "=d" (result))

Definition at line 135 of file cvmx-asm.h.

#define CVMX_RDHWRNV (   result,
  regstr 
)    asm ("rdhwr %[rt],$" CVMX_TMP_STR(regstr) : [rt] "=d" (result))

Definition at line 137 of file cvmx-asm.h.

#define CVMX_SYNC   asm volatile ("sync" : : : "memory")

Definition at line 38 of file cvmx-asm.h.

#define CVMX_SYNCIO   asm volatile ("nop")

Definition at line 73 of file cvmx-asm.h.

#define CVMX_SYNCIOALL   asm volatile ("nop")

Definition at line 78 of file cvmx-asm.h.

#define CVMX_SYNCIOBDMA   asm volatile ("sync" : : : "memory")

Definition at line 75 of file cvmx-asm.h.

#define CVMX_SYNCS   CVMX_SYNC

Definition at line 82 of file cvmx-asm.h.

#define CVMX_SYNCW   asm volatile ("sync" : : : "memory")

Definition at line 80 of file cvmx-asm.h.

#define CVMX_SYNCW_STR   "syncw\nsyncw\n"

Definition at line 40 of file cvmx-asm.h.

#define CVMX_SYNCWS   CVMX_SYNCW

Definition at line 81 of file cvmx-asm.h.

#define CVMX_SYNCWS_STR   CVMX_SYNCW_STR

Definition at line 83 of file cvmx-asm.h.