• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/elements/genericProc/FE/pimSysCallTypes.h

00001 // Copyright 2010 Sandia Corporation. Under the terms
00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
00003 // Government retains certain rights in this software.
00004 // 
00005 // Copyright (c) 2005-2010, Sandia Corporation
00006 // All rights reserved.
00007 // Copyright (c) 2003-2005, University of Notre Dame
00008 // All rights reserved.
00009 // 
00010 // This file is part of the SST software package. For license
00011 // information, see the LICENSE file in the top level directory of the
00012 // distribution.
00013 
00014 
00015 #ifndef PIMSYSCALLTYES_H
00016 #define PIMSYSCALLTYES_H
00017 
00018 //: Identifiers for NIC commands
00019 typedef enum {NC_NONE = 0, 
00020               NC_INIT, NC_IRECV, NC_ISEND, NC_UBUF, NC_IPROBE, NC_ISSEND} NICCmdType;
00021 
00022 //: Identifiers for Coprocessors
00023 typedef enum {PIM_MAINPROC = 0,
00024               PIM_NIC = 1,
00025               PIM_ANY_PIM = 2,
00026               PIM_SMPPROC = 3,
00027               PIM_MAX_COPROC=4} PIM_coProc;
00028 
00029 typedef enum {PIM_ADDR_LOCAL = 0,
00030               PIM_ADDR_NONLOCAL = 1,
00031               PIM_ADDR_NET_IN = 2,
00032               PIM_ADDR_NET_OUT = 3,
00033               PIM_ADDR_PIO = 4} PIM_addrMode;
00034 
00035 typedef enum {PIM_CMD_PROC_NUM=0, /* which processor currently? */
00036               PIM_CMD_THREAD_ID=1,
00037               PIM_CMD_SET_THREAD_ID=2,
00038               PIM_CMD_THREAD_SEQ=3,
00039               PIM_CMD_NUM_PROC=4, /* how many processors? */
00040               PIM_CMD_LOCAL_ALLOC,
00041               PIM_CMD_CYCLE,
00042               PIM_CMD_NUM_SYS,
00043               PIM_CMD_INTERRUPT_FOR_THREAD,
00044 
00045               PIM_CMD_NIC_CMD,
00046               PIM_CMD_NIC_CMD_READ,
00047 
00048               PIM_CMD_NET_READ,
00049               PIM_CMD_NET_READ_BLOCK,
00050               PIM_CMD_NET_READ_DONE,
00051               PIM_CMD_NET_WRITE,
00052               PIM_CMD_NET_WRITE_BLOCK,
00053               PIM_CMD_NET_SEND_DONE,
00054 
00055               PIM_CMD_NET_CHECK_INCOMING,
00056               PIM_CMD_NET_CHECK_OUTGOING,
00057               PIM_CMD_NET_SET_OUTGOING_DEST,
00058 
00059               PIM_CMD_WIDGET_START_INSERT,
00060               PIM_CMD_WIDGET_STOP_INSERT,
00061               PIM_CMD_WIDGET_INSERT,
00062               PIM_CMD_WIDGET_CHECK,
00063               PIM_CMD_WIDGET_INSERT_HEADER,
00064 
00065               PIM_CMD_LU_POST_RECV,
00066               PIM_CMD_LU_READ_LU_Q_1,
00067               PIM_CMD_LU_READ_LU_Q_2,
00068 
00069               PIM_CMD_DMA_INIT,      
00070               PIM_CMD_DMA_START,
00071               PIM_CMD_DMA_STATUS,
00072               PIM_CMD_QDMA_INIT_PTX,         
00073               PIM_CMD_QDMA_INIT,             
00074               PIM_CMD_QDMA_START,
00075               PIM_CMD_QDMA_STATUS,
00076 
00077               PIM_CMD_LOC_COUNT,
00078               PIM_CMD_LOCAL_CTRL,
00079               PIM_CMD_SET_MIGRATE,
00080               PIM_CMD_SET_EVICT,
00081               PIM_CMD_SET_FUTURE,
00082               PIM_CMD_ICOUNT,
00083               PIM_CMD_MAX_LOCAL_ALLOC,
00084               PIM_CMD_GET_NUM_CORE, /* how many cores? */
00085               PIM_CMD_GET_CORE_NUM, /* which core currently? */
00086               PIM_CMD_GET_MHZ, /* how many MHz? */
00087               PIM_CMD_GET_NUM_NODES,
00088               PIM_CMD_GET_NODE_NUM,
00089               PIM_CMD_BARRIER_ENTER_SIGNAL,
00090               PIM_CMD_BARRIER_ENTER_WAIT,
00091               PIM_CMD_BARRIER_LEAVE_SIGNAL,
00092               PIM_CMD_BARRIER_LEAVE_WAIT,
00093               
00094               PIM_CMD_GET_CTOR
00095 } PIM_cmd;
00096 
00097 typedef enum {MSG_OK,
00098               MSG_EMPTY,
00099               NOT_AVAIL} PIM_netStatus;
00100 
00101 typedef enum {DMA_AVAIL,
00102               DMA_WORKING,
00103               DMA_ERROR} PIM_dmaStatus;
00104 
00105 typedef enum {PIM_REGION_TEXT,
00106               PIM_REGION_DATA,
00107               PIM_REGION_HEAP,
00108               PIM_REGION_STACK
00109               } PIM_regions;
00110 
00111 typedef enum {PIM_REGION_CACHED,
00112              PIM_REGION_UNCACHED,
00113              PIM_REGION_WC,
00114              } PIM_region_types;
00115 
00116 typedef enum {PIM_AMO_XOR, 
00117               PIM_AMO_ADD16,
00118               PIM_AMO_XOR64} PIM_amo_types;
00119 
00120 #endif

Generated on Fri Oct 22 2010 11:02:21 for SST by  doxygen 1.7.1