$title(' sdtramcnf ') $subtitle(' Module of SDTRAM ') /****************************************************************************\ * * TITLE: sdtramcnf * * DATE: 7/31/83 * * WRITTEN BY: Phil Grimm * * ABSTRACT: This module contains public data declarations pertaining to * user configuration. There are two sets of variables, one being * the default(preconfigured), and the other which holds the * current configured values which change through Reset Software * activations. It also contains declarations of the structures * nessasary in interfacing to SDTMON. * * * LANGUAGE DEPENDENCIES: * * PLM86 sdtramcnf.p86 * \*****************************************************************************/ /*****************************************************************************\ * * * Copyright Intel Corporation 1982, 1983 * * All rights reserved. No part of this program or publication may be * * reproduced, transmitted, transcribed, stored in a retrieval system, or * * translated into any language or computer language, in any form or by any * * means, electronic, mechanical, magnetic, optical, chemical, manual or * * otherwise, without the prior written permission of Intel Corporation, * * 3065 Bowers Avenue, Santa Clara, California, 95051, Attention: Software * * License Administration. * * * \*****************************************************************************/ $EJECT Configuration: DO; $SUBTITLE('Data Declaration Section') /**************************************************************\ * * Literal Data Declarations Section * \**************************************************************/ /*****************************************************\ * * * LITERALS COMMON TO * * DIAGNOSTICS * * * \*****************************************************/ DECLARE BOOLEAN LITERALLY 'BYTE', cr LITERALLY '0Dh', lf LITERALLY '0Ah', null LITERALLY '0', true LITERALLY '0FFH', false LITERALLY '0', REC LITERALLY '0', IGN LITERALLY '1'; /*****************************************************\ * * * LITERALS PERTAINING TO * * SDTRAM * * * \*****************************************************/ DECLARE BOARD$DESCRIPTOR LITERALLY 'STRUCTURE( type BYTE, initial_seg WORD, final_seg WORD, parity_port WORD, intr_origin BYTE, intr_level BYTE, cx_mode BYTE, lbx BOOLEAN, defined BOOLEAN, selected BOOLEAN, do_intr_test BOOLEAN)', NUM_TESTS LITERALLY '10', /* * this one includes the scope loop utility */ NUM_TESTS_PLUS LITERALLY '11', /* * MAX_BOARDS is equal to actual MAX + 1 * (0'th element of pq$bdt is null) */ MAX_BOARDS LITERALLY '17', /* * literal values for pq$bdt().intr_origin */ NMI LITERALLY '0', MASTER LITERALLY '1', SLAVE LITERALLY '2', /* * literals values for pq$bdt().type */ A$SERIES LITERALLY '0', B$SERIES LITERALLY '1', C$SERIES LITERALLY '2', NO$PARITY LITERALLY '3', /* * literal values for pq$bdt().cx_mode */ CORRECTING$MODE LITERALLY '0FH', NONCORRECTING$MODE LITERALLY '0AH'; /**************************************************************\ * * External Data Declarations Section * \**************************************************************/ DECLARE error boolean EXTERNAL; $EJECT /**************************************************************\ * * SDTRAM Test Definition Configuration Section * \**************************************************************/ DECLARE test$def$block (NUM_TESTS_PLUS) STRUCTURE( flag BYTE, /* RECoginze / IGNore test */ addr POINTER,/* Address of the test */ name$ptr POINTER)/* Address of test description */ PUBLIC DATA( REC, @sq$fixpat, @sq$fixpat$desc, REC, @sq$addrmrch, @sq$addrmrch$desc, REC, @sq$slideones, @sq$slideones$desc, REC, @sq$exeram, @sq$exeram$desc, REC, @sq$a_parity, @sq$a_parity$desc, REC, @sq$a_intr_det, @sq$a_intr_det$desc, REC, @sq$c_chkbits_logic, @sq$c_chkbits_logic$desc, REC, @sq$c_chkbits_ram, @sq$c_chkbits_ram$desc, REC, @sq$c_err_corr, @sq$c_err_corr$desc, REC, @sq$c_intr_det, @sq$c_intr_det$desc, REC, @sq$scope_loop, @sq$scope_loop$desc); $EJECT /**************************************************************\ * * Sign-on Message and Subtest Titles * \**************************************************************/ DECLARE user$signon (*)BYTE PUBLIC DATA( 'SYSTEM DIAGNOSTIC TEST - RAM, V1.1',cr,lf, 'Copyright 1984 Intel Corporation',null); /* if the size of this changes the ext must be changed */ DECLARE sq$fixpat$desc (*)BYTE DATA(' Fixed Patterns',null), sq$addrmrch$desc (*)BYTE DATA(' Address March',null), sq$slideones$desc (*)BYTE DATA(' Sliding Ones',null), sq$exeram$desc (*)BYTE DATA(' Execute From RAM',null), sq$a_parity$desc (*)BYTE DATA(' A-Series Parity Logic and RAMs',null), sq$a_intr_det$desc (*)BYTE DATA(' A-Series Interrupt Detection',null), sq$c_chkbits_logic$desc (*)BYTE DATA(' C-Series Check Bit Logic',null), sq$c_chkbits_ram$desc (*)BYTE DATA(' C-Series Check Bit RAMs',null), sq$c_err_corr$desc (*)BYTE DATA(' C-Series Error Correction',null), sq$c_intr_det$desc (*)BYTE DATA(' C-Series Interrupt Detection',null), sq$scope_loop$desc (*)BYTE DATA(' Rd/Wr Scope Loop Utility',null); $EJECT /**************************************************************\ * * Board-Specific Configuration Information * \**************************************************************/ DECLARE /* * Interrupt controller port addrs */ MASTER_PIC_CTL WORD PUBLIC DATA(0C0H), MASTER_PIC_MASK WORD PUBLIC DATA(0C2H), SLAVE_PIC_CTL WORD PUBLIC DATA(0C4H), SLAVE_PIC_MASK WORD PUBLIC DATA(0C6H); $EJECT /**************************************************************\ * * Preconfigured (Fixed) Configuration Variables * \**************************************************************/ DECLARE pq$deflt_number_of_boards BYTE PUBLIC DATA(1), pq$deflt_fast_test BOOLEAN PUBLIC DATA(TRUE), pq$deflt_scope_loop BOOLEAN PUBLIC DATA(FALSE), pq$deflt_status_line BOOLEAN PUBLIC DATA(TRUE), pq$deflt_stop_on_err BOOLEAN PUBLIC DATA(FALSE), /* * BOARD$DESCRIPTOR Fields: * type BYTE, * initial_seg WORD, * final_seg WORD, * parity_port WORD, * intr_origin BYTE, * intr_level BYTE, * cx_mode BYTE, * lbx BOOLEAN, * defined BOOLEAN, * selected BOOLEAN, * do_intr_test BOOLEAN)', */ pq$deflt_bdt (MAX_BOARDS) BOARD$DESCRIPTOR PUBLIC DATA(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* null element */ NO$PARITY, 1000H, 1fffH, 0, MASTER, 0, 0, FALSE, TRUE, TRUE, FALSE, B$SERIES, 2000H, 9fffH, 0, MASTER, 0, 0, FALSE, TRUE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE, NO$PARITY, 1000H, 1000H, 0, MASTER, 0, 0, FALSE, FALSE, TRUE, FALSE); $EJECT /**************************************************************\ * * Dynamic (Changing) Configuration Variables * \**************************************************************/ DECLARE pq$first_time BOOLEAN PUBLIC, pq$number_of_boards BYTE PUBLIC, pq$fast_test BOOLEAN PUBLIC, pq$scope_loop BOOLEAN PUBLIC, pq$stop_on_err BOOLEAN PUBLIC, pq$status_line BOOLEAN PUBLIC, /* * The board descriptor table */ pq$bdt (MAX_BOARDS) BOARD$DESCRIPTOR PUBLIC; $EJECT /**************************************************************\ * * Test-Specific Configuration Information * \**************************************************************/ /**************************************************************\ * * Mandatory Subroutines * \**************************************************************/ Initialize$GPCP$flags: /* Initialize GPCP variables */ PROCEDURE EXTERNAL; /* not normally used in SDTMON */ END Initialize$GPCP$flags; $EJECT /**************************************************************\ * * Mandatory Tests * \**************************************************************/ sq$fixpat: PROCEDURE BYTE EXTERNAL; END sq$fixpat; sq$addrmrch: PROCEDURE BYTE EXTERNAL; END sq$addrmrch; sq$slideones: PROCEDURE BYTE EXTERNAL; END sq$slideones; sq$exeram: PROCEDURE BYTE EXTERNAL; END sq$exeram; sq$a_parity: PROCEDURE BYTE EXTERNAL; END sq$a_parity; sq$a_intr_det: PROCEDURE BYTE EXTERNAL; END sq$a_intr_det; sq$c_chkbits_logic: PROCEDURE BYTE EXTERNAL; END sq$c_chkbits_logic; sq$c_chkbits_ram: PROCEDURE BYTE EXTERNAL; END sq$c_chkbits_ram; sq$c_err_corr: PROCEDURE BYTE EXTERNAL; END sq$c_err_corr; sq$c_intr_det: PROCEDURE BYTE EXTERNAL; END sq$c_intr_det; sq$scope_loop: PROCEDURE BYTE EXTERNAL; END sq$scope_loop; $EJECT /**********************************************************\ * * Non-Configurable Data Area * \**********************************************************/ DECLARE user$tdt (NUM_TESTS_PLUS)STRUCTURE ( flag BYTE, overlay BYTE, addr POINTER, name$ptr POINTER, err$cnt WORD, exec$cnt WORD) PUBLIC, /* * init this in MAIN */ user$number$of$tests WORD PUBLIC; DECLARE user$scratch (6000)BYTE PUBLIC, /* User scratch area */ user$scratch$size WORD PUBLIC DATA(6000); /**********************************************************\ * End of Configuration Module \**********************************************************/ END Configuration;