# Generic vxWorks startup script STRINGBUFFER=malloc(256) # Set target name as IOC name IOC=&sysBootParams+60 sprintf STRINGBUFFER, "IOC=%s", IOC putenv STRINGBUFFER puts STRINGBUFFER # Set bootpc (still needed?) BOOTPC=&sysBootHost sprintf STRINGBUFFER, "BOOTPC=%s", BOOTPC putenv STRINGBUFFER puts STRINGBUFFER # Set the prompt sprintf STRINGBUFFER, "%s (startup.script aborted) > ", IOC shellPromptSet STRINGBUFFER # Set EPICS_HOST_ARCH according to vxWorks version and cpu type VMI=(*runtimeVersion>>8)&255 EPICS_HOST_ARCH=malloc(16) sprintf EPICS_HOST_ARCH, "V6%c-ppc60%d", VMI, sysCpu-90 sprintf STRINGBUFFER, "EPICS_HOST_ARCH=%s", EPICS_HOST_ARCH putenv STRINGBUFFER puts STRINGBUFFER # Set DNS (necessary when not using DHCP) resolvInit "129.129.190.11","psi.ch" # Guess FACILITY from sysBootHost name IS_SLS=(sysBootHost&0xdf000000)==0x58000000||(sysBootHost&0xdfdfdf00)==0x534c5300 IS_HIPA=(sysBootHost&0xdfdfdfdf)==0x48495041 IS_PROSCAN=(sysBootHost&0xdfdfdf00)==0x50524f00 IS_STANDALONE=!(IS_SLS||IS_HIPA||IS_PROSCAN) FACILITY=IS_SLS?"sls":IS_HIPA?"hipa":IS_PROSCAN?"proscan":"" printf "FACILITY = %s\n", FACILITY # Do the NFS mounts (only one of each mount will succeed) nfsAuthUnixSet &sysBootHost,500,IS_SLS?35365:IS_HIPA?35344:IS_PROSCAN?35401:9102 NFS_SERVER=malloc(16) sprintf NFS_SERVER,"%s-fs",FACILITY NFS_SERVER=IS_STANDALONE?&sysBootHost:NFS_SERVER NFS_BASE=malloc(16) sprintf NFS_BASE,"/export/%s",FACILITY NFS_BASE=IS_STANDALONE?"":NFS_BASE NFS_DIR=malloc(48) sprintf NFS_DIR,"%s/ioc/epics",NFS_BASE puts NFS_SERVER puts NFS_DIR nfsMount NFS_SERVER,NFS_DIR,"/epics" nfsMount NFS_SERVER,"/usr/local/epics","/epics" sprintf NFS_DIR,"%s/ioc",NFS_BASE nfsMount NFS_SERVER,NFS_DIR,"/ioc" # We should now have /epics and /ioc nfsDevShow # Create some path variables HOME=malloc(80) sprintf HOME, "/ioc/%s", IOC sprintf STRINGBUFFER, "HOME=%s", HOME putenv STRINGBUFFER cd HOME pwd CFG=malloc(80) sprintf CFG, "%s/cfg", HOME sprintf STRINGBUFFER, "CFG=%s", CFG putenv STRINGBUFFER PVA=0 # load IOC startup script < startup.script # Set the final prompt sprintf STRINGBUFFER, "%s > ", IOC shellPromptSet STRINGBUFFER