/* @(#) 3psppc-213: apps/xxxx/ppc/sys_conf.h (hello |) 1.5 95/09/15 10:40:15 */ /***********************************************************************/ /* */ /* MODULE: sys_conf.h */ /* DATE: 95/09/15 */ /* PURPOSE: pSOSystem configuration definitions */ /* */ /*---------------------------------------------------------------------*/ /* */ /* Copyright 1991 - 1995, Integrated Systems, Inc. */ /* ALL RIGHTS RESERVED */ /* */ /* Permission is hereby granted to licensees of Integrated Systems, */ /* Inc. products to use or abstract this computer program for the */ /* sole purpose of implementing a product based on Integrated */ /* Systems, Inc. products. No other rights to reproduce, use, */ /* or disseminate this computer program, whether in part or in */ /* whole, are granted. */ /* */ /* Integrated Systems, Inc. makes no representation or warranties */ /* with respect to the performance of this computer program, and */ /* specifically disclaims any responsibility for any damages, */ /* special or consequential, connected with the use of this program. */ /* */ /*---------------------------------------------------------------------*/ /* */ /* This is a header file which defines all of the system-level */ /* parameters that are likely to need changing. */ /* */ /* It has been set up to be as close as possible to the settings */ /* which are appropriate for this application. However, you may */ /* need to make some changes to parameters to reflect your */ /* environment, such as IP addresses, etc. */ /* */ /* Chapter 7 of the pSOSystem Getting Started manual contains a */ /* complete description of the symbols that are defined in this */ /* file. */ /* */ /***********************************************************************/ #if __cplusplus extern "C" { #endif #ifndef _SYS_CONF_H #define _SYS_CONF_H /***********************************************************************/ /* */ /* These symbols are used to define other symbols in this file. */ /* They should never be changed. */ /* */ /***********************************************************************/ #define YES 1 #define NO 0 #define USE_RARP 0 #define DBG_SA 1 /* Standalone pROBE debugging */ #define DBG_XS 2 /* talk to host debugger via RS-232 */ #define DBG_XN 3 /* talk to host debugger via network */ #define DBG_AP 4 /* Run application (w/ pROBE in standalone mode) */ #define STORAGE 5 /* Get SD_'s from storage area */ #define SYS_CONF 6 /* Get SD_'s from #defines set in this file */ /***********************************************************************/ /* */ /* B A S I C P A R A M E T E R S */ /* */ /* The parameters in this section determine the fashion in which */ /* many of the other parameters in this file will be used. */ /* */ /* Many of the parameters in this file have names beginning with */ /* either "SC_" or "SD_". Those beginning with "SC_" are ALWAYS */ /* controlled by the values you set in this file. The values of */ /* the "SD_" parameters can be determined either by the definitions */ /* given in this file, or by the data found in the target board's */ /* parameter storage area. SC_SD_PARAMETERS determines this. If */ /* SC_SD_PARAMETERS is "SYS_CONF", then the values given in this */ /* file will be used for the SD_ parameters. If SC_SD_PARAMETERS */ /* is "STORAGE", then pSOSystem will attempt to use the values found */ /* in the board's parameter storage area for the SD_ variables. If */ /* the parameter storage area has not been initialized or has been */ /* corrupted, then the values given in this file will be used. They */ /* will also be written to the storage area. */ /* */ /* If SC_SD_PARAMETERS is STORAGE, you may enable a "startup dialog" */ /* which will allow you to view, and optionally change, the */ /* parameter values found in the storage area. The dialog is enabled */ /* by setting SC_STARTUP_DIALOG to YES. In this case, */ /* SD_STARTUP_DELAY specifies the number of seconds that the dialog */ /* will wait for input before proceeding to boot the system. */ /* */ /* SE_DEBUG_MODE determines how the system will operate, as follows: */ /* */ /* DBG_SA: Boot pROBE+ in standalone mode. */ /* */ /* DBG_XS: Boot into pROBE+ and wait for the host debugger */ /* via a serial connection */ /* */ /* DBG_XN: Boot into pROBE+ and wait for the host debugger */ /* via a network connection */ /* */ /* DBG_AP: Same as DBG_SA, but also does a pROBE+ "silent startup",*/ /* meaning that pROBE+ initializes itself without */ /* printing a startup banner. pROBE+ then initializes */ /* pSOS+ and starts the application running. This mode */ /* was created to simplify implementation of the pSOSystem */ /* Boot ROMs. Note that when this mode is used, the value */ /* you specify for RC_SMODE (see "pROBE+ Configuration */ /* Parameters", below) is overridden. */ /* */ /* STORAGE: Use the mode (DBG_SA, DBG_XS, or DBG_XN) found in the */ /* parameter storage area. If a valid mode is not found, */ /* then use DBG_SA. */ /* */ /* An important consequence of using SE_DEBUG_MODE = STORAGE should */ /* be noted. If you use the TFTP bootloader in the pSOSystem ROMs */ /* to download and start your system, you will be setting */ /* SE_DEBUG_MODE = DBG_AP in your target board's parameter storage */ /* area. Thus, if you have left SE_DEBUG_MODE set to STORAGE in */ /* this file, your downloaded system will also use DBG_AP, meaning */ /* that the application will begin running immediately after the */ /* TFTP bootloader has loaded and started your system. */ /* */ /***********************************************************************/ #define SC_SD_PARAMETERS SYS_CONF #define SC_STARTUP_DIALOG NO #define SC_BOOT_ROM NO #define SD_STARTUP_DELAY 60 #define SE_DEBUG_MODE DBG_AP /***********************************************************************/ /* */ /* O P E R A T I N G S Y S T E M C O M P O N E N T S */ /* */ /* Setting the definition line to YES will cause that component to */ /* be built into the system. NO means the component will NOT be */ /* put into the system. It is an error to specify both SC_PSOS */ /* and SC_PSOSM as present! */ /* */ /***********************************************************************/ #define SC_PSOS YES /* pSOS+ real-time kernel */ #define SC_PSOSM NO /* pSOS+ real-time multiprocessing kernel */ #define SC_PROBE YES /* pROBE+ (processor svcs) */ #define SC_PROBE_DISASM YES /* pROBE+ (disassembler) */ #define SC_PROBE_CIE YES /* pROBE+ (console executive) */ #define SC_PROBE_QUERY YES /* pROBE+ (query services) */ #define SC_PROBE_DEBUG NO /* pROBE+ (debug interface executive) */ #define SC_PHILE NO /* pHILE+ file system manager */ #define SC_PREPC NO /* pREPC+ C run-time library */ #define SC_PNA NO /* pNA+ TCP/IP networking manager */ #define SC_PRPC NO /* pRPC+ RPC component */ #define SC_PSE NO /* pSE+ streams component */ #define SC_PTLI NO /* pTLI+ TLI library component */ #define SC_PSKT NO /* pSKT+ SKT library component */ #define SC_PMONT NO /* pMONT+ */ /***********************************************************************/ /* */ /* S E R I A L C H A N N E L C O N F I G U R A T I O N */ /* */ /* * SD_DEF_BAUD specifies the default baud rate to be used for the */ /* serial channels */ /* * SC_APP_CONSOLE specifies the serial channel number (starting */ /* from 1) which should be used for the application's "console". */ /* * SC_PROBE_CONSOLE specifies the serial channel number (starting */ /* from 1) which pROBE+ should use to display output and receive */ /* commands, or to communicate with the host debugger. */ /* * SC_RBUG_PORT specifies the serial channel number (starting */ /* from 1) which should be used for the pROBE+ REMOTE DEBUG Channel.*/ /* SC_APP_CONSOLE and SC_RBUG_PORT cannot be same port numbers. */ /* */ /***********************************************************************/ #define SD_DEF_BAUD 9600 #define SC_APP_CONSOLE 1 #define SC_PROBE_CONSOLE 1 #define SC_RBUG_PORT 0 /***********************************************************************/ /* SC_NumNon_pSOSChan is the number of non pSOS users of serial */ /* channels. These are users that will be initiated before pSOS */ /* such as pROBE. */ /* NOTE: These channels will not be closed on a soft reset. */ /***********************************************************************/ #define SC_NumNon_pSOSChan 1 /***********************************************************************/ /* */ /* L A N C O N F I G U R A T I O N */ /* */ /* */ /***********************************************************************/ #define SD_LAN1 NO #define SD_LAN1_IP 0x00000000 #define SD_LAN1_SUBNET_MASK 0 /***********************************************************************/ /* */ /* S H A R E D M E M O R Y C O N F I G U R A T I O N */ /* */ /* */ /***********************************************************************/ /*---------------------------------------------------------------------*/ /* If you want to build a Shared Memory Interface for the network or */ /* multi-processing pSOS+m, set SD_SM_NODE (a non-zero value) to the */ /* node number of THIS node. */ /*---------------------------------------------------------------------*/ #define SD_SM_NODE 0 /*---------------------------------------------------------------------*/ /* Shared memory network interface - SC_NISM_LEVEL should be 1 if this */ /* will be the FIRST system to use the SMNI on this board. It should */ /* be 2 if this will not be the first system to use the SMNI on this */ /* board. Usually this means that SC_NISM_LEVEL should be 1 if you */ /* are building Boot ROMs, and 2 for a system that will be downloaded */ /* and started using the Boot ROMs. See the comments at the beginning */ /* of drivers/ni_smem.c for more explanation. */ /*---------------------------------------------------------------------*/ #define SD_NISM NO #define SD_NISM_IP 0x00000000 #define SD_NISM_DIRADDR SD_VME_BASE_ADDR+0x400 #define SC_NISM_BUFFS 30 #define SC_NISM_LEVEL 2 #define SD_NISM_SUBNET_MASK 0 /*---------------------------------------------------------------------*/ /* If you want to build a multi-node pSOS+m system, set SD_KISM */ /* to the number of nodes in the system. */ /*---------------------------------------------------------------------*/ #define SD_KISM 0 #define SD_KISM_DIRADDR SD_VME_BASE_ADDR+0x580 /***********************************************************************/ /* */ /* M I S C E L L A N E O U S N E T W O R K I N G */ /* P A R A M E T E R S */ /* */ /***********************************************************************/ #define SD_DEF_GTWY_IP 0 /***********************************************************************/ /* */ /* B U S C O N F I G U R A T I O N */ /* */ /* */ /***********************************************************************/ #define SD_VME_BASE_ADDR 0x01000000 /***********************************************************************/ /* SC_RAM_SIZE */ /* */ /* Normally, pSOSystem uses ALL of the memory remaining on a board for */ /* dynamic allocation ("region 0"). You may override this by setting */ /* SC_RAM_SIZE to a non-zero value. If you do, pSOSystem will not */ /* touch any memory after address (BSP_RAM_BASE + SC_RAM_SIZE - 1). */ /* */ /* NOTE: This is useful when making a BOOT ROM and you want to ensure */ /* that the ROM's RAM area does not overflow the space alloted for it. */ /***********************************************************************/ #define SC_RAM_SIZE 0 /***********************************************************************/ /* */ /* I / O D E V I C E S */ /* */ /* Each device may be included in the system by specifying a major */ /* number for it, which determines its slot in the pSOS+ I/O switch */ /* table. To leave a device driver out of the system, use NO for */ /* the major number. */ /* */ /* Note the following: */ /* * Major device 0 is reserved and cannot be used for any of these */ /* devices. Setting a device number to 0 here is the same as NO. */ /* * No device number may be higher than SC_DEVMAX (SC_DEVMAX may */ /* be increased, if desired) */ /* * The lines defining the symbols DEV_SERIAL, DEV_TIMER, etc, */ /* should not be changed. These are for use by application */ /* programs as the "device number" parameter on de_* calls. */ /* */ /***********************************************************************/ #define SC_DEV_SERIAL 1 /* Serial driver */ #define SC_DEV_TIMER 2 /* Periodic tick timer */ #define SC_DEV_RAMDISK NO /* 3 RAM disk */ #define SC_DEV_SCSI NO /* 4 SCSI bus */ #define SC_DEV_SCSI_TAPE NO /* 5 SCSI bus, tape device */ #define SC_DEV_TFTP NO /* 6 TFTP pseudo driver */ #define SC_DEV_DLPI NO /* DLPI pseudo driver */ #define SC_DEV_OTCP NO /* 8 TCP/IP for OpEN */ #define SC_IP NO /* 8 IP */ #define SC_ARP NO /* 9 ARP */ #define SC_TCP NO /* 10 TCP */ #define SC_UDP NO /* 11 UDP */ #define SC_RAW NO /* 12 RAW */ #define SC_LOOP NO /* 13 LOOP = (SC_DEV_OTCP + 5) */ #define SC_DEV_SOSI NO /* 14 OSI for OpEN */ #define SC_DEVMAX 20 /* Maximum device number */ #define DEV_SERIAL (SC_DEV_SERIAL << 16) #define DEV_TIMER (SC_DEV_TIMER << 16) #define DEV_RAMDISK (SC_DEV_RAMDISK << 16) #define DEV_SCSI (SC_DEV_SCSI << 16) #define DEV_SCSI_TAPE (SC_DEV_SCSI_TAPE << 16) #define DEV_TFTP (SC_DEV_TFTP << 16) /***********************************************************************/ /* */ /* C O M P O N E N T C O N F I G U R A T I O N P A R A M E T E R S */ /* */ /* These parameters should work as is for this application. You */ /* may want to change some of them if you start customizing this */ /* application. */ /* */ /***********************************************************************/ /*---------------------------------------------------------------------*/ /* pSOS+ configuration parameters */ /*---------------------------------------------------------------------*/ #define KC_RN0USIZE 0x100 /* region 0 unit size */ #define KC_NTASK 12 /* max number of tasks */ #define KC_NQUEUE 10 /* max number of message queues */ #define KC_NSEMA4 30 /* max number of semaphores */ #define KC_NMSGBUF 100 /* max number of message buffers */ #define KC_NTIMER 10 /* max number of timers */ #define KC_NLOCOBJ 50 /* max number of local objects */ #define KC_TICKS2SEC 10 /* clock tick interrupt frequency */ #define KC_TICKS2SLICE 10 /* time slice quantum, in ticks */ #define KC_SYSSTK 0x1000 /* pSOS+ system stack size (bytes) */ #define KC_ROOTSSTK 0x1000 /* ROOT supervisor stack size */ #define KC_ROOTUSTK 0 /* ROOT user stack size */ #define KC_ROOTMODE 0x2000 /* ROOT initial mode */ /*---------------------------------------------------------------------*/ /* The following are examples for modifying the following defines */ /* */ /* Using a pSOSystem routine as a fatal error handler */ /* #define KC_FATAL ((void (*)()) SysInitFail) */ /* */ /* Using a user written routine as a fatal error handler */ /* extern void MyHandler (void); */ /* #define KC_FATAL ((void (*)()) MyHandler) */ /* */ /*---------------------------------------------------------------------*/ #define KC_STARTCO 0 /* callout at task activation */ #define KC_DELETECO 0 /* callout at task deletion */ #define KC_SWITCHCO 0 /* callout at task switch */ #define KC_FATAL ((void (*)()) SysInitFail) /* fatal error handler address */ #define KC_ROOTPRI 230 /* ROOT task priority */ /*---------------------------------------------------------------------*/ /* pSOS+m configuration parameters */ /*---------------------------------------------------------------------*/ #define MC_NGLBOBJ 8 /* size of gbl obj table */ #define MC_NAGENT 10 /* number of RPC agents in this node */ #define MC_FLAGS 0 /* operating mode flags */ /*---------------------------------------------------------------------*/ /* The following are examples for modifying the following definition */ /* */ /* Using a pSOSystem routine as a roster change handler */ /* #define MC_ROSTER ((void (*)()) SysInitFail) */ /* */ /* Using a user written routine as a roster change handler */ /* extern void MyHandler (void); */ /* #define MC_ROSTER ((void (*)()) MyHandler) */ /* */ /*---------------------------------------------------------------------*/ #define MC_ROSTER 0 /* addr of user roster change callout */ /*---------------------------------------------------------------------*/ /* The max length of buffers are defined here. This is a field required*/ /* by the the configuration table for pSOS+m. The Kernel Interface */ /* driver ki_smem.c also defines the size of buffers for ki MAXPKTSZ. */ /* These two definitions must specify the same size of buffers for */ /* pSOS+m to work correctly. */ /*---------------------------------------------------------------------*/ #define MC_KIMAXBUF 100 /* maximum KI packet buffer length */ #define MC_ASYNCERR 0 /* asynchronous calls error callout */ /*---------------------------------------------------------------------*/ /* pROBE configuration parameters - note that the SMODE flag bit is */ /* irrelevant if SE_DEBUG_MODE = DBG_AP. */ /*---------------------------------------------------------------------*/ #define TD_BRKTRAP 0 /* Instruction "0" */ #define TD_FLAGS ((MAX_ILEV << 12) | (1 << 2)) /* flag settings */ #define TD_DBGPRI 244 /* Debugger task priority */ /*---------------------------------------------------------------------*/ /* pHILE+ configuration parameters */ /*---------------------------------------------------------------------*/ #define FC_LOGBSIZE 9 /* Block size (base-2 exponent) */ #define FC_NBUF 6 /* Number of cache buffers */ #define FC_NMOUNT 3 /* Max # of mounted volumes */ #define FC_NFCB 10 /* Max # of opened files per system */ #define FC_NCFILE 2 /* Max # of opened files per task */ #define FC_NDNLC 64 /* Max # of cached directory entries */ #define FC_MSDOS 1 /* MS-DOS volume mount flag */ #define FC_CDROM 0 /* CD-ROM volume mount flag */ /*---------------------------------------------------------------------*/ /* pREPC+ configuration parameters */ /*---------------------------------------------------------------------*/ #define LC_BUFSIZ 128 /* I/O buffer size */ #define LC_NUMFILES 5 /* Max number of open files per task */ #define LC_WAITOPT 0 /* Wait option for memory allocation */ #define LC_TIMEOPT 0 /* Timeout option for mem allocation */ #define LC_SSIZE 512 /* Size of print buffer */ /*---------------------------------------------------------------------*/ /* pNA+ configuration parameters */ /* */ /* NOTE: If you get pNA+ errno 5F01 FAT_INSUFFMEM you may need to */ /* decrease the number of buffers allocated here for pNA+. */ /* In general this error means pNA+ could not allocate enough */ /* memory from Region 0 for the number of buffers requested. */ /*---------------------------------------------------------------------*/ #define NC_NNI 5 /* size of pNA NI Table */ #define NC_NROUTE 10 /* size of pNA Routing Table */ #define NC_NARP 20 /* size of pNA ARP table */ #define NC_DEFUID 0 /* Default User ID of a task */ #define NC_DEFGID 0 /* Default Group ID of a task */ #define NC_HOSTNAME "scg" /* Hostname of the node */ #define NC_NHENTRY 8 /* Number of Host table entries */ #define NC_NSOCKETS 4 /* Number of sockets in the system */ #define NC_NDESCS 4 /* # of socket descriptors/task */ #define NC_MBLKS 300 /* # of message blocks in the system */ #define NC_BUFS_0 64 /* number of 0 length buffers */ #define NC_BUFS_128 256 /* number of 128 byte buffers */ #define NC_BUFS_1024 16 /* number of 1k byte buffers */ #define NC_BUFS_2048 48 /* number of 2k byte buffers */ #define SE_MAX_PNA_NC_BUFS 4 /* max number of NC_BUFS types */ /*---------------------------------------------------------------------*/ /* pSE+ configuration parameters */ /*---------------------------------------------------------------------*/ #define NBUFS_0 64 /* number of 0 length buffers */ #define NBUFS_32 128 /* number of 32 byte buffers */ #define NBUFS_64 128 /* number of 64 byte buffers */ #define NBUFS_128 256 /* number of 128 byte buffers */ #define NBUFS_256 32 /* number of 256 byte buffers */ #define NBUFS_512 32 /* number of 512 byte buffers */ #define NBUFS_1024 16 /* number of 1k byte buffers */ #define NBUFS_2048 16 /* number of 2k byte buffers */ #define NBUFS_4096 8 /* number of 4k byte buffers */ #define SE_MAX_PSE_STRBUFS 9 /* max number of stream buffer types */ #define SE_MAX_PSE_MODULES 2 /* max number of streams modules */ #define SC_SHARE_NI NO /* does pna share NI with streams? */ #define SE_DATA_SIZE 0x0C00 /* size of pSE data area */ /* (must be at least 3K) */ #define SE_TASK_PRIO 250 /* priority for pSE task */ #define SE_STACK_SIZE 0x2000 /* stack size for pSE task */ #define SE_DEF_UID 0 /* default user id */ #define SE_DEF_GID 0 /* default group id */ #define SE_N_FDS 32 /* max # of system-wide */ /* stream descriptors */ #define SE_N_TASKFDS 8 /* max # of per-task stream */ /* descriptors */ #define SE_N_LINKS 32 /* max # of multiplexing links */ #define SE_N_TIMEOUTS 32 /* max # of timeout requests */ #define SE_N_BUFCALLS 32 /* max # of bufcall requests */ #define SE_N_QUEUES 256 /* # of queues */ #define SE_N_MBLKS 512 /* reserved for future use, must be 0 */ /*---------------------------------------------------------------------*/ /* Loader configuration parameters */ /*---------------------------------------------------------------------*/ #define LD_MAX_LOAD 8 /* Max. # of active loads */ #define LD_ELF_MODULE NO /* Don't link ELF object-load-module */ #define LD_SREC_MODULE NO /* Don't link SREC object-load-module */ /*---------------------------------------------------------------------*/ /* pMONT+ configuration parameters - note that PM_DEV and PM_BAUD are */ /* only relevant to serial communication (PM_CMODE = 2) */ /*---------------------------------------------------------------------*/ #define PM_CMODE 1 /* 1 = networking, 2 = serial */ #define PM_DEV DEV_SERIAL|2 /* Major.Minor device # for */ /* serial channel if used */ #define PM_BAUD 9600 /* Baud rate for serial chnl */ #define PM_TRACE_BUFF 0 /* Address of trace buffer -- */ /* Allocated by pSOSystem if 0*/ #define PM_TRACE_SIZE 0x6000 /* Size of trace buffer */ #define PM_TIMER YES /* 2nd timer for finer time */ /* within data collection */ /*---------------------------------------------------------------------*/ /* General Serial Block Configuration Parameters */ /*---------------------------------------------------------------------*/ #define GS_BUFS_0 64 /* number of 0 length buffers */ #define GS_BUFS_32 128 /* number of 32 byte buffers */ #define GS_BUFS_64 128 /* number of 64 byte buffers */ #define GS_BUFS_128 256 /* number of 128 byte buffers */ #define GS_BUFS_256 32 /* number of 256 byte buffers */ #define GS_BUFS_512 32 /* number of 512 byte buffers */ #define GS_BUFS_1024 16 /* number of 1k byte buffers */ #define GS_BUFS_2048 16 /* number of 2k byte buffers */ #define GS_BUFS_4096 8 /* number of 4k byte buffers */ #define SE_MAX_GS_BUFS 9 /* max number of stream buffer types */ #define GS_MBLKS 300 /*---------------------------------------------------------------------*/ /* TCP/IP for OpEN configuration parameters */ /*---------------------------------------------------------------------*/ /* Configurable parameters for the Network layer (IP) */ #define OTCP_IPMAX 8 /* Max # of open IP device */ #define OTCP_IPNINTERFACES 4 /* Max # of network interfaces */ #define OTCP_IPNROUTES 64 /* Max # of routing table entries */ /* Configurable parameters for ARP */ #define OTCP_ARPMAX 8 /* Max # of open ARP device */ #define OTCP_ARPNINTERFACES 4 /* Max # of ARP interfaces */ #define OTCP_ARPNENTRIES 32 /* Max # of ARP table entries */ /* Configurable parameters for TCP */ #define OTCP_TCPMAX 64 /* Max # of open TCP device */ /* Configurable parameters for UDP */ #define OTCP_UDPMAX 32 /* Max # of open UDP device */ /* Configurable parameters for RAW */ #define OTCP_RAWMAX 32 /* Max # of open RAW device */ /* Configurable parameters for LOOP */ #define OTCP_LOOPMAX 2 /* Max # of open LOOP device */ #endif /* _SYS_CONF_H */ #if __cplusplus } #endif