1960 lines
34 KiB
Plaintext
1960 lines
34 KiB
Plaintext
#ident "stand/arcs/ide/IP30/shell: $Revision: 1.1"
|
|
#
|
|
# This is an ide startup file.
|
|
#
|
|
# this script is executed when shell.ide is run.
|
|
# It is intended to be used by engineering.
|
|
|
|
report=4 # set verbose, but not debug
|
|
$stoponerr=1
|
|
hinv -v
|
|
|
|
echo ""
|
|
echo "Ide included scripts:"
|
|
echo " ALL: short_tests (XXX-XXX minutes)"
|
|
echo " long_tests (XXX_XXX minutes)"
|
|
echo " FRU's: ip30 frontplane memory"
|
|
echo " pm (processor module) "
|
|
echo " gfx tmezz"
|
|
echo " subsystems (ASIC's and others):"
|
|
echo " heart bridge rad scsi pci"
|
|
echo " cache tlbtest xbow"
|
|
|
|
# find out of we are MP
|
|
$mp = ismp
|
|
$slave = slavecpu
|
|
|
|
#
|
|
# memory, cache and tlb tests
|
|
#
|
|
|
|
#wrappers for low memory tests
|
|
ldram {
|
|
$tmp = ldram_bkend -- -p --;
|
|
return ($tmp);
|
|
}
|
|
lkh {
|
|
$tmp = lkh_bkend -- -p --;
|
|
return ($tmp);
|
|
}
|
|
|
|
ct {
|
|
if ($mp) {
|
|
$tmp = set_exists -s ct_cpu_set;
|
|
if (! $tmp) {
|
|
create_set -s ct_cpu_set;
|
|
}
|
|
$tmp = ct_bkend -- -s ct_cpu_set -p -- 14 ;
|
|
}
|
|
else {
|
|
echo "ct error: cachethrasher requires 2 or more processors";
|
|
$tmp = 1;
|
|
}
|
|
return $tmp;
|
|
}
|
|
|
|
memory {
|
|
# low dram tests (where ide resides)
|
|
$tmp = ldram;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = lkh;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
# XXX high memory tests: add more tests?
|
|
# Kh test
|
|
$tmp = memtest 1;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
|
|
# ecc tests
|
|
$tmp =ecctest;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
|
|
}
|
|
|
|
cache {
|
|
$tmp = dcache1
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f dcache1
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
|
|
$tmp = icache1
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f icache1
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
|
|
$tmp = icache2
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f icache2
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
|
|
$tmp = scache1
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f scache1
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
|
|
$tmp = scache2
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f scache2
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
}
|
|
|
|
tlbtest {
|
|
$tmp = tlb;
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f tlb
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
$tmp = utlb;
|
|
if ($tmp)
|
|
wait;
|
|
if ($mp) {
|
|
$tmp = exec -v $slave -f utlb
|
|
if ($tmp)
|
|
wait;
|
|
}
|
|
}
|
|
|
|
#
|
|
# ASIC's
|
|
#
|
|
heart {
|
|
$tmp = hr_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = hr_misc;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = hr_intr;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = hr_piowcr;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = hr_piuacc;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
xbow {
|
|
$tmp = x_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = x_acc;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
b_pci {
|
|
$tmp = pci_sio -p 1 -t abc -b 50;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
|
|
$tmp = pci_sio -p 1 -t abc -b 2000;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
|
|
$tmp = pci_sio -p 1 -t abc -b 384000;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
|
|
$tmp = pci_par;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
bridge {
|
|
$tmp = br_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = br_intr;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = br_err;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = br_ram;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
# I/O chip for serial, parallel
|
|
# anymore needed ? XXX
|
|
ioc3 {
|
|
$tmp = ioc3_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = ioc3_sram;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = rtc_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = duart_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
# audio chip XXX
|
|
rad {
|
|
$tmp = rad_regs;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = rad_dma;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
$tmp = rad_ram;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
}
|
|
|
|
#
|
|
# boards
|
|
#
|
|
|
|
# CPU diagnostic (covers each processor)
|
|
pm {
|
|
fpu
|
|
if ($mp)
|
|
exec -v $slave -f "fpu"
|
|
cache
|
|
tlbtest
|
|
}
|
|
|
|
# NOTE: the main logic board test *excludes* memory
|
|
# so that we can use it and add shorter or longer
|
|
# memory tests
|
|
ip30 {
|
|
heart;
|
|
bridge;
|
|
|
|
scsi_test;
|
|
|
|
b_pci;
|
|
ioc3;
|
|
rad;
|
|
}
|
|
|
|
frontplane {
|
|
xbow;
|
|
}
|
|
|
|
# implement XXX
|
|
# use pcifailed flag
|
|
pci {
|
|
echo "pci diag not implemented yet"
|
|
}
|
|
|
|
#
|
|
# G F X
|
|
#
|
|
# GM10 SI
|
|
# GM10/TRAM SI + texture
|
|
# GM20 SSI
|
|
# GM20/TRAM MXI
|
|
#
|
|
# from IP30/ip30imp 10-31-96
|
|
# TO DO: XXX
|
|
# the lines starting with #XXXX were commented out from IP30/ip30imp
|
|
# as they called mfg-only code; the other commented out lines
|
|
# were already commented out in ip30imp. I kept them in.
|
|
# comment out all the verbosity
|
|
# add emfail calls with appropriate fru numbers
|
|
# (see above under D_FRU_GFX_xxx)
|
|
# remove the "# needed" used only to keep track of what really has
|
|
# to be part of field
|
|
#
|
|
|
|
delay {
|
|
ide_delay -s 2;
|
|
}
|
|
|
|
# NOTE: in IP28, a non-script mg_reset was used
|
|
# needed
|
|
mg_reset_1 {
|
|
mg_setboard ; ide_delay -s 2;
|
|
# mg_setnumre4s -c 1 ; ide_delay -s 2;
|
|
mg_hqfifoinit ; ide_delay -s 2;
|
|
# mg_set_0ge ; ide_delay -s 2;
|
|
echo "mg_dacreset in progress "
|
|
mg_dacreset ; ide_delay -s 2;
|
|
echo "mg_vc3init in progress "
|
|
mg_vc3init -t 0x107 ; ide_delay -s 2;
|
|
if ($repprdram_sync == 1) {
|
|
echo "mg_sync_repp in progress "
|
|
mg_sync_repp ; ide_delay -s 2;
|
|
echo "mg_sync_pprdram in progress "
|
|
mg_sync_pprdram ; ide_delay -s 2;
|
|
mg_rdram_ccsearch ; ide_delay -s 2 ;
|
|
$repprdram_sync = 0;
|
|
}
|
|
echo "mg_xmapinit in progress "
|
|
mg_xmapinit ; ide_delay -s 2 ;
|
|
mg_initppregs ; ide_delay -s 2 ;
|
|
#XXXX echo "mg_progcmap in progress "
|
|
#XXXX mg_progcmap 0x0 ; ide_delay -s 2 ;
|
|
mg_gammaprog 0x0 ; ide_delay -s 2 ;
|
|
mg_xmapinit ; ide_delay -s 2 ;
|
|
mg_tram_ctrl; ide_delay -s 2 ;
|
|
}
|
|
|
|
# needed
|
|
mg_rtfifo_loop {
|
|
|
|
mg_setboard ; delay; mg_hqfifoinit
|
|
|
|
report=2
|
|
echo " ============ Data Format tests done through PIO ============="
|
|
$status = mg_rtpio_loop -i 4 -o 0
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 4 -o 1
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 3 -o 2
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 2 -o 0
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 2 -o 1
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 1 -o 0
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 1 -o 1
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 0 -o 0
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
$status = mg_rtpio_loop -i 0 -o 1
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
|
|
mg_setboard ; delay; mg_hqfifoinit
|
|
|
|
$status = mg_rtdma_loop -p 2 ;
|
|
if ($status == 1) { $failed = 1; return (-1); }
|
|
return (0);
|
|
}
|
|
|
|
# needed
|
|
enabdisp {
|
|
mg_pokexmap -r XMAP_DIB_CTRL0 -d 0x100
|
|
}
|
|
|
|
# needed
|
|
allsetup {
|
|
$failed =0;
|
|
mg_gfxreset;
|
|
delay;
|
|
delay;
|
|
mg_setboard; delay; mg_hqfifoinit
|
|
delay;
|
|
mg_set_0ge;
|
|
delay;
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
delay;
|
|
delay;
|
|
resetcons
|
|
if (!mg_gfxconsole) {
|
|
mg_sync_repp
|
|
mg_sync_pprdram
|
|
mg_xmapinit
|
|
mg_rdram_ccsearch
|
|
mg_initppregs
|
|
enabdisp
|
|
mg0_clear_color
|
|
}
|
|
$solid = mg_issolid;
|
|
}
|
|
|
|
# needed
|
|
mg_tram_rev_nobuff {
|
|
mg_dma_tram -r -e 1 -p
|
|
$foo = mg_setnumre4s -q
|
|
if ($foo == 2) {
|
|
mg_dma_tram -r -e 1 -p -n 1
|
|
}
|
|
}
|
|
|
|
# needed
|
|
hq3test {
|
|
echo "------ Executing Hq3 Test Suite ------"
|
|
$failed = 0;
|
|
buffon;
|
|
mg_setboard; delay; mg_hqfifoinit;
|
|
delay;
|
|
mg_hqfifoinit
|
|
mg_set_0ge
|
|
$testnum = "_1"
|
|
# $status = mg_hq3_initcheck;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# echo "mg_hq3_initcheck";
|
|
# return(-1);
|
|
# }
|
|
|
|
|
|
$testnum = "_02"
|
|
$status = mg_hq3;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
mg_setboard; delay; mg_hqfifoinit;
|
|
delay;
|
|
$testnum = "_03"
|
|
$status = mg_hq3_cp;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_04"
|
|
$status = mg_hq3_converter;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_05"
|
|
$status = mg_hq3_cfifo;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$status = mg_hq4reg;
|
|
if ($status) { $failed = 1; return(-1); }
|
|
|
|
echo "******** Hq3 Test Suite Execution Completed ********"
|
|
resetcons; buffoff
|
|
}
|
|
|
|
|
|
|
|
# GE11 test scripts
|
|
|
|
gioslot_2GE {
|
|
$tmp = mg_setboard 0; delay; mg_hqfifoinit;
|
|
if ($tmp) {
|
|
echo "Mgras Gfx init to GIO Slot 0 "
|
|
mg_setboard 0 2; delay; mg_hqfifoinit ;
|
|
}
|
|
else {
|
|
$tmp = mg_setboard 1; delay; mg_hqfifoinit ;
|
|
if ($tmp) {
|
|
echo "Found boards in slot 1"
|
|
mg_setboard 1 2; delay; mg_hqfifoinit ;
|
|
}
|
|
else {
|
|
echo "No boards found in slot 0 or slot 1"
|
|
}
|
|
}
|
|
}
|
|
|
|
# needed
|
|
dactest {
|
|
echo "------ Executing DAC Test Suite ------"
|
|
$testnum = "_06"
|
|
$status = mg_dacreset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
|
|
$testnum = "_07"
|
|
$status = mg_dacmodereg;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
|
|
$testnum = "_08"
|
|
$status = mg_dacreset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_09"
|
|
$status = mg_dacaddrreg;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_10"
|
|
$status = mg_dacreset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_11"
|
|
$status = mg_clrpaletteaddrUniq;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_12"
|
|
$status = mg_dacreset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_13"
|
|
$status = mg_clrpalettewalkbit;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_14"
|
|
$status = mg_dacreset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_15"
|
|
$status = mg_clrpalettepatrn;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_16"
|
|
$status = mg_dacreset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
echo "******** DAC Test Suite Execution Completed ********"
|
|
}
|
|
|
|
# needed
|
|
vc3test {
|
|
echo "------ Executing VC3 Test Suite ------"
|
|
$testnum = "_17"
|
|
$status = mg_vc3reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_18"
|
|
$status = mg_vc3internalreg;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_19"
|
|
$status = mg_vc3addrsbus;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_20"
|
|
$status = mg_vc3databus;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_21"
|
|
$status = mg_vc3addrsuniq;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_22"
|
|
$status = mg_vc3patrn;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
|
|
echo "******** VC3 Test Suite Execution Completed ********"
|
|
}
|
|
|
|
# needed
|
|
cmaptest {
|
|
echo "------ Executing CMAP Test Suite ------"
|
|
$testnum = "_23"
|
|
$status = mg_vc3init -t 0x107;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_24"
|
|
$status = mg_cmaprev;
|
|
#XXXX mg_dispcmapcnt;
|
|
if (!$status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_25"
|
|
$status = mg_cmapdatabus 0;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_26"
|
|
$status = mg_cmapaddrsbus 0;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
#XXXX mg_clrcmpcnt; report=4;
|
|
$testnum = "_27"
|
|
$status = mg_cmappatrn 0;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_28"
|
|
$status = mg_cmapaddrsuniq 0;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_29"
|
|
$status = mg_cmapdatabus 1;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_30"
|
|
$status = mg_cmapaddrsbus 1;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
#XXXX mg_clrcmpcnt; report=4;
|
|
$testnum = "_31"
|
|
$status = mg_cmappatrn 1;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
#XXXX mg_clrcmpcnt;
|
|
$testnum = "_32"
|
|
$status = mg_cmapaddrsuniq 1;
|
|
#XXXX mg_dispcmapcnt;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
# $testnum = "_33"
|
|
# $status = mg_cmapuniqtest;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return (-1);
|
|
# }
|
|
|
|
|
|
echo "******** CMAP Test Suite Execution Completed ********"
|
|
}
|
|
|
|
# needed
|
|
mg_dcbdma_tests {
|
|
$failed =0;
|
|
mg_setboard; delay; mg_hqfifoinit;
|
|
buffon;
|
|
mg_dcbdma 1;
|
|
delay ; delay ; delay;
|
|
|
|
echo " DAC Tests in DCBDMA mode "
|
|
$status = dactest;
|
|
if ($failed) {
|
|
mg_dcbdma 0;
|
|
return(-1);
|
|
}
|
|
|
|
# delay ; delay ; delay;
|
|
|
|
echo " VC3 Tests in DCBDMA mode "
|
|
$status = vc3test;
|
|
if ($failed) {
|
|
mg_dcbdma 0;
|
|
return(-1);
|
|
}
|
|
delay ; delay ; delay;
|
|
|
|
echo " CMAP Tests in DCBDMA mode "
|
|
$status = cmaptest;
|
|
if ($failed) {
|
|
mg_dcbdma 0;
|
|
return(-1);
|
|
}
|
|
mg_dcbdma 0;
|
|
# delay ; delay ; delay;
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
delay;
|
|
|
|
}
|
|
|
|
# needed
|
|
bkend {
|
|
$failed =0;
|
|
mg_setboard; delay; mg_hqfifoinit;
|
|
buffon;
|
|
echo "------ Executing Back End Test Suite ------"
|
|
$status = dactest;
|
|
if ($failed) {
|
|
return(-1);
|
|
}
|
|
|
|
$status = vc3test;
|
|
if ($failed) {
|
|
$vc3fail = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$status = cmaptest;
|
|
if ($failed) {
|
|
return(-1);
|
|
}
|
|
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
delay;
|
|
|
|
$status = mg_dcbdma_tests;
|
|
if ($failed == 1) {
|
|
return (-1);
|
|
}
|
|
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
delay;
|
|
|
|
$testnum = "_34"
|
|
$status = mg_xmapdcbreg 0;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$testnum = "_35"
|
|
$status = mg_xmapdcbreg 1;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
$tmp = mg_setnumre4s -q
|
|
if ($tmp == 2) {
|
|
$testnum = "_36"
|
|
$status = mg_xmapdcbreg 2;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
$testnum = "_37"
|
|
$status = mg_xmapdcbreg 3;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
}
|
|
|
|
|
|
$testnum = "_38"
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
delay;
|
|
|
|
#XXX # $testnum = "_39"
|
|
#XXX # mg_stoptiming;
|
|
#XXX # $status = mg_vc3init -t 0x107
|
|
#XXX # if ($status) {
|
|
#XXX # $failed = 1;
|
|
#XXX # return(-1);
|
|
#XXX # }
|
|
$testnum = "_40"
|
|
mg_starttiming;
|
|
$status = mg_crcwalk;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
#XXX # $testnum = "_41"
|
|
#XXX # $status = mg_reset;
|
|
#XXX # if ($status) {
|
|
#XXX # $failed = 1;
|
|
#XXX # return(-1);
|
|
#XXX # }
|
|
#XXX #
|
|
#XXX # $testnum = "_42"
|
|
#XXX # mg_stoptiming;
|
|
#XXX # $status = mg_vc3init -t 0x130
|
|
#XXX # if ($status) {
|
|
#XXX # $failed = 1;
|
|
#XXX # return(-1);
|
|
#XXX # }
|
|
#XXX # $testnum = "_43"
|
|
#XXX # mg_starttiming;
|
|
#XXX # $status = mg_crcwalk;
|
|
#XXX # if ($status) {
|
|
#XXX # $failed = 1;
|
|
#XXX # return(-1);
|
|
#XXX # }
|
|
#XXX # $testnum = "_44"
|
|
#XXX # $status = mg_reset;
|
|
#XXX # if ($status) {
|
|
#XXX # $failed = 1;
|
|
#XXX # return(-1);
|
|
#XXX # }
|
|
#XXX #
|
|
echo "Testing 1280_1024_76 timing"
|
|
$testnum = "_45"
|
|
$status = mg_vc3init -t 0x139
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
$testnum = "_46"
|
|
$status = mg_crcwalk;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
$testnum = "_47"
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
#XXX if ($solid) {
|
|
#XXX $testnum = "_48"
|
|
#XXX echo "Testing 1600x1200 solid timing"
|
|
#XXX mg_stoptiming;
|
|
#XXX $status = mg_vc3init -t 0x156
|
|
#XXX if ($status) {
|
|
#XXX $failed = 1;
|
|
#XXX return(-1);
|
|
#XXX }
|
|
#XXX $testnum = "_49"
|
|
#XXX mg_starttiming;
|
|
#XXX $status = mg_crcwalk;
|
|
#XXX if ($status) {
|
|
#XXX $failed = 1;
|
|
#XXX return(-1);
|
|
#XXX }
|
|
#XXX } else {
|
|
$testnum = "_50"
|
|
echo "Testing 1600x1200 timing"
|
|
mg_stoptiming;
|
|
$status = mg_vc3init -t 0x159
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
$testnum = "_51"
|
|
mg_starttiming;
|
|
$status = mg_crcwalk;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
#XXX }
|
|
#XXX
|
|
#XXX $testnum = "_52"
|
|
#XXX
|
|
#XXX delay;
|
|
#XXX echo "Executing mg_vc3cursorposition test..."
|
|
#XXX $status = mg_reset;
|
|
#XXX if ($status) {
|
|
#XXX $failed = 1;
|
|
#XXX return (-1);
|
|
#XXX }
|
|
#XXX delay;
|
|
#XXX mg_xmapinit;
|
|
#XXX delay;
|
|
#XXX repeat 3 {
|
|
#XXX delay
|
|
#XXX }
|
|
#XXX
|
|
#XXX $testnum = "_53"
|
|
#XXX $status = mg_vc3cursorposition;
|
|
#XXX if ($status) {
|
|
#XXX $failed = 1;
|
|
#XXX resetcons; buffoff;
|
|
#XXX return(-1);
|
|
#XXX }
|
|
#XXX
|
|
#XXX
|
|
#XXX resetcons; buffoff;
|
|
echo "******** Back End Test Suite Execution Completed ********"
|
|
|
|
}
|
|
|
|
re4test {
|
|
$failed =0;
|
|
report = 3;
|
|
echo "------ Executing RE4 Test Suite ------"
|
|
$testnum = "_54"
|
|
$status = mg_re_status_reg;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
$testnum = "_55"
|
|
$status = mg_re_rdwr_regs;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
$testnum = "_56"
|
|
$status = mg_re_internal_ram -t0;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
$testnum = "_57"
|
|
$status = mg_re_internal_ram -t1;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
$testnum = "_58"
|
|
$status = mg_re_internal_ram -t2;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
$testnum = "_59"
|
|
$status = mg_re_internal_ram -t3;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
|
|
$testnum = "_60"
|
|
$status = mg_re_internal_ram -t4;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
$testnum = "_61"
|
|
$status = mg_re_internal_ram -t5;
|
|
if ($status) {
|
|
$failed = 1; return(-1);
|
|
}
|
|
|
|
echo "******** RE4 Test Suite Execution Completed ********"
|
|
report = 4;
|
|
}
|
|
|
|
dmatest {
|
|
$failed =0;
|
|
echo "------ Executing DMA Test Suite ------"
|
|
$testnum = "_62"
|
|
$status = mg_host_hqdma;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
|
|
$testnum = "_63"
|
|
$status = mg_host_hq_cp_dma;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
# $status = mg_ge_dma;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
|
|
# DMA PIO Test
|
|
$testnum = "_64"
|
|
$status = mg_dma_pp -r1 -e1 -w1 -d1 -t -m 0 0 -b 0x240 -y 16 -z 192
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
echo "******** DMA Test Suite Execution Completed ********"
|
|
}
|
|
|
|
# allows colors to be correct for drawings
|
|
drawsetup {
|
|
delay;
|
|
# mg_gfxreset;
|
|
# mg_set_0ge;
|
|
# mg_reset;
|
|
delay;
|
|
delay;
|
|
mg_xmapinit;
|
|
}
|
|
|
|
drawclose {
|
|
delay;
|
|
# resetcons;
|
|
delay;
|
|
delay;
|
|
}
|
|
|
|
tex_draw_test {
|
|
$failed =0;
|
|
echo "------ Executing tex_draw_test Suite ------"
|
|
|
|
drawsetup;
|
|
$testnum = "_65"
|
|
$status = mg_notex_line
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_66"
|
|
$status = mg_notex_poly
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_67"
|
|
$status = mg_tex_poly
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
# delay;
|
|
# $testnum = "_68"
|
|
# $status = mg_tex_1d
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_69"
|
|
# $status = mg_tex_3d
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_70"
|
|
# $status = mg_tex_scistri
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_71"
|
|
# $status = mg_tex_linegl
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_72"
|
|
# $status = mg_tex_load
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_73"
|
|
# $status = mg_tex_persp
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_74"
|
|
# $status = mg_tex_mag
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_75"
|
|
# $status = mg_tex_detail
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
# delay;
|
|
# $testnum = "_76"
|
|
# $status = mg_tex_bordertall
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
delay;
|
|
$testnum = "_77"
|
|
$status = mg_tex_lut4d
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
#
|
|
# delay;
|
|
# $testnum = "_78"
|
|
# $status = mg_tex_borderwide
|
|
# delay;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return(-1);
|
|
# }
|
|
#
|
|
delay;
|
|
$testnum = "_79"
|
|
$status = mg_tex_mddma
|
|
delay
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
drawclose;
|
|
|
|
echo "******** tex_draw_test Suite Execution Completed ********"
|
|
}
|
|
|
|
|
|
|
|
# needed
|
|
repp_test {
|
|
$failed =0;
|
|
echo "------ Executing RE-PP Test Suite ------"
|
|
allsetup;
|
|
if ($failed) {
|
|
return(-1);
|
|
}
|
|
# XX resetcons; buffoff; buffon
|
|
# XX delay; delay; delay;
|
|
#XXXX mg_vc3clearcursor;
|
|
delay; delay; delay;
|
|
drawsetup;
|
|
delay;
|
|
$testnum = "_80"
|
|
echo " mg_z_tri in progress ..."
|
|
$status = mg_z_tri
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
echo " mg_lines in progress ..."
|
|
delay; delay; delay;
|
|
$testnum = "_81"
|
|
$status = mg_lines
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_82"
|
|
echo " mg_points in progress ..."
|
|
$status = mg_points
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
echo " mg_stip_tri in progress ..."
|
|
delay;
|
|
$testnum = "_83"
|
|
$status = mg_stip_tri
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_84"
|
|
echo " mg_xblock in progress ..."
|
|
$status = mg_xblock
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_85"
|
|
echo " mg_chars in progress ..."
|
|
$status = mg_chars
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_86"
|
|
echo " mg_logicop in progress ..."
|
|
$status = mg_logicop
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_87"
|
|
echo " mg_dither in progress ..."
|
|
$status = mg_dither
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_88"
|
|
echo " mg_color_tri in progress ..."
|
|
$status = mg_color_tri
|
|
delay;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
setenv TEST_NAME_IN_OVEN _98
|
|
# not in yet
|
|
#XXXX $status = alphablend_test;
|
|
delay;
|
|
if ($failed) {
|
|
return(-1);
|
|
}
|
|
|
|
delay;
|
|
$testnum = "_97"
|
|
# not in yet
|
|
#XXXX $status = scene_test;
|
|
delay;
|
|
if ($failed) {
|
|
return(-1);
|
|
}
|
|
|
|
# led 1
|
|
delay
|
|
drawclose;
|
|
|
|
echo "******** RE/PP Test Suite Execution Completed ********"
|
|
}
|
|
|
|
rdram_mem_quick {
|
|
$failed =0;
|
|
report = 3;
|
|
echo "------ Executing FRAME BUFFER QUICK Test Suite ------"
|
|
|
|
drawsetup
|
|
if (mg_gfxconsole)
|
|
$testnum = "_89"
|
|
$status = mg_dma_pp -r0 -e0 -w0 -d0 -b 0x240 -p0 -x 0 -y 4 -z 12 -m 0 0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
}
|
|
|
|
rdram_mem {
|
|
$failed =0;
|
|
report = 4;
|
|
echo "------ Executing FRAME BUFFER Test Suite ------"
|
|
# Z Buffer Test
|
|
|
|
drawsetup
|
|
if (mg_gfxconsole)
|
|
$testnum = "_89"
|
|
$status = mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0 -p3 -x 0x0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
# Color Buffer Test
|
|
if (mg_gfxconsole)
|
|
$testnum = "_90"
|
|
$status = mg_dma_pp -r0 -e0 -w0 -d0 -b 0x240 -p3 -x 0x0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
# Overlay Buffer Test
|
|
if (mg_gfxconsole)
|
|
$testnum = "_91"
|
|
$status = mg_dma_pp -r0 -e0 -w0 -d0 -b 0x1c0 -p3 -x 0x0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
$tmp = mg_setnumre4s -q
|
|
if ($tmp == 2) {
|
|
# Display Buffer-CD Test
|
|
if (mg_gfxconsole)
|
|
$testnum = "_92"
|
|
$status = mg_dma_pp -r0 -e0 -w0 -d0 -b 0x320 -p3 -x 0x0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
# ACC36 or AUX 0 Buffer
|
|
if (mg_gfxconsole)
|
|
$testnum = "_93"
|
|
$status = mg_dma_pp -r0 -e0 -w0 -d0 -b 0x0e0 -p3 -x 0x0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
}
|
|
|
|
|
|
echo "******** FRAME BUFFER Test Suite Execution Completed ********"
|
|
report = 4;
|
|
}
|
|
|
|
|
|
# needed
|
|
tram_mem {
|
|
$failed =0;
|
|
mg0_clear_color; ide_delay -s 2 ;
|
|
delay;
|
|
echo "------ Executing TRAM Memory Test Suite ------"
|
|
delay
|
|
mg_tram_rev_nobuff
|
|
delay;
|
|
$testnum = "_94"
|
|
$status = mg_dma_tram -m 3 -e 0
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
delay
|
|
$foo = mg_setnumre4s -q
|
|
delay
|
|
if ($foo == 2) {
|
|
$testnum = "_95"
|
|
$status = mg_dma_tram -m 3 -e 0 -n 1
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
}
|
|
}
|
|
|
|
# needed
|
|
re4flextest {
|
|
buffon;
|
|
$failed =0;
|
|
if ($solid) {
|
|
echo "------ HQ <---> RSS Bus Test ------"
|
|
} else {
|
|
echo "------ High Density Flex (HQ<->RE) Connectivity Test ------"
|
|
}
|
|
$testnum = "_96"
|
|
$status = mg_hq3 4
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
resetcons; buffoff;
|
|
}
|
|
|
|
|
|
mg_test_all {
|
|
$failed = 0;
|
|
mg_setboard; mg_hqfifoinit;
|
|
report=4;
|
|
repeat 3 {
|
|
delay;
|
|
}
|
|
buffon
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
$solid = mg_issolid;
|
|
# if (mg_setboard) {
|
|
# delay; mg_hqfifoinit;
|
|
# $status = #XXXXmg_reset;
|
|
# $solid = mg_issolid;
|
|
# delay;
|
|
# delay;
|
|
# resetcons;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return (-1);
|
|
# }
|
|
# } else {
|
|
# allsetup;
|
|
# if ($failed) {
|
|
# echo "Initializing graphics failed"
|
|
# return (-1)
|
|
# }
|
|
# }
|
|
|
|
delay;
|
|
delay;
|
|
$status = hq3test;
|
|
if ($failed) {
|
|
echo "hq3test FAILED"
|
|
echo "The GD Board may be BAD"
|
|
return($status);
|
|
}
|
|
|
|
mg_rtfifo_loop;
|
|
if ($failed == 1)
|
|
return (-1);
|
|
report=4;
|
|
|
|
|
|
$status = re4flextest;
|
|
if ($failed) {
|
|
echo "Flex Test FAILED"
|
|
if ($solid == 0) {
|
|
echo "The RA/RB Board may be BAD"
|
|
}
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
|
|
#XXX resetcons;
|
|
#XXX mg_setboard; delay; mg_hqfifoinit;
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
delay;
|
|
delay;
|
|
resetcons;
|
|
|
|
# report=2
|
|
# $status = mg_dcbdma_tests;
|
|
# if ($failed == 1) {
|
|
# return (-1);
|
|
# }
|
|
# report=4
|
|
|
|
$status = bkend;
|
|
if ($failed) {
|
|
echo "bkend FAILED"
|
|
if ($vc3fail) {
|
|
echo "The GD Board may be BAD"
|
|
$vc3fail = 0;
|
|
} else {
|
|
echo "The RA Board may be BAD"
|
|
}
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
#XXX report=2
|
|
#XXX $status = mg_dcbdma_tests;
|
|
#XXX if ($failed == 1) {
|
|
#XXX return (-1);
|
|
#XXX }
|
|
#XXX report=4
|
|
|
|
# resetcons;
|
|
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
report=2
|
|
$ge_no = mg_queryGE;
|
|
if ($ge_no == 2) # 2 GE system
|
|
{
|
|
echo "Testing 2GE system...."
|
|
$testnum = "_41"
|
|
#XXXX $status = tge_test;
|
|
}
|
|
if ($failed) {
|
|
echo "tge_test FAILED"
|
|
echo "The GD Board may be BAD"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
if ($ge_no == 1) # 1 ge system
|
|
{
|
|
echo "Testing 1GE system...."
|
|
$testnum = "_44"
|
|
#XXXX $status = ge0_test;
|
|
}
|
|
|
|
if ($failed) {
|
|
echo "ge_test FAILED"
|
|
echo "The GD Board may be BAD"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
repeat 4 delay;
|
|
|
|
allsetup;
|
|
if ($failed) {
|
|
resetcons; buffoff;
|
|
return(-1);
|
|
}
|
|
|
|
buffon
|
|
|
|
report=4
|
|
$status = re4test;
|
|
if ($failed) {
|
|
echo "re4test FAILED"
|
|
echo "The RA/RB Board may be BAD"
|
|
resetcons; buffoff;
|
|
return(-1);
|
|
}
|
|
$status = dmatest;
|
|
if ($failed) {
|
|
echo "dmatest FAILED"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
$status = rdram_mem_quick;
|
|
if ($failed) {
|
|
echo "RDRAM QUICK FAILED"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
if ($quick == 0) {
|
|
$status = rdram_mem;
|
|
if ($failed) {
|
|
echo "RDRAM FAILED"
|
|
echo "The RA/RB Board may be BAD"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
}
|
|
|
|
delay; delay; delay; delay; delay;
|
|
delay; delay; delay; delay; delay;
|
|
|
|
$status = repp_test;
|
|
if ($failed) {
|
|
echo "repp_test FAILED"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
delay; delay; delay; delay; delay;
|
|
delay; delay; delay; delay; delay;
|
|
|
|
|
|
# allsetup;
|
|
# if ($failed) {
|
|
# resetcons; buffoff;
|
|
# return(-1);
|
|
# }
|
|
# delay;
|
|
# delay;
|
|
# $status = mg_reset;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return (-1);
|
|
# }
|
|
# delay;
|
|
resetcons; buffoff;
|
|
buffon;
|
|
|
|
# perform TRAM memory and TEXTURE draw tests for Max/High Only
|
|
# if (($solid == 1) && ($tram == 0)) {
|
|
#XXXX $status = mg_setnumtrams ;
|
|
|
|
#XXXX if ($status == 0) {
|
|
#XXXX echo "No Texture Subsystem for MG10"
|
|
#XXXX echo "Tests for Texture Subsystem are skipped..."
|
|
#XXXX } else {
|
|
#XXXX if ($quick == 0) {
|
|
#XXXX echo "Testing TRAM memory"
|
|
#XXXX repeat 3 {
|
|
#XXXX delay;
|
|
#XXXX }
|
|
#XXXX $status = tram_mem;
|
|
#XXXX if ($failed) {
|
|
#XXXX echo "tram test FAILED"
|
|
#XXXX echo "The RA/RB Board may be BAD"
|
|
#XXXX resetcons; buffoff;
|
|
#XXXX return(-1);
|
|
#XXXX }
|
|
#XXXX }
|
|
|
|
#XXXX $status = mg_rtdma2tram ;
|
|
#XXXX if ($failed == 1) {
|
|
#XXXX return (-1);
|
|
#XXXX }
|
|
|
|
#XXXX $testnum = "_96"
|
|
#XXXX $status = tex_draw_test
|
|
#XXXX if ($failed) {
|
|
#XXXX echo "tex_draw_test FAILED"
|
|
#XXXX echo "The RA/RB Board may be BAD"
|
|
#XXXX resetcons; buffoff;
|
|
#XXXX return(-1);
|
|
#XXXX }
|
|
#XXXX }
|
|
|
|
echo ""
|
|
echo " All tests have passed"
|
|
delay;
|
|
delay;
|
|
# $status = mg_reset;
|
|
# if ($status) {
|
|
# $failed = 1;
|
|
# return (-1);
|
|
# }
|
|
resetcons; buffoff;
|
|
report=4
|
|
}
|
|
|
|
# short/fast gfx for short_tests: put together from scratch
|
|
short_gfx {
|
|
$failed = 0;
|
|
# report=4;
|
|
repeat 3 {
|
|
delay;
|
|
}
|
|
buffon
|
|
mg_reset;
|
|
$solid = mg_issolid;
|
|
|
|
delay;
|
|
delay;
|
|
# really testing HQ4
|
|
$status = hq3test;
|
|
if ($failed) {
|
|
echo "hq3test (testing HQ4) FAILED"
|
|
echo "The GD Board may be BAD"
|
|
return($status);
|
|
}
|
|
|
|
$status = re4flextest;
|
|
if ($failed) {
|
|
echo "Flex Test FAILED"
|
|
if ($solid == 0) {
|
|
echo "The RA/RB Board may be BAD"
|
|
}
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
delay;
|
|
delay;
|
|
resetcons;
|
|
|
|
$status = bkend;
|
|
if ($failed) {
|
|
echo "bkend FAILED"
|
|
if ($vc3fail) {
|
|
echo "The GD Board may be BAD"
|
|
$vc3fail = 0;
|
|
} else {
|
|
echo "The RA Board may be BAD"
|
|
}
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
$status = mg_reset;
|
|
if ($status) {
|
|
$failed = 1;
|
|
return (-1);
|
|
}
|
|
|
|
$status = re4test;
|
|
if ($failed) {
|
|
echo "re4test FAILED"
|
|
echo "The RA/RB Board may be BAD"
|
|
resetcons; buffoff;
|
|
return(-1);
|
|
}
|
|
$status = dmatest;
|
|
if ($failed) {
|
|
echo "dmatest FAILED"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
delay; delay; delay; delay; delay;
|
|
|
|
$status = repp_test;
|
|
if ($failed) {
|
|
echo "repp_test FAILED"
|
|
echo "The RA/RB Board may be BAD"
|
|
resetcons; buffoff;
|
|
return($status);
|
|
}
|
|
|
|
delay; delay; delay; delay; delay;
|
|
delay; delay; delay; delay; delay;
|
|
|
|
resetcons; buffoff;
|
|
buffon;
|
|
|
|
echo ""
|
|
echo " All tests have PASSED"
|
|
delay;
|
|
delay;
|
|
|
|
# report = 0;
|
|
}
|
|
# end of short_gfx
|
|
|
|
mg_test_all_tram {
|
|
$tram = 1;
|
|
#XXXX mg_setnumtrams -c 4;
|
|
mg_test_all
|
|
$tram = 0;
|
|
}
|
|
|
|
# separate from mg_test_all: may need to be included XXX
|
|
mg_test_tram {
|
|
allsetup;
|
|
tram_mem;
|
|
if ($failed) {
|
|
echo "tram test FAILED"
|
|
resetcons; buffoff;
|
|
return(-1);
|
|
}
|
|
$status = tex_draw_test;
|
|
if ($failed) {
|
|
echo "tex_draw test FAILED"
|
|
resetcons; buffoff;
|
|
return(-1);
|
|
}
|
|
}
|
|
|
|
# from IP28/field
|
|
gm_gfx {
|
|
$impact_failed = 2;
|
|
$failed = 0;
|
|
echo "Testing graphics"
|
|
mg_test_all;
|
|
if ($failed) {
|
|
echo "ERROR: Failure detected on board"
|
|
$impact_failed = 1;
|
|
}
|
|
else
|
|
{
|
|
$impact_failed = 0;
|
|
}
|
|
$solid = mg_issolid;
|
|
if ($solid == 0) {
|
|
echo "Testing TMEZZ card"
|
|
mg_test_tram;
|
|
if ($failed) echo "ERROR: Failure detected on TMEZZ board"
|
|
else echo "TMEZZ board test PASSED"
|
|
}
|
|
}
|
|
# gfx includes gm10/20 and tmezz if applicable
|
|
gfx {
|
|
$mardi_gras = mg_probe;
|
|
if ($mardi_gras) {
|
|
gm_gfx;
|
|
}
|
|
}
|
|
tmezz {
|
|
$solid = mg_issolid;
|
|
if ($solid == 0) {
|
|
mg_test_tram;
|
|
}
|
|
}
|
|
|
|
#
|
|
# end of gfx
|
|
#
|
|
|
|
init_vars {
|
|
# gfx
|
|
$impact_failed = 2;
|
|
$quick = 1; # can be switched to 0 for more extensive and longer tests
|
|
$repprdram_sync = 1;
|
|
$tram = 0;
|
|
$vc3fail = 0;
|
|
$testnum = "";
|
|
$solid = 0;
|
|
$failed = 0;
|
|
}
|
|
|
|
#
|
|
# all tests, dont use name "all" because it confuses help command
|
|
#
|
|
short_tests {
|
|
init_vars;
|
|
|
|
# processor module
|
|
pm;
|
|
|
|
# main logic board:
|
|
ip30;
|
|
|
|
# some memory
|
|
# Kh test
|
|
$tmp = memtest 1;
|
|
if ($tmp) {
|
|
wait;
|
|
}
|
|
|
|
# frontplane (also called backplane sometimes)
|
|
# the frontplane is not included yet as the sable model for xbow is incomplete
|
|
frontplane;
|
|
}
|
|
|
|
long_tests {
|
|
# short tests, including gfx
|
|
short_tests;
|
|
|
|
# lots of memory
|
|
memory;
|
|
}
|
|
|