Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
cvmx-address.h File Reference

Go to the source code of this file.

Data Structures

union  cvmx_addr_t
 

Macros

#define CVMX_MIPS32_SPACE_KSEG0   1l
 
#define CVMX_ADD_SEG32(segment, add)   (((int32_t)segment << 31) | (int32_t)(add))
 
#define CVMX_IO_SEG   CVMX_MIPS_SPACE_XKPHYS
 
#define CVMX_ADD_SEG(segment, add)   ((((uint64_t)segment) << 62) | (add))
 
#define CVMX_ADD_IO_SEG(add)   CVMX_ADD_SEG(CVMX_IO_SEG, (add))
 
#define CVMX_ADDR_DIDSPACE(did)   (((CVMX_IO_SEG) << 22) | ((1ULL) << 8) | (did))
 
#define CVMX_ADDR_DID(did)   (CVMX_ADDR_DIDSPACE(did) << 40)
 
#define CVMX_FULL_DID(did, subdid)   (((did) << 3) | (subdid))
 
#define CVMX_OCT_DID_MIS   0ULL /* misc stuff */
 
#define CVMX_OCT_DID_GMX0   1ULL
 
#define CVMX_OCT_DID_GMX1   2ULL
 
#define CVMX_OCT_DID_PCI   3ULL
 
#define CVMX_OCT_DID_KEY   4ULL
 
#define CVMX_OCT_DID_FPA   5ULL
 
#define CVMX_OCT_DID_DFA   6ULL
 
#define CVMX_OCT_DID_ZIP   7ULL
 
#define CVMX_OCT_DID_RNG   8ULL
 
#define CVMX_OCT_DID_IPD   9ULL
 
#define CVMX_OCT_DID_PKT   10ULL
 
#define CVMX_OCT_DID_TIM   11ULL
 
#define CVMX_OCT_DID_TAG   12ULL
 
#define CVMX_OCT_DID_L2C   16ULL
 
#define CVMX_OCT_DID_LMC   17ULL
 
#define CVMX_OCT_DID_SPX0   18ULL
 
#define CVMX_OCT_DID_SPX1   19ULL
 
#define CVMX_OCT_DID_PIP   20ULL
 
#define CVMX_OCT_DID_ASX0   22ULL
 
#define CVMX_OCT_DID_ASX1   23ULL
 
#define CVMX_OCT_DID_IOB   30ULL
 
#define CVMX_OCT_DID_PKT_SEND   CVMX_FULL_DID(CVMX_OCT_DID_PKT, 2ULL)
 
#define CVMX_OCT_DID_TAG_SWTAG   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 0ULL)
 
#define CVMX_OCT_DID_TAG_TAG1   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 1ULL)
 
#define CVMX_OCT_DID_TAG_TAG2   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 2ULL)
 
#define CVMX_OCT_DID_TAG_TAG3   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 3ULL)
 
#define CVMX_OCT_DID_TAG_NULL_RD   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 4ULL)
 
#define CVMX_OCT_DID_TAG_CSR   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 7ULL)
 
#define CVMX_OCT_DID_FAU_FAI   CVMX_FULL_DID(CVMX_OCT_DID_IOB, 0ULL)
 
#define CVMX_OCT_DID_TIM_CSR   CVMX_FULL_DID(CVMX_OCT_DID_TIM, 0ULL)
 
#define CVMX_OCT_DID_KEY_RW   CVMX_FULL_DID(CVMX_OCT_DID_KEY, 0ULL)
 
#define CVMX_OCT_DID_PCI_6   CVMX_FULL_DID(CVMX_OCT_DID_PCI, 6ULL)
 
#define CVMX_OCT_DID_MIS_BOO   CVMX_FULL_DID(CVMX_OCT_DID_MIS, 0ULL)
 
#define CVMX_OCT_DID_PCI_RML   CVMX_FULL_DID(CVMX_OCT_DID_PCI, 0ULL)
 
#define CVMX_OCT_DID_IPD_CSR   CVMX_FULL_DID(CVMX_OCT_DID_IPD, 7ULL)
 
#define CVMX_OCT_DID_DFA_CSR   CVMX_FULL_DID(CVMX_OCT_DID_DFA, 7ULL)
 
#define CVMX_OCT_DID_MIS_CSR   CVMX_FULL_DID(CVMX_OCT_DID_MIS, 7ULL)
 
#define CVMX_OCT_DID_ZIP_CSR   CVMX_FULL_DID(CVMX_OCT_DID_ZIP, 0ULL)
 

Enumerations

enum  cvmx_mips_xkseg_space_t { CVMX_MIPS_XKSEG_SPACE_KSEG0 = 0LL, CVMX_MIPS_XKSEG_SPACE_KSEG1 = 1LL, CVMX_MIPS_XKSEG_SPACE_SSEG = 2LL, CVMX_MIPS_XKSEG_SPACE_KSEG3 = 3LL }
 
enum  cvmx_add_win_dec_t { CVMX_ADD_WIN_SCR = 0L, CVMX_ADD_WIN_DMA = 1L, CVMX_ADD_WIN_UNUSED = 2L, CVMX_ADD_WIN_UNUSED2 = 3L }
 
enum  cvmx_add_win_dma_dec_t {
  CVMX_ADD_WIN_DMA_ADD = 0L, CVMX_ADD_WIN_DMA_SENDMEM = 1L, CVMX_ADD_WIN_DMA_SENDDMA = 2L, CVMX_ADD_WIN_DMA_SENDIO = 3L,
  CVMX_ADD_WIN_DMA_SENDSINGLE = 4L
}
 

Macro Definition Documentation

#define CVMX_ADD_IO_SEG (   add)    CVMX_ADD_SEG(CVMX_IO_SEG, (add))

Definition at line 226 of file cvmx-address.h.

#define CVMX_ADD_SEG (   segment,
  add 
)    ((((uint64_t)segment) << 62) | (add))

Definition at line 224 of file cvmx-address.h.

#define CVMX_ADD_SEG32 (   segment,
  add 
)    (((int32_t)segment << 31) | (int32_t)(add))

Definition at line 211 of file cvmx-address.h.

#define CVMX_ADDR_DID (   did)    (CVMX_ADDR_DIDSPACE(did) << 40)

Definition at line 229 of file cvmx-address.h.

#define CVMX_ADDR_DIDSPACE (   did)    (((CVMX_IO_SEG) << 22) | ((1ULL) << 8) | (did))

Definition at line 228 of file cvmx-address.h.

#define CVMX_FULL_DID (   did,
  subdid 
)    (((did) << 3) | (subdid))

Definition at line 230 of file cvmx-address.h.

#define CVMX_IO_SEG   CVMX_MIPS_SPACE_XKPHYS

Definition at line 221 of file cvmx-address.h.

#define CVMX_MIPS32_SPACE_KSEG0   1l

Definition at line 210 of file cvmx-address.h.

#define CVMX_OCT_DID_ASX0   22ULL

Definition at line 252 of file cvmx-address.h.

#define CVMX_OCT_DID_ASX1   23ULL

Definition at line 253 of file cvmx-address.h.

#define CVMX_OCT_DID_DFA   6ULL

Definition at line 239 of file cvmx-address.h.

#define CVMX_OCT_DID_DFA_CSR   CVMX_FULL_DID(CVMX_OCT_DID_DFA, 7ULL)

Definition at line 270 of file cvmx-address.h.

#define CVMX_OCT_DID_FAU_FAI   CVMX_FULL_DID(CVMX_OCT_DID_IOB, 0ULL)

Definition at line 263 of file cvmx-address.h.

#define CVMX_OCT_DID_FPA   5ULL

Definition at line 238 of file cvmx-address.h.

#define CVMX_OCT_DID_GMX0   1ULL

Definition at line 234 of file cvmx-address.h.

#define CVMX_OCT_DID_GMX1   2ULL

Definition at line 235 of file cvmx-address.h.

#define CVMX_OCT_DID_IOB   30ULL

Definition at line 254 of file cvmx-address.h.

#define CVMX_OCT_DID_IPD   9ULL

Definition at line 242 of file cvmx-address.h.

#define CVMX_OCT_DID_IPD_CSR   CVMX_FULL_DID(CVMX_OCT_DID_IPD, 7ULL)

Definition at line 269 of file cvmx-address.h.

#define CVMX_OCT_DID_KEY   4ULL

Definition at line 237 of file cvmx-address.h.

#define CVMX_OCT_DID_KEY_RW   CVMX_FULL_DID(CVMX_OCT_DID_KEY, 0ULL)

Definition at line 265 of file cvmx-address.h.

#define CVMX_OCT_DID_L2C   16ULL

Definition at line 247 of file cvmx-address.h.

#define CVMX_OCT_DID_LMC   17ULL

Definition at line 248 of file cvmx-address.h.

#define CVMX_OCT_DID_MIS   0ULL /* misc stuff */

Definition at line 233 of file cvmx-address.h.

#define CVMX_OCT_DID_MIS_BOO   CVMX_FULL_DID(CVMX_OCT_DID_MIS, 0ULL)

Definition at line 267 of file cvmx-address.h.

#define CVMX_OCT_DID_MIS_CSR   CVMX_FULL_DID(CVMX_OCT_DID_MIS, 7ULL)

Definition at line 271 of file cvmx-address.h.

#define CVMX_OCT_DID_PCI   3ULL

Definition at line 236 of file cvmx-address.h.

#define CVMX_OCT_DID_PCI_6   CVMX_FULL_DID(CVMX_OCT_DID_PCI, 6ULL)

Definition at line 266 of file cvmx-address.h.

#define CVMX_OCT_DID_PCI_RML   CVMX_FULL_DID(CVMX_OCT_DID_PCI, 0ULL)

Definition at line 268 of file cvmx-address.h.

#define CVMX_OCT_DID_PIP   20ULL

Definition at line 251 of file cvmx-address.h.

#define CVMX_OCT_DID_PKT   10ULL

Definition at line 243 of file cvmx-address.h.

#define CVMX_OCT_DID_PKT_SEND   CVMX_FULL_DID(CVMX_OCT_DID_PKT, 2ULL)

Definition at line 256 of file cvmx-address.h.

#define CVMX_OCT_DID_RNG   8ULL

Definition at line 241 of file cvmx-address.h.

#define CVMX_OCT_DID_SPX0   18ULL

Definition at line 249 of file cvmx-address.h.

#define CVMX_OCT_DID_SPX1   19ULL

Definition at line 250 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG   12ULL

Definition at line 245 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG_CSR   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 7ULL)

Definition at line 262 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG_NULL_RD   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 4ULL)

Definition at line 261 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG_SWTAG   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 0ULL)

Definition at line 257 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG_TAG1   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 1ULL)

Definition at line 258 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG_TAG2   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 2ULL)

Definition at line 259 of file cvmx-address.h.

#define CVMX_OCT_DID_TAG_TAG3   CVMX_FULL_DID(CVMX_OCT_DID_TAG, 3ULL)

Definition at line 260 of file cvmx-address.h.

#define CVMX_OCT_DID_TIM   11ULL

Definition at line 244 of file cvmx-address.h.

#define CVMX_OCT_DID_TIM_CSR   CVMX_FULL_DID(CVMX_OCT_DID_TIM, 0ULL)

Definition at line 264 of file cvmx-address.h.

#define CVMX_OCT_DID_ZIP   7ULL

Definition at line 240 of file cvmx-address.h.

#define CVMX_OCT_DID_ZIP_CSR   CVMX_FULL_DID(CVMX_OCT_DID_ZIP, 0ULL)

Definition at line 272 of file cvmx-address.h.

Enumeration Type Documentation

Enumerator:
CVMX_ADD_WIN_SCR 
CVMX_ADD_WIN_DMA 
CVMX_ADD_WIN_UNUSED 
CVMX_ADD_WIN_UNUSED2 

Definition at line 52 of file cvmx-address.h.

Enumerator:
CVMX_ADD_WIN_DMA_ADD 
CVMX_ADD_WIN_DMA_SENDMEM 
CVMX_ADD_WIN_DMA_SENDDMA 
CVMX_ADD_WIN_DMA_SENDIO 
CVMX_ADD_WIN_DMA_SENDSINGLE 

Definition at line 61 of file cvmx-address.h.

Typedefs and defines for working with Octeon physical addresses.

Enumerator:
CVMX_MIPS_XKSEG_SPACE_KSEG0 
CVMX_MIPS_XKSEG_SPACE_KSEG1 
CVMX_MIPS_XKSEG_SPACE_SSEG 
CVMX_MIPS_XKSEG_SPACE_KSEG3 

Definition at line 44 of file cvmx-address.h.