1
0
Files
2022-09-29 17:59:04 +03:00

2646 lines
49 KiB
Plaintext

#########################################################################
# IP28 Script - Includes PM, CPU, MEM, and GFX TESTS #
#########################################################################
report=4 # set verbose, but not debug
$stoponerr=1
$failed = 0;
$oven = 0;
$quick = 0;
$solid = 0;
$gounix = 1;
$skip_timer = 0;
$skip_eisa = 0;
$testnum=""
$vc3fail=0;
$bothslots=0;
$slot=0;
$suite=0;
$ext_duart_on=0;
hinv -v
delay {
ide_delay -s 2;
}
cv_low {
echo "Changing Voltage to 4.75V"
chg_volt 1;
repeat 8 {
delay;
}
chg_volt 0;
repeat 8 {
delay;
}
}
cv_nom {
echo "Changing Voltage to 5.00V"
chg_volt 1;
repeat 8 {
delay;
}
}
cv_high {
echo "Changing Voltage to 5.25V"
chg_volt 1;
repeat 8 {
delay;
}
chg_volt 2;
repeat 8 {
delay;
}
}
unix {
echo "<<<< About to boot UNIX......>>>>"
boot dksc(0,1,0)unix;
}
send_boot_msg {
boot -f $1
}
#########################################################################
# Processor Module Tests and Scripts #
#########################################################################
pm {
echo "PMT5 Processor Module Tests...."
$testnum = "_001"
if(tlb) {
echo "Failure detected in tlb test"
$failed=1;
return(-1);
}
$testnum = "_002"
if(utlb) {
echo "Failure detected in utlb test"
$failed=1;
return(-1);
}
$testnum = "_003"
$tmp = dcache1
if($tmp) {
echo "Failure detected in dcache1 test"
$failed=1;
return(-1);
}
$testnum = "_004"
$tmp = icache1
if($tmp) {
echo "Failure detected in icache1 test"
$failed=1;
return(-1);
}
$testnum = "_005"
$tmp = icache2
if($tmp) {
echo "Failure detected in icache2 test"
$failed=1;
return(-1);
}
$testnum = "_006"
if(scache1) {
echo "Failure detected in scache1 test"
$failed=1;
return(-1);
}
$testnum = "_007"
if(fpu) {
echo "Failure detected in fpu test"
$failed=1;
return(-1);
}
$testnum = "_008"
if(ecc) {
echo "Failure detected in ecc test"
$failed=1;
return(-1);
}
echo "PMT5 Processor Module Tests Passed...."
}
#########################################################################
# Memory Tests and Scripts #
#########################################################################
memory {
echo "Memory tests...."
$testnum = "_100"
$tmp = memtest;
if ($tmp) {
echo "Failure detected in memtest test"
$failed = 1;
return(-1);
}
if ($oven) {
boot -f bootp()memtest.pass;
}
$testnum = "_101"
$tmp = ldram;
if ($tmp) {
echo "Failure detected in ldram test"
$failed = 1;
return(-1);
}
if ($oven) {
boot -f bootp()ldram.pass;
}
$testnum = "_102"
$tmp = dram;
if ($tmp) {
echo "Failure detected in dram test"
$failed = 1;
return(-1);
}
if ($oven) {
boot -f bootp()dram.pass;
}
$testnum = "_103"
if(lkh_aa) {
echo "Failure detected in lkh_aa test"
$failed=1;
return(-1);
}
if ($oven) {
boot -f bootp()lkh_aa.pass;
}
$testnum = "_104"
$tmp = memtest 3
if($tmp) {
echo "Failure detected in local memory Kh test"
$failed=1;
return(-1);
}
if ($oven) {
boot -f bootp()memtest_3.pass;
}
$testnum = "_105"
$tmp = memtest 0
if($tmp) {
echo "Failure detected in Address Uniqueness test"
$failed=1;
return(-1);
}
if ($oven) {
boot -f bootp()memtest_0.pass;
}
$testnum = "_106"
$tmp = memtest 7
if($tmp) {
echo "Failure detected in Butterfly test"
$failed=1;
return(-1);
}
if ($oven) {
boot -f bootp()memtest_7.pass;
}
$testnum = "_107"
$tmp = memtest 9
if($tmp) {
echo "Failure detected in March Y test"
$failed=1;
return(-1);
}
if ($oven) {
boot -f bootp()memtest_9.pass;
}
echo "Memory tests Passed...."
}
#########################################################################
# Audio Tests and Scripts #
#########################################################################
#########################################################################
# MEM, INT and SCSI tests and scripts #
#########################################################################
ip {
echo "IP28 interrupt, duart, scsi tests...."
$tmp = 0;
$testnum = "_200"
if(int2) {
echo "Failure detected in int2 test"
$failed=1;
return(-1);
}
$testnum = "_201"
if(hpc3) {
echo "Failure detected in hpc3 test"
$failed=1;
return(-1);
}
if ($skip_timer !=1) {
$testnum = "_202"
if(clock) {
echo "Failure detected in clock test"
$failed=1;
return(-1);
}
$testnum = "_203"
if(timer) {
echo "Failure detected in timer test"
$failed=1;
return(-1);
}
}
# only run duart tests if outside of the ASRS and $ext_duart_on == 1
if ($oven == 0) {
ttyprint 0
$ext_duart_on = 0;
if ($ext_duart_on == 1) {
$testnum = "_210"
$tmp= duart -e0;
if($tmp) {
echo "Failure detected in duart e0 test"
$failed=1;
return(-1);
}
}
$ext_duart_on = 1;
if ($ext_duart_on == 1) {
$testnum = "_211"
$tmp= duart -e1;
if($tmp) {
echo "Failure detected in duart e1 test"
$failed=1;
return(-1);
}
ttyprint 1
}
$ext_duart_on = 0;
}
ttyprint 0
$testnum = "_204"
$tmp = duart -i1;
if($tmp) {
resetcons 1;
echo "Failure detected in duart test"
$failed=1;
return(-1);
}
ttyprint 1
if ($skip_eisa != 1) {
$testnum = "_205"
if(eisa) {
echo "Failure detected in eisa test"
$failed=1;
return(-1);
}
}
$testnum = "_206"
$scsi_status = scsi;
if($scsi_status) {
echo "Failure detected in SCSI test"
$failed=1;
return(-1);
}
if ($oven == 0) {
$testnum = "_212"
if(print3){
echo "Failure detected in print3 test"
$failed=1;
return(-1);
}
}
echo "IP28 interrupt, duart, scsi tests Passed...."
}
#########################################################################
# ALL IP28 (PM/CPU/MEM/AUDIO/SCSI) TESTS and SCRIPTS #
#########################################################################
ip28 {
echo "ALL Tests in IP28...."
$skip_eisa = 0;
$skip_timer = 0;
$failed = 0;
if ($oven == 0) {
if (pwjumper) {
echo "Please install the jumper at location JP1\n"
$failed=1;
return(-1);
}
}
pm;
if($failed) {
echo "PMT5 Tests FAILED"
return(-1);
} else if ($oven) {
boot -f bootp()pm1.pass;
}
if ($oven) {
memory;
if($failed) {
return(-1);
}
} else {
echo "Memory Tests...."
$tmp = memtest;
if ($tmp) {
echo "MEMORY Tests FAILED"
$failed = 1;
return(-1);
}
echo "Memory Tests Passed...."
}
ip;
if($failed) {
echo "IP28 Tests FAILED"
return(-1);
} else if ($oven) {
boot -f bootp()ip.done;
}
echo "ALL Tests in IP28 Passed...."
}
#########################################################################
# ALL IP28 (PM/CPU/MEM/AUDIO/SCSI) WITH VOLTAGE CHANGES #
#########################################################################
ip28va {
$skip_timer = 0;
$skip_eisa = 0;
$failed =0;
cv_low;
ip28;
if ($failed) {
return(-1);
}
cv_high;
ip28;
if ($failed) {
return(-1);
}
}
#########################################################################
# IMPACT GRAPHICS TESTS and SCRIPTS #
#########################################################################
gioslot {
$tmp = mg_setboard 0;
if ($tmp) {
echo "Found boards in slot 0"
}
else {
$tmp = mg_setboard 1;
if ($tmp) {
echo "Found boards in slot 1"
}
else {
echo "No boards found in slot 0 or slot 1"
}
}
}
# allows colors to be correct for drawings
drawsetup {
delay;
# mg_gfxreset;
# mg_set_0ge;
# mg_reset;
delay;
delay;
mg_xmapinit;
}
enabdisp {
mg_pokexmap -r XMAP_DIB_CTRL0 -d 0x100
}
allsetup {
$failed =0;
mg_gfxreset;
delay;
gioslot
delay;
mg_set_0ge;
delay;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
delay;
resetcons
if (!mg_gfxconsole) {
$status = mg_sync_repp
if ($status) {
$failed = 1;
return (-1);
}
$status = mg_sync_pprdram
if ($status) {
$failed = 1;
return (-1);
}
mg_xmapinit
$status = mg_rdram_ccsearch
if ($status) {
$failed = 1;
return (-1);
}
mg_initppregs
enabdisp
mg0_clear_color
}
$solid = mg_issolid;
}
re4setup {
$failed =0;
echo "Calling mg_gfxreset"
mg_gfxreset;
delay;
echo "Calling gioslot"
gioslot
delay;
echo "Calling mg_set_0ge"
mg_set_0ge;
delay;
echo "Calling mg_re4reset"
$status = mg_re4reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
delay;
resetcons
$solid = mg_issolid;
}
ppsetup {
$failed =0;
if (!mg_gfxconsole) {
echo
echo "Syncing RA Board - re4 to pp0"
mg_sync_repp -r 0 -p 0
delay
echo "Syncing RA Board - re4 to pp1"
mg_sync_repp -r 0 -p 1
delay
$tmp = mg_setnumre4s -q
echo
echo "Syncing RA Board - pp0 to rdram-0"
mg_sync_pprdram_repair -r 0 -p 0 -d 0
delay
echo "Syncing RA Board - pp0 to rdram-1"
mg_sync_pprdram_repair -r 0 -p 0 -d 1
delay
echo "Syncing RA Board - pp0 to rdram-2"
mg_sync_pprdram_repair -r 0 -p 0 -d 2
delay
echo "Syncing RA Board - pp1 to rdram-0"
mg_sync_pprdram_repair -r 0 -p 1 -d 0
delay
echo "Syncing RA Board - pp1 to rdram-1"
mg_sync_pprdram_repair -r 0 -p 1 -d 1
delay
echo "Syncing RA Board - pp1 to rdram-2"
mg_sync_pprdram_repair -r 0 -p 1 -d 2
delay
$tmp = mg_setnumre4s -q
if ($tmp == 2) {
echo;
echo "Syncing RB Board - re4 to pp0"
mg_sync_repp -r 0 -p 0
delay
echo "Syncing RB Board - re4 to pp1"
mg_sync_repp -r 0 -p 1
delay
echo;
echo "Syncing RB Board - pp0 to rdram-0"
mg_sync_pprdram_repair -r 1 -p 0 -d 0
delay
echo "Syncing RB Board - pp0 to rdram-1"
mg_sync_pprdram_repair -r 1 -p 0 -d 1
delay
echo "Syncing RB Board - pp0 to rdram-2"
mg_sync_pprdram_repair -r 1 -p 0 -d 2
delay
echo "Syncing RB Board - pp1 to rdram-0"
mg_sync_pprdram_repair -r 1 -p 1 -d 0
delay
echo "Syncing RB Board - pp1 to rdram-1"
mg_sync_pprdram_repair -r 1 -p 1 -d 1
delay
echo "Syncing RB Board - pp1 to rdram-2"
mg_sync_pprdram_repair -r 1 -p 1 -d 2
delay
}
echo
echo "Calling mg_sync_pprdram to sync everybody together"
mg_sync_pprdram
echo "Calling mg_xmapinit"
mg_xmapinit
delay; delay
echo "Calling mg_rdram_ccsearch"
mg_rdram_ccsearch
delay
echo "Calling mg_initppregs"
mg_initppregs
delay
echo "Calling enabdisp"
enabdisp
delay
echo "Calling mg0_clear_color"
mg0_clear_color
}
$solid = mg_issolid;
}
bkendsetup {
$failed = 0;
echo "Calling mg_bkendreset to do some setup..."
mg_bkendreset;
echo "Calling mg_dacreset..."
mg_dacreset;
echo "Calling mg_vc3reset..."
$status = mg_vc3reset;
if ($status) {
$failed = 1;
echo; echo "VC3 reset returned an error. The VC3 may be bad"
echo;
return (-1);
}
echo "Calling mg_vc3init -t 0x107 to load 1280x1024_60 table"
mg_vc3init -t 0x107;
echo "Calling mg_progcmap 0x0 to load the cmaps with a linear ramp"
mg_progcmap 0x0;
echo "Calling mg_gammaprog 0x0 to load the gamma tables with a linear ramp"
mg_gammaprog 0x0;
echo "Calling mg_vc3init -t 0x107 (2nd time)"
mg_vc3init -t 0x107;
enabdisp
mg0_clear_color
$solid = mg_issolid;
}
alphablend_test {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
drawsetup;
mg0_clear_color
mg_vc3clearcursor
$status = mg_alphablend
if ($status) {
$failed = 1;
echo;
echo " -- ERROR"
echo;
echo; echo "RDRAM readback FAILED"; echo;
}
delay; delay;
$status = mg_crc_test -r 0x21 -g 0x23e -b 0x2b6;
if ($status) {
$failed = 1;
echo;
echo " -- ERROR"
echo
echo; echo "CRC FAILED"; echo
echo "alpha blending test with crc check - FAILED"; echo
}
else {
echo "alpha blending test with crc check - PASSED"
}
}
scene1 {
mg0_clear_color
fpusetup
mg0_tri -x 0 1000 0 100 0 0 0 -d 1200 500 0 0 100 0 0 -n 0 0 0 0 0 100 0
fpusetup
mg0_tri -x 100 200 0 99 6 8 2 -d 150 100 0 50 96 9 1 -n 0 20 0 0 6 98 7
mg0_line -x 1000 1000 0 100 100 0 0 -n 0 0 0 100 100 0 0
mg0_line -x 0 1000 0 100 0 100 0 -n 1000 0 0 100 100 0 0
mg0_clear_color -t 500 500 -d 600 600
mg0_point -x 551 -y 551 -r 100 -g100 -b100 -a100
mg0_rect -t 900 100 -d 1000 200 -r100 -g 20 -b 100
}
scene1_overlay {
mg0_tri -x 500 900 0 100 0 0 0 -d 0 400 0 50 100 0 0 -n 90 0 0 0 0 100 0 -b 0x41
mg0_rect -t 1100 100 -d 1200 200 -r100 -g 20 -b 100 -f 0x41
mg0_line -x 100 500 0 100 0 0 0 -n 800 0 0 100 0 0 0 -f 0x41
mg0_point -x 600 -y 500 -r 100 -f 0x41
mg0_point -x 610 -y 500 -r 100 -f 0x41
mg0_point -x 590 -y 500 -r 100 -f 0x41
mg0_clear_color -f 0x41 -r 100 -t 800 700 -d 900 800
}
scene_test {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
drawsetup
mg_vc3clearcursor;
echo "------ Executing Scene Test with CRC ------"
echo "------ Testing the scene in the display buffer ------"
scene1
if ((mg_gfxconsole) && ($bothslots ==1) && ($slot == 1)) {
# for ge medical, dual head
$status = mg_crc_test -r 0x84 -g 0x10f -b 0x35e;
}
else {
$status = mg_crc_test -r 0x18a -g 0xa4 -b 0x18e;
}
if ($status) {
$failed = 1;
echo;
echo " -- ERROR"
echo
echo; echo "CRC FAILED"; echo
echo "scene in the display buffer with crc check - FAILED"
}
else {
echo "scene in the display buffer with crc check - PASSED"
}
echo "------ Testing the scene in the overlay buffer ------"
mg_overlay_on;
mg0_clear_color -f 0x41;
mg_enabdisp_overlay;
scene1_overlay;
$tmp = mg_setnumre4s -q
if ($tmp == 2) {
$status = mg_crc_test -r 0x233 -g 0x4b -b 0xd1;
}
else {
if ((mg_gfxconsole) && ($bothslots ==1) && ($slot == 1)) {
# for ge medical, dual head
$status = mg_crc_test -r 0x24b -g 0x39d -b 0x22;
}
else {
$status = mg_crc_test -r 0x345 -g 0x236 -b 0x2f2;
}
}
if ($status) {
$failed = 1;
echo;
echo " -- ERROR"
echo
echo; echo "CRC FAILED"; echo
echo "scene in the overlay buffer with crc check - FAILED"; echo
}
else {
echo "scene in the overlay buffer with crc check - PASSED"
}
mg_disabdisp_overlay;
mg_overlay_off;
echo "******** Scene Test with CRC Execution Completed ********"
}
mg_tram_rev_nobuff {
$status = mg_dma_tram -r -e 1 -p
if ($status) {
$failed = 1;
return (-1);
}
$foo = mg_setnumre4s -q
if ($foo == 2) {
$status = mg_dma_tram -r -e 1 -p -n 1
if ($status) {
$failed = 1;
return (-1);
}
}
}
hq3test {
echo "------ Executing Hq3 Test Suite ------"
$failed = 0;
buffon;
mg_gfxreset;
delay;
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_gfxreset;
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);
}
echo "******** Hq3 Test Suite Execution Completed ********"
resetcons; buffoff
}
# GE11 test scripts
gioslot_2GE {
$tmp = mg_setboard 0;
if ($tmp) {
echo "Mgras Gfx init to GIO Slot 0 "
mg_setboard 0 2;
}
else {
$tmp = mg_setboard 1;
if ($tmp) {
echo "Found boards in slot 1"
mg_setboard 1 2;
}
else {
echo "No boards found in slot 0 or slot 1"
}
}
}
ge_ucode_test {
$status = mg_ge_reg
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_ucode_dbus
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_ucode_abus
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_ucode_a
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_ucode_m
if ($status) {
$failed = 1;
return(-1);
}
}
ge0_ucode {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if ($ge_no == 0)
{
echo "GE11 doesn't exist";
}
else if ($ge_no == 1){
echo "testing GE0 Ucode memory....";
gioslot;
buffon;
mg_gfxreset;
mg_set_ge 0;
ge_ucode_test;
}
else if ($ge_no == 2) {
echo "testing GE0(2GE system) Ucode memory....";
gioslot_2GE;
buffon;
mg_gfxreset;
mg_set_ge 0;
ge_ucode_test;
}
}
ge1_ucode {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if ($ge_no == 2)
{
echo "testing GE1 Ucode memory....";
gioslot_2GE;
buffon;
mg_gfxreset;
mg_set_ge 1;
ge_ucode_test;
}
else {
echo "GE11 doesn't exist";
}
}
getest {
$status = mg_ge_cram;
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_eram;
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_wram;
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_alu;
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_dreg;
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_inst;
if ($status) {
$failed = 1;
return(-1);
}
$status = mg_ge_dma;
if ($status) {
$failed = 1;
return(-1);
}
echo "******** GE Test Suite Execution Completed ********"
}
ge0_setup {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if ($ge_no == 0)
{
echo "No GE11 exists";
}
if ($ge_no == 2) {
echo "------ Executing GE0 test setup ------"
gioslot_2GE;
$status = mg_hq3_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_gfxreset;
mg_set_ge 0;
$status = mg_ge11_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_ge_go;
}
if ($ge_no == 1) {
echo "------ Executing GE0 test setup ------"
gioslot_2GE;
mg_set_ge 0;
$status = mg_hq3_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_gfxreset;
delay;
$status = mg_ge11_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_ge_go;
}
# buffoff; resetcons;
}
ge0_test {
$failed =0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if($ge_no == 0)
{
echo "No GE11 exists";
}
else {
echo "------ Executing GE Test Suite on :: GE0 ------"
if ($quick == 0) {
ge0_ucode;
if ($failed) {
return (-1);
}
}
ge0_setup;
buffon
delay;
mg_gfxreset
$status = getest;
if ($status) {
$failed = 1;
return(-1);
}
}
# buffoff; resetcons;
}
ge1_setup {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
buffon;
if($ge_no == 2)
{
echo "------ Executing GE1 test setup ------"
gioslot_2GE;
buffon
mg_gfxreset;
mg_set_2ge;
mg_set_ge 0;
$status = mg_hq3_dnload;
if ($status) {
$failed = 1;
return (-1);
}
$status = mg_ge11_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_ge_go;
mg_set_ge 1;
$status = mg_ge11_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_ge_go;
mg_gfxreset;
mg_set_2ge;
mg_set_ge 0;
mg_nextge;
mg_set_ge 1;
}
if($ge_no == 1)
{
echo "GE11_1 doesn't exist";
}
buffoff; resetcons;
}
ge1_test {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
buffon;
if($ge_no == 2)
{
mg_gfxreset;
echo "------ Executing GE Test Suite :: GE1 ------"
if ($quick == 0) {
ge1_ucode;
if ($failed) {
return (-1);
}
}
ge1_setup;
$status = getest;
if ($status) {
$failed = 1;
return(-1);
}
}
if($ge_no == 1)
{
echo "GE11_1 doesn't exist";
}
buffoff; resetcons;
}
tge_setup {
$failed = 0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if ($ge_no == 2)
{
echo "=== tge_setup ===";
gioslot_2GE;
buffon;
$status = mg_hq3_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_gfxreset;
delay;
mg_set_ge 0;
$status = mg_ge11_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_ge_go;
mg_set_ge 1;
$status = mg_ge11_dnload;
if ($status) {
$failed = 1;
return (-1);
}
mg_ge_go;
mg_set_ge 0;
resetcons; buffoff;
}
if($ge_no == 1)
{
echo "Setup GE11_0 only";
ge0_setup;
}
if($ge_no == 0)
{
echo "NO ge11 exists";
}
buffoff; resetcons;
}
tge_test {
$failed =0;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if ($ge_no == 2)
{
if ($quick == 0) {
ge0_ucode;
if ($failed) {
return (-1);
}
ge1_ucode;
if ($failed) {
return (-1);
}
}
tge_setup;
gioslot_2GE;
buffon
mg_gfxreset
delay;
mg_set_2ge;
mg_set_ge 0
mg_ge_go
mg_set_ge 1
mg_ge_go
mg_set_ge 0
echo " testing GE0 COREs....";
$status = getest;
if ($status) {
$failed = 1;
resetcons; buffoff;
return(-1);
}
mg_nextge;
mg_set_ge 1;
mg_ge_go
echo " testing GE1 COREs....";
$status = getest
if ($status) {
$failed = 1;
resetcons; buffoff;
return(-1);
}
resetcons; buffoff
}
if ($ge_no == 1)
{
echo "Test only GE11_0";
$status = ge0_test;
if ($status) {
$failed = 1;
resetcons; buffoff;
return(-1);
}
resetcons; buffoff
}
if ($ge_no == 0)
{
echo "No GE11 exists";
}
}
# End of Ge test scripts
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 ********"
}
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 ********"
}
cmaptest {
echo "------ Executing CMAP Test Suite ------"
$testnum = "_23"
$status = mg_vc3init -t 0x555;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_24"
$status = mg_cmaprev;
mg_dispcmapcnt;
if (!$status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_25"
$status = mg_cmapdatabus 0;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_26"
$status = mg_cmapaddrsbus 0;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_27"
$status = mg_cmappatrn -w 0;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_28"
$status = mg_cmapaddrsuniq 0;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_29"
$status = mg_cmapdatabus 1;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_30"
$status = mg_cmapaddrsbus 1;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_31"
$status = mg_cmappatrn -w 1;
mg_dispcmapcnt;
if ($status) {
$failed = 1;
return (-1);
}
mg_clrcmpcnt;
$testnum = "_32"
$status = mg_cmapaddrsuniq 1;
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 ********"
}
bkend {
$failed =0;
gioslot;
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;
$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;
# $testnum = "_39"
# mg_stoptiming;
# $status = mg_vc3init -t 0x107
# if ($status) {
# $failed = 1;
# return(-1);
# }
$testnum = "_40"
mg_starttiming;
$status = mg_crcwalk;
if ($status) {
$failed = 1;
return(-1);
}
# $testnum = "_41"
# $status = mg_reset;
# if ($status) {
# $failed = 1;
# return(-1);
# }
#
# $testnum = "_42"
# mg_stoptiming;
# $status = mg_vc3init -t 0x130
# if ($status) {
# $failed = 1;
# return(-1);
# }
# $testnum = "_43"
# mg_starttiming;
# $status = mg_crcwalk;
# if ($status) {
# $failed = 1;
# return(-1);
# }
# $testnum = "_44"
# $status = mg_reset;
# if ($status) {
# $failed = 1;
# return(-1);
# }
#
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);
}
if ($solid) {
$testnum = "_48"
echo "Testing 1600x1200 solid timing"
mg_stoptiming;
$status = mg_vc3init -t 0x156
if ($status) {
$failed = 1;
return(-1);
}
$testnum = "_49"
mg_starttiming;
$status = mg_crcwalk;
if ($status) {
$failed = 1;
return(-1);
}
} 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);
}
}
$testnum = "_52"
delay;
echo "Executing mg_vc3cursorposition test..."
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
mg_xmapinit;
delay;
repeat 3 {
delay
}
$testnum = "_53"
$status = mg_vc3cursorposition;
if ($status) {
$failed = 1;
resetcons; buffoff;
return(-1);
}
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);
}
led 0;
$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);
}
led 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;
}
tetest {
$failed =0;
report = 3;
echo "------ Executing TE Test Suite ------"
$testnum = "_99"
$status = mg_read_te_version;
if ($status) {
$failed = 1; return(-1);
}
$testnum = "_113"
$status = mg_re_rdwr_regs -t;
if ($status) {
$failed = 1; return(-1);
}
echo "******** TE 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 ********"
}
drawclose {
delay;
# resetcons;
delay;
delay;
}
re_texlut_test {
$status = mg_re_rev -r 0
if ($status) {
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
delay;
drawsetup
mg_vc3clearcursor;
mg_retexlut;
echo "Checking mg_retexlut PP0 crc..."
delay; delay; delay;
mg_dispctrl -o1 -p0
delay; delay; delay;
mg_dispctrl -o0 -p1
delay; delay; delay;
$status = mg_crc_test -r 0x78 -g 0x19b -b 0x1c3
if ($status) {
echo; echo "mg_retexlut PP0 crc FAILED"; echo
$failed = 1;
mg_dispctrl -o1 -p1
delay;
return(-1);
}
echo; echo "mg_retexlut PP0 crc PASSED"; echo
echo "Checking mg_retexlut PP1 crc..."
delay; delay; delay;
mg_dispctrl -o1 -p1
delay; delay; delay
mg_dispctrl -o0 -p0
delay; delay; delay
$status = mg_crc_test -r 0xaf -g 0x302 -b 0x158
if ($status) {
echo; echo "mg_retexlut PP1 crc FAILED"; echo
$failed = 1;
mg_dispctrl -01 -p0
delay;
echo "Resetting graphics for you"
allsetup;
return(-1);
}
echo; echo "mg_retexlut PP1 crc PASSED"; echo
delay; delay; delay;
mg_dispctrl -o1 -p0;
delay; delay; delay;
echo "Resetting graphics for you"
allsetup
echo; echo "mg_retexlut test PASSED"; echo
}
}
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);
}
delay;
allsetup;
$testnum = "_114"
re_texlut_test;
delay;
if ($failed) {
return(-1);
}
drawclose;
echo "******** tex_draw_test Suite Execution Completed ********"
}
repp_test {
$failed =0;
echo "------ Executing RE-PP Test Suite ------"
allsetup;
if ($failed) {
return(-1);
}
resetcons; buffoff; buffon
delay; delay; delay;
mg_vc3clearcursor;
delay; delay; delay;
drawsetup;
delay;
$testnum = "_80"
$status = mg_z_tri
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_81"
$status = mg_lines
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_82"
$status = mg_points
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_83"
$status = mg_stip_tri
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_84"
$status = mg_xblock
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_85"
$status = mg_chars
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_86"
$status = mg_logicop
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_87"
$status = mg_dither
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_88"
$status = mg_color_tri
delay;
if ($status) {
$failed = 1;
return(-1);
}
delay;
$testnum = "_98"
$status = alphablend_test;
delay;
if ($failed) {
return(-1);
}
delay;
$testnum = "_97"
$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 = "_112"
$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 = 3;
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;
}
tram_mem {
$failed =0;
delay;
echo "------ Executing TRAM Memory Test Suite ------"
delay
mg_tram_rev_nobuff
if ($failed) {
echo "mg_tram_rev_nobuff failed"
return (-1);
}
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);
}
}
}
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;
report=2;
repeat 3 {
delay;
}
gioslot;
buffon
if (mg_gfxconsole) {
$status = mg_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);
}
if ($oven) {
boot -f bootp()mg_hq.pass;
}
$status = re4flextest;
if ($failed) {
echo "Flex Test FAILED"
if ($solid == 0) {
echo "The RA/RB Board may be BAD"
}
resetcons; buffoff;
return($status);
}
resetcons;
gioslot;
$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);
}
if ($oven) {
boot -f bootp()mg_bkend.pass;
}
# resetcons;
$status = mg_reset;
if ($status) {
$failed = 1;
return (-1);
}
$ge_no = mg_queryGE;
if ($ge_no == 2) # 2 GE system
{
echo "Testing 2GE system...."
$testnum = "_41"
$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"
$status = ge0_test;
}
if ($failed) {
echo "ge_test FAILED"
echo "The GD Board may be BAD"
resetcons; buffoff;
return($status);
}
if ($oven) {
boot -f bootp()mg_ge.pass;
}
allsetup;
if ($failed) {
resetcons; buffoff;
return(-1);
}
buffon
$status = re4test;
if ($failed) {
echo "re4test FAILED"
echo "The RA/RB Board may be BAD"
resetcons; buffoff;
return(-1);
}
if ($oven) {
boot -f bootp()mg_re.pass;
}
$status = dmatest;
if ($failed) {
echo "dmatest FAILED"
resetcons; buffoff;
return($status);
}
if ($oven) {
boot -f bootp()mg_dma.pass;
}
$status = rdram_mem_quick;
if ($failed) {
echo "RDRAM QUICK FAILED"
echo "The RA/RB Board may be BAD"
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);
}
}
if ($oven) {
boot -f bootp()mg_rdram.pass;
}
$status = repp_test;
if ($failed) {
echo "repp_test FAILED"
echo "The RA/RB Board may be BAD"
resetcons; buffoff;
return($status);
}
if ($oven) {
boot -f bootp()mg_repp.pass;
}
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) {
echo "No Texture Subsystem for MG10"
echo "Tests for Texture Subsystem are skipped..."
} else {
$status = tetest
if ($failed) {
echo "tetest FAILED"
echo "The RE-TE connection may be BAD"
resetcons; buffoff;
return(-1);
}
if ($quick == 0) {
echo "Testing TRAM memory"
repeat 3 {
delay;
}
$status = tram_mem;
if ($failed) {
echo "tram test FAILED"
echo "The RA/RB Board may be BAD"
resetcons; buffoff;
return(-1);
}
if ($oven) {
boot -f bootp()mg_tram.pass;
}
}
$status = tex_draw_test
if ($failed) {
echo "tex_draw_test FAILED"
echo "The RA/RB Board may be BAD"
resetcons; buffoff;
return(-1);
}
if ($oven) {
boot -f bootp()mg_tex.pass;
}
}
echo ""
echo " All tests have passed"
delay;
delay;
resetcons; buffoff;
report=4
}
mg_all {
$failed = 0;
$slot = 255;
$tmp = mg_setboard 0;
if ($tmp) {
$slot = 0;
echo "Testing Impact boards in slot 0."
mg_test_all;
if ($failed) {
echo "ERROR: Failure detected on gfx in slot 0."
if ($oven) {
if ($volts == 0) {
$stmp = "bootp()mg0L" + $testnum + ".failed"
send_boot_msg $stmp
}
else if ($volts == 2) {
$stmp = "bootp()mg0H" + $testnum + ".failed"
send_boot_msg $stmp
}
forever wait;
}
return($failed);
}
else
{
echo "gfx in slot 0 passed."
if ($oven) {
boot -f bootp()mg_0.pass;
}
}
}
$failed = 0;
$tmp = mg_setboard 1;
if ($tmp) {
$slot = 1;
echo "Testing Impact boards in slot 1."
mg_test_all;
if ($failed) {
echo "ERROR: Failure detected on gfx in slot 1."
if ($oven) {
if ($volts == 0) {
$stmp = "bootp()mg1L" + $testnum + ".failed"
send_boot_msg $stmp
}
else if ($volts == 2) {
$stmp = "bootp()mg1H" + $testnum + ".failed"
send_boot_msg $stmp
}
forever wait;
}
return($failed);
}
else
{
echo "gfx in slot 1 passed."
if ($oven) {
boot -f bootp()mg_1.pass;
}
}
}
}
gfx {
$mgras = mg_probe;
if ($mgras) {
mg_all;
}
if ($gounix) {
if ($failed == 0) {
unix;
}
}
}
gfxva {
$gounix = 0;
cv_low;
gfx;
$gounix = 1;
cv_high;
gfx;
}
gfx_quick {
$gounix = 0;
echo "----- Executing the QUICK version of the GFX Tests -----"
$quick = 1;
gfx;
$quick = 0;
echo "----- QUICK version of the GFX Tests is DONE -----"
}
gfxva_quick {
$gounix = 0;
echo "----- Executing the QUICK version of the GFX Tests with Chg Vol.-----"
$quick = 1;
gfxva;
$quick = 0;
echo "----- QUICK version of the GFX Tests with Change Voltage is DONE -----"
}
gfxdual {
$bothslots = 1;
gfx;
$bothslots = 0;
}
gfx_quickdual {
$bothslots = 1;
gfx_quick
$bothslots = 0;
}
gfxva_quickdual {
$bothslots = 1;
gfxva_quick
$bothslots = 0;
}
#########################################################################
# IP28 + GFX ASRS OVEN SCRIPT #
#########################################################################
ip28_gfx_asrs {
report=2;
echo "=========================================="
echo "WELCOME TO IP28 + GFX ASRS TEST SUITE"
echo "=========================================="
$skip_timer =0;
$skip_eisa = 1;
$oven = 1;
$volts = 0;
$gounix = 0;
ip28;
if ($failed) {
$stmp = "bootp()CPU_L" + $testnum + ".failed"
send_boot_msg $stmp
forever wait;
} else {
boot -f bootp()CPU_L.pass
}
if ($suite == 2) {
gfxdual;
} else {
gfx;
}
boot -f bootp()gfx_low.done
boot -f bootp()start_unix;
unix;
}
#########################################################################
# IP28 + GFX FUNCTION TEST & REPAIR SCRIPT #
#########################################################################
i2frmenu {
echo "==================================================="
echo "WELCOME TO IP28 + GFX FUNCTION TEST & REPAIR SUITE"
echo "==================================================="
echo "Command Description"
echo "======= ==========="
echo "ip28 IP28 tests (PM, CPU, MEM)"
echo "ip28va IP28 tests with automatic voltage change"
echo ""
echo "gfx IMPACT tests (GFX)"
echo "gfxva IMPACT tests with automatic voltage change"
echo ""
echo "audio Audio tests"
echo ""
echo "i2frmenu To display the above menu"
echo ""
echo "To view the repair menu:"
echo " source -f bootp()mg_repair.script"
echo ""
}
ip28_gfx_func_repair {
report=4;
i2frmenu;
}
$suite = mg_test_suite;
# turn on messaging to serial prot if we are on console g or G
ttyprint 1;
if (($suite == 1) || ($suite == 2)) {
ip28_gfx_asrs;
} else {
ip28_gfx_func_repair;
}
echo ""