# This is an ide startup file. #ident EVEREST/shell # $Revision: 1.1 $ report=2 hinv -v scripts { echo "" echo "IDE included scripts are:" echo "" echo " ? - list all IDE commands" echo " memfast - invokes mem3, mem5, mem8, mem9, mem10, mem16" echo " memall - invokes mem1 to mem10, mem15, mem16 and mem18" echo " io_all - invokes all tests for IO4" echo " scsi_all - invokes all SCSI tests for IO4" echo " dang_all - invokes all DANG/GGAM tests for IO4" echo " ev_quick - invokes standalone diag suite quickly" echo " everest_all - invokes entire standalone diag suite" echo " scripts - displays this list" echo "" echo " ** 'exit' or 'quit' returns to PROM monitor**" echo " ** Always reset system ('reset' at PROM prompt) before booting IDE **" echo "" } list { if ($$ == 1) { printf "list " symbols -l printf "\n" return 0 } else { $res_ult = symbols -t $1 return $res_ult } } match { if ($$ == 1) { printf "usage: match KEYSTRING\n" return -1 } else { $res_ult = symbols -k $1 return $res_ult } } isaset { $r_es = set_exists -s $1 return $r_es } isamember { $r_es = cpu_in -v $1 -s $2 return $r_es } clear_set { if (isaset "mty_set" == $FALSE) { create_set -s "mty_set" -e } if (isaset $1 == $FALSE) { printf ("set not found\n"); return $FALSE } $1 = $mty_set return $TRUE } cpu_count { $cnt = 0 for ($loop=0; $loop<64; $loop++) { if (isamember $loop $1) { $cnt+=1 } } return $cnt } hx { printf "0x%x\n" $1 } # # define simple usec, msec, and second delays # printf " - delays with intervals of usec, msec, and second granularity:\n" # printf " --> us_delay, ms_delay, and sleep.\n usages: " # printf " 'us_delay USECS' 'ms_delay MSECS' 'sleep SECS'\n" us_delay { ide_delay -u $1 } # eg: 'us_delay 100' ms_delay { ide_delay -m $1 } # eg: 'ms_delay 15' sleep { ide_delay -s $1 } # eg: 'sleep 5' printf " - define symcmd, charcmd, set_charcmd, newset, showset\n" # demonstrate parameter-passing for user-defined commands which # call functions using the 'sym_t *' argv format symcmd { test_symcmd $1 } # and for udef commands calling functions using 'char *' argv format charcmd { test_charcmd $1 $2 } # here's an example using the set-execution stuff set_charcmd { test_charcmd -- -s $1 -i -- $2 $3 } newset { $R_ES = create_set -s $1 return $R_ES } showset { $R_ES = display_set -s $1 return $R_ES } # get_vpinfo SETNAME # echo "define get_vpinfo" # cpuinfo { # change and restore report to mute the helpful verbosity # $tmpr = $report # $report = 1 # printf " init '%s' with the set of active virtual processors\n" $1 # $res_ = create_set -s $1 # if ($res_ != 0) { # printf "\nget_vpinfo: create_set failed (%d)\n" $res # } else { # printf " %s: " $1 # display_set -s $1 # printf "\n" # } # $report = $tmpr # return $res # } printf " - define subdue, restore," subdue { $2 = $report $report = $1 $srvalid_ = 0xd0dd } restore { if ($srvalid_ == 0xd0dd) { $report = $2 } $srvalid_ = 0xdead } # defines for the memory tests to make them "automatically" icached mem2 { runcached on clear_intrs mem2_ runcached off } mem3 { runcached on clear_intrs mem3_ runcached off } mem4 { runcached on clear_intrs mem4_ runcached off } mem5 { runcached on clear_intrs mem5_ runcached off } mem6 { runcached on clear_intrs mem6_ runcached off } mem7 { runcached on clear_intrs mem7_ runcached off } mem8 { runcached on clear_intrs mem8_ runcached off } mem9 { runcached on clear_intrs mem9_ runcached off } mem10 { runcached on clear_intrs mem10_ runcached off } mem15 { runcached on clear_intrs mem15_ runcached off } mem16 { runcached on clear_intrs mem16_ runcached off } mem18 { runcached on clear_intrs mem18_ runcached off } printf " - define memall" memall { #Read memory configuration registers mem1 #Memory sockets connection test mem2 #Memory address walking test mem3 #Memory data write/read tes mem4 #Memory address in address test mem5 #Memory data walking test mem6 #Memory data MarchX pattern test mem7 #Memory data MarchY pattern test mem8 #Memory with ECC test mem9 #Memory with cache write-through test mem10 #Double word march y pattern test mem15 #Knaizuk Hartmann Test mem16 #Double word Knaizuk Hartmann Test mem18 printf "Finished memall\n" } printf ", memfast\n" memfast { #Memory address walking test mem3 #Memory address in address test mem5 #Memory data MarchY pattern test mem8 #Memory with ECC test mem9 #Memory with cache write-through test mem10 #Knaizuk Hartmann Test mem16 printf "Finished memfast\n" } printf " - define scsi_all" scsi_all { # Register Read/Write test for s1 chip s1_regtest # wd95a scsi controller register test regs_95a # scsi send diag test # scsi_self # scsi interrupt from wd95a test scsi_intr # scsi dma transfer test # scsi_dmaxfer # scsi dma interrupt test # scsi_dmaintr printf "Finished scsi_all\n" } printf " - define dang_all" dang_all { # dang register read/write test dang_regtest #gio bus interface test, read/write on gr2 shared ram dang_gr2ram # tests wg fifo rams, host wg addressing modes, fifo and priv viol interrupts dang_wg # tests host/graphics and g/h dma transfers, dma complete interrupt dang_mdma printf "Finished dang_all\n" } printf ", io_all" io_all { # Checks IO4 config against NVRAM check_iocfg # Read/Write test of IO4 registers io4_regtest # IO4 PIO bus error test io4_pioerr # Read/Write test of IO4 map ram mapram_test # all scsi tests scsi_all # Register Read/Write test for epc chip epc_regtest # NVRAM Read/Write test epc_nvram # RTC Read/Write test epc_rtcreg # RTC clock increment test epc_rtcinc # RTC interrupt generation test epc_rtcint # Duart loopback test duart_loopback # Parallel Port Write Test epc_plptest #Fchip register test fregs #VMECC register test vmeregs #VMECC self interrupt test vmeintr #VMECC loopback test #vmelpbk #VMECC buserror test vmeberr #VMECC dma test using CDSIO - skips if no CDSIO board installed vmedma #CDSIO data test - skips if no CDSIO board installed or new rev proms cddata #CDSIO interrupt test - skips if no CDSIO board installed or new rev proms cdintr #all dang tests dang_all printf "Finished io_all\n" } printf ", ev_quick" ev_quick { echo "Starting quick EVEREST standalone diag suite" echo "" memfast io_all echo "" echo "End of quick EVEREST standalone diag suite" } printf ", and everest_all\n\n" everest_all { echo "Starting EVEREST standalone diag suite" echo "" memall io_all echo "" echo "End of EVEREST standalone diag suite" } printf " -- END OF SCRIPT DEFINITIONS --\n\n" scripts $TRUE = 1 $FALSE = 0