Digital PDFs
Documents
Guest
Register
Log In
EK-DS780-TD-001
February 1979
244 pages
Original
13MB
view
download
OCR Version
11MB
view
download
Document:
VAX 11/780 Diagnostic System Technical Description
Order Number:
EK-DS780-TD
Revision:
001
Pages:
244
Original Filename:
OCR Text
RWEC TP T PR RS. C A by de L TLSP TSI g i ARG > EK-DS780-TD-001 VAX-11/780 Diagnostic System Technical Description digital equipment corporation - maynard, massachusetts First Edition, February 1979 Copyright © 1979 by Digital Equipment Corporation The material in this manual is for informational purposes and is subject to change without notice. Digital Equipment Corporation assumes no responsibility for any errors which may appear in this manual. Printed in U.S.A. The following are trademarks of Digital Equipment Corporation, Maynard, Massachusetts: DIGITAL DECsystem-10 MASSBUS DEC DECSYSTEM-20 OMNIBUS PDP DIBOL 0S/8 DECUS EDUSYSTEM RSTS UNIBUS VAX RSX VMS IAS 8/84-15 CONTENTS Page N CPU w N = Diagnostic Program Exerciser Package RH784 (MBA) Diagnostic Program DW78@ (UBA) Diagnostic Program DIAGNOSTIC PROGRAMS SYMBOLS Abbreviations CONSOLE COMMAND DESCRIPTIONS Boot Command (B) Clear Command (CL) Continue Command (C) Deposit Command (D) Enable DX1l: Command Examine Command (E) Command (H) Command (HE) Halt Help i1 R b WNNHBERKRE Command AND Examples ot TERMS Notation Module Services oo o Executor DESCRIPTION I CONSOLE PROGRAM OVERVIEW Command Getter Parser and Parser Tables COMMAND ¢ CONTROL I PROGRAM AND [I CONSOLE e 2 Additional (S ) Modification Console Control Functions Default Settings Status Displays Command Linking and Repeating Real-Time Delays Command L] e o e o [] O~JO Ui WN - Display and Control | e wWN Clock Control Element L] o L] TM W N = Program Memory B W - o e o e s PROGRAMS OPERATOR/VAX-11/783 COMMUNICATION Console Terminal Modes Console Panel Equivalent Functions e « Division Supervisor Cluster PERIPHERAL o Hardcore NN o & s o o o NN N Cluster s s Diagnostic | PROGRAM Adapter and Microtest Division MICRODIAGNOSTIC o ENVIRONMENTS DIAGNOSTICS Console WWWWWwNhDpdDNDND - | OVERVIEW = SYSTEM SYSTEM EXECUTION e DIAGNOSTIC DIAGNOSTIC MICRODIAGNOSTIC WWWWWWwWwWwwWw NN o s o * e * @ * [I ) [ [] . L] INTRODUCTION CONSOLE CHAPTER DN NN DNDODNNDDDNDDNDND 1 MANUAL SCOPE DIAGNOSTIC SYSTEM CAPABILITIES . e o e o o 8 e o 2 & e e 8 8 e o o & ¢ o e b et b e 6 o b ® e b o ot OWWOWWOWWOWWOWWOWOWOWYWWOWOWONdNNNINIaoa ks W = CHAPTER (Cont) Unjam Command (U) Wait Command (WA) Indirect (@) Command WCS Command WN > JOY WU WN > o @ ¢ WO ¢ ¢ o CHARACTERS Qualifiers for RADIX Defaults for RADIX Local Radix Override o o COMMAND QUALIFIERS AND DEFAULTS Address Type Qualifiers Address Type Defaults Data Length Qualifiers Data Length Defaults o o (W) PERFORMED WITH THE Default OO o (N) (T) Command Command VAX-11/788 CPU RUNNING COMMENTS WITHIN COMMANDS CONTROL CHARACTERS AND SPECIAL - o (S) Command COMMANDS * N NN NN N i = i NN VO WOWO DO ® S Ve BWNHFRQWOWOIJOANTBPWNDHFHS o o e e Sy S o o s o o S e o T ® SIS N o o i Next Test RSN o o o e e o o o o Start HH\O\O&OG)CI)\]\I\I\]\I\]\I\J\I\I\]\]\I\]O\U’I N = 2 11.1 2.12 2.13 2.14 2.15 2.15.1 2.15.2 Facility Address Specifying Default Address in a Command Last Address Notation Preceding Address Notation Use of Last Data as an Address Argument NEXT Qualifier COMMAND REPEAT FACILITY Repeating Commands LINK FACILITY COMMAND X e o o * o s o o o o o e (I) (SH) Show Command ¢« NM[\)NNN[\)MNNNNN NN NN NN Command Initialize LINK Command (LI) Load Command (LO) Perform Command (P) Quad Clear Command (Q) Reboot Command (REB) Repeat Command (R) Set Command (SE) » ¢ HWWWWwwwwwwwww wwww NN NN NN DNDN o Q 1Y 0 CONTENTS Link Facility Link Facility CONSOLE MODE Operation Usage CHANGE VMS COMMUNICATION WITH CONSOLE FLOPPY DISK Floppy Function Protocol MISCELLANEOUS CONSOLE COMMUNICATIONS COMMUNICATION REGISTER FORMATS AND SELECT CODES FLOPPY STATUS BYTE DEFINITION REMOTE CONSOLE Enable Talk ACCESS Mode Enable/Disable COMMAND Command Echo v Command SET CONTENTS (Cont) Page Enable Local Local Control Enable/Disable Enable/Disable CONSOLE ERROR Syntactic Copy Command Command Carrier Error Command Local Floppy Command MESSAGES Error Command Generated Error Messages Microroutine Error Messages Script Operator o o AND DESCRIPTION Module Services Command Terms Command Command Description Segments Abbreviations Command Overview Load CONTROL Symbols COMMANDS Command Start Command Restart Command Command Control Characters Continue Command Summary Abort Special Characters Command Submit Command CONTROL Set and Command EXECUTION Control COMMANDS Flag Command Clear Control Flag Command Set Control Flag Default Command Show Set Control Event Clear Show Flags Event Event Flags Flags Command Command Flags 2-34 2-35 CONTROL System Error Handling SUPERVISOR COMMAND DESCRIPTIONS and 2-33 2-33 2-36 Module Terminal 2-33 2-35 Messages OVERVIEW MODULE Processor Messages FUNCTIONAL MODULE DESCRIPTION Memory Management and Adapter Services Run WO OO~ Error Image Loader Module Test Sequence Control w N s o o w N *« o o o = w N W e STRUCTURE FUNCTIONAL SEQUENCE N o SUPERVISOR PGI NS WN e o e 8 0 8 0 s 8 0 & & 8 e & e 0 8 0 8 O o SUPERVISOR CLI o o o ¢ o o s o uULTLNnULTLTUTUIEUOTLED B BB BRWWwwWwNDNDD NN e o b o o ® o o ¢ . . WWWWwWwWwuwWwwWwwwwWwwwWwwwuwWwwwwwuwww ww ww aonooanoo DIAGNOSTIC 2-32 2-32 2-33 Messages CPU Fault Generated RX@41 Error Messages Miscellaneous Error 2-32 Command Command wWwww w ! WWWwWwWwuwWwuwWuwWwuwWwwwwwwww b = = | i UL L NE S V|VOWOWOOOIIANANNONA DD DL DWW WWWWH Enable/Disable 3-12 3-13 3-13 3-13 3-13 CONTENTS (Cont) Default PROGRAM BASIC PROGRAM BASIC TEST [] = [] N DESCRIPTION Test Structure Instruction DESCRIPTION AN B WN Loop Description Structure on MONITOR on Flag Report Error Flag Command Abort Flag w N - MICRODIAGNOSTIC Messages System Error Messages PROGRAM VW N RELATED Error Monitor LISTING Monitor AND Listing Hardcore Message LISTING/ERROR No Error OF DESCRIPTIONS Description Description Execution Format CORRELATION Situation and Single Step Setup Scope Loop Setup Single Bus Steps Setup MACRODIAGNOSTIC DEFINITION Messages MESSAGE Loop Microtest Microtest OVERVIEW Error ERROR MESSAGE Message Hardcore MESSAGES Listing Microdiagnostic Error ERROR Descriptions Listing Microtest (NER) (BELL) (CONT) (ERABT) Syntax Chain (LOOP) Flag Continue Error CONTROLS Examples Error Error Bell DN STRATEGY Monitor Control HD/HI Flags B W N OVERVIEW EXECUTION TEST Microtest (- 3-14 3-14 3-15 MICRODIAGNOSTIC Go 3-14 Command DESCRIPTION No 3-14 Command MICRODIAGNOSTIC Pseudo MICROTEST [] o * )y [ Rl Command Command Command Hardcore 5 3-14 i 4 3-13 Command Breakpoint Breakpoints Examine Deposit 3-13 YT o ¢ N Set COMMANDS Command MICRODIAGNOSTIC o N N N SOt N ST T SO . T N oN o e A ¢ o S e @ Breakpoint HARDCORE gy N G Y NG O SO . N NG N N WCOWOWOWWOWOVOVWWWOINIJAOTAHAOANAAANAAAUI UL BB WA e I ¢ . Set Show CHAPTER WHN = UTILITY Base Clear CHAPTER Lo AND Set BB NN NN DEBUG NOY O WN = Y Wwwwwwww Page OF PROGRAM DESCRIPTIONS TERMS THE MACRODIAGNOSTIC MACRODIAGNOSTIC PROGRAM PROGRAM DESCRIPTION Vi LISTING CONTENTS (Cont) (623 . N ® A (MBA) AND SAMPLE Analysis of RH789 SUPERVISION TEST: Format Typical RH780 INTERACTION (MBA) Description Lines DIAGNOSTIC SAMPLE SUBTEST = (Direct 1/0) RH780 Diagnostic Detailed Flow RH780 Diagnostic Sample Error Message RP@X/DCL REPAIR DIAGNOSTIC (DIRECT 1/0), N P PROGRAM OF TEST 3, SUBTEST 1 Listing Column SAMPLE SUBTEST Detailed Flow * . o N U 0N o o oo ~N o Oy o . oo, DIAGNOSTIC ANALYSIS ~N U Page RP@X/DCL Repair Diagnostic Sample Error Message DISK RELIABILITY SAMPLE DIAGNOSTIC (QUEUE I1/0) SUBTEST Detailed Flow Disk Reliability Diagnostic Sample Error Message CONTROL MODULE SETUP SERVICES MODULE (CITS) CITS CHECK CITS Error Messages Message Heading CITS Subtest Troubleshooting Unexpected Results PSL Errors Errors = Expected Extended to Exception Trace Traps Errors 6-15 6-17 DESCRIPTION First Mode Test = Part Possible N * or Printout NO-OP a Test Case Compatibility . Errors Errors Branch How Features in CITS Register Errors or Trailing Background Leading Data Exceptions D HWOONOUMbWNE L [] B CITS SUBTEST — L] [ w ww L] TEST CITS EXECUTE N L] CITS ESKAX [] INSTRUCTION CITS_ DECODE |] O AU WN COMMON (ESKAX@2, A OY Oy PACKAGE First ) Wi ) Wo ) Tike) B ) W 2 EXERCISER Entry/Exit Module 1) Done Test First Part oo o RN BE N BES B CLUSTER W W N SIS CPU SOy Yoy O (e ) ) Ee) ) We ) T2 We W2 We )W) We )Mo ) | et b = 0 7 1y ! ooy 6 DN WWNNDNNDNDNDNDDNDNDMNDMNDDNDMPDNDMNDDNDNDND - [ * 0 o) l*)¥e W) Neor W) We)We)Neo)We)Ne) Je) Ne ) Wie) o) Je)Ner W) e o) N el CHAPTER Done vii (ESKAX@4, Part Test Done Test Failures Procedures 2) 6-17 6-25 6-25 6-25 CONTENTS (Cont) o o WN « o U ¢« = Checkout Subtest Checkout Subtest Clock Arithmetic, Test Module Test 4) Logic, and Field Instruction (ESKAY@3, Test 2) CRC, and (ESKAY05, Ul Test J N Operators Character String (ESKAY10, Test [ Module Module 6-50 Test Test Module 5) 6-59 Instructions N Test Exception Test 10) 6-60 6-60 Test Module (ESKAZ@3, 6-60 Memory Management Test, General Memory Management Test, Subsection Compatibility Format Sample Error Compatibility Assumptions GLOSSARY OF 6-57 6-57 Module Flow Mode DIAGNOSTIC Viii 6-62 6-62 6-70 Test Message Mode Flow 6-62 TEST (ESKAZ@3, TEST 2) Instructions Tested A 8) DESCRIPTION Test Reference Execution COMPATIBILITY MODE INSTRUCTION W APPENDIX Test 6-57 6-60 Instruction Test (ESKAY@9, 9) Memory Management Test 1) [] Test Instruction 4; ESKAY@6, Privileged N = b Queue 3) EDITPC > W L] [ [) . . ° o 6-40 6-44 Function (ESKAY@4, ESKAZ ¢ 6-40 Specifier Dependent Floating-Point Test (ESKAY@7, Test 6) Decimal Strings Module (ESKAY@8, Test 7) ] (SRS Verification Operand O . (9} oS . . e e [ oY 12)Ne) Mo )] 1N . (ESKAX@6, Internal Timer and Day Clock Module (ESKAY@2, Test 1) Interval Timer Functions N [] N = L] B . 6-35 6-36 6-36 6-37 6-39 6-40 MBE Day 6-32 Subtest Interaction Subtest SBI UBE Memory Verify L (o)W e)] * Ut L] e SN N O o) J®) 12N e)! (o) We)l o 3) 6-33 6-35 (ESKAY11l, 1) Wer N o) o)t Test UBA MBA Checkout Test Floating-Point e (ESKAX@5, Subtest Checkout Subtest Branch, * Module Checkout ESKAY [ TS s oY OV Verification SBI N WWwwwwww 0 o e o * ¢ @ e YOy OYOY O Oy o o SBI L] Ae WwWw Wwwwww Page Error Message Explanation Instruction SOFTWARE Module TERMS 6-70 6-72 6-73 FIGURES [ I Noy s PHERERERQOOJONDWNEHN - §L N N g i N N N N O N R SN b b Title Diagnostic Program VAX-11/780 Diagnostic System VAX-11/780 Diagnostic Environments System, Monitor and N Relationships Hardcore Monitor Environment and Program Levels Hierarchy Execution Test Sequencing Residency/Test Flow Monitor Residency/Test Flow of the Diagnostic Supervisor Environments Communication Register Formats and Select Microtest Functions Floppy Status Bit Assignments Basic Diagnostic Supervisor Structure LSI-11 Memory Program Codes Residency Simplified Microdiagnostic Hardcore Test Sequence Microtest Structure Test Procedure Monitor Listing Sample Hardcore Listing Sample Microtest Listing Sample Typical Error-Free Terminal Error Message Listing Indexing Microtest Portion Example Example Loop Example Single of the (MBA) Output Format Loop and Single Microtest Scope RH784 L T Mode, Bus Example Program Section Diagnostic Program Synopsis, Portion of the Global Symbol Table for the Absolute PSECT of the Loader File of the RH780 (MBA) Diagnostic Program Diagnostic Program and Diagnostic Supervisor Interaction RH780 (MBA) Diagnostic Subtest 1, Listing Program Test 3, RH784 (MBA) Diagnostic Subtest 1, Flowchart Program Test 3, DSSBGNSUB ESCAA Link Listed in the Symbol Table in the the Symbol Table in the Map DS$SBGNSUB Listed in Supervisor Link Map DS$BGNSUB Entry RBGNSUB Listed Diagnostic Point in the Supervisor Symbol Link Table in the Map ESRCA Sample Error Listing ESRCA RP@AX/DCL Test 1, Subtest Listing ESRCA RPOX/DCL Repair Subtest @, Flowchart ix @, Diagnostic Program Test 1, FIGURES Figure No. (Cont) Title Page ESRCA Sample Error Message Disk Reliability (ESRAA) Test 5-13 5-14 Subtest 4, Listing Error 12 ESRAA Test 1, Subtest @, Error 12 Flowchart (for disks) Contents Block Status I/0 5-23 1, 5-24 5-25 CHECKBLOCK Routine Code Code 5-28 5-30 5-31 ESRAA Listing 5-32 GETBBFSECTOR Routine Sample Error CPU Cluster Exerciser Package Memory Allocation Execution of a Test Compatibility Mode Case in ESKAY#3 Instruction Module Subtest Structure TABLES o Title o «Q 1 No. VAX-11/780 System Manuals Term and Symbol Definition Deposit Symbolic Addresses Examine Set Default RX@1 Error Message Control/Special Qualifier N \S) W oo = Oo Code Definitions Definitions Character Descriptions Descriptions Symbol/Abbreviation Definitions Microdiagnostic Command/Flag Descriptions Summary Parameter, Length Parameter for 4 Information Reserved Pushed on the Stack by the Handler Operand Compatibility | Options Descriptions Flag Control Instruction | | )] Command Symbol Term and Exception o)l e)We)We)No)Re) o)) Address Qualifiers Set Step Command Options Control/Special Character Descriptions Memory Management Error Code Definitions Vector o)} Symbolic Command Load Faults and Mode Compatibility Mode Compatibility Mode Page Faulting with Entry Trap Instructions Part Done Test Table First Part Done IDB Format First Part Done TCB General Part Done TCB Settings on Reserved Instructions First Part Done First First PSL Bit Passed Entries Format to CITS DECODE NN NN > w W N NN S w W I | I W W = (| ~J OOV HFROIONN - DDLU NFROONOUIWNDHFHE DWW wWWw NN DD NN DO | | Table TABLES Table No. Title Page 6-11 Unibus 6-12 Compatibility Adapter Compatibility ESKAZ 6-13 (Cont) Test Map Register Offsets Instructions Hardware and Provided by Exercised by Mode Instructions Not 2 Compatibility Address Mode Mode 6-39 6-71 Yet Tested 6-71 EXAMPLES Example 6-1 No. Title Page Unexpected 6-2 6-3 Exception Error Message Unexpected Exception in CITS, Error Result Register Errors 6-4 CITS Detects a Longword Data Error Data Error 6-11 6-12 CITS Detects a CITS Detects Quadword a String 6-8 Branch 6-9 Expected 6-10 6-11 6-12 6-13 6-12 Error Exception Trace Trap Error Extended Printout 6-13 Error 6-13 6-14 Case 105 SUBD2 Instruction ESKAX Test 1, Subtest 1, Error 6-14 ESKAX 6-15 Test 1, ESKAX Test 6-16 6-17 ESKAX ESKAX 6-18 6-19 Test Test Subtest 1, Error 1, Subtest 2, 1, 1, 2, ESKAX Test ESKAX Test Subtest Subtest 1, 1, Subtest 6-20 6-21 ESKAX Test ESKAX Test 1, 1, 6-22 ESKAX Test 1, ESKAX Test ESKAX Test 6-30 6-31 ESKAX Test Test ESKAX Test ESKAY Test ESKAX Test ESKAX Test ESKAY Test 6-32 ESKAY 6-23 6-24 6-25 6-26 6-27 6-28 6-29 ESKAX Test 6-10 6-11 6-6 6-7 Error 6-3 6-8 Error 6-5 PSL Data Message 6-14 2 6-16 6-18 2 Error 6-18 3 Error 3 2, 3, Error Error Subtest 3 4 6-19 6-20 4, Error 3 Subtest Subtest 4, 5, Error Error 6-21 3 4 6-22 Subtest 5, Error 4 1, Subtest 6, 6-22 Error 1, Subtest 3 6, Error 2, 2, 2, Subtest Subtest 3 Error Error Subtest @, 0, @, Error 6-30 3, 212 213 287 Subtest 2, Error 3, Subtest Subtest 19 3, 3, 1, Error Error Subtest 4 4 6-38 1, Error 2 1, Subtest 2, Error 1 3, 6-20 6-21 6-22 6-23 6-23 6-28 6-32 6-38 6-38 6-40 6-40 6-33 ESKAY Test 1, 6-34 Subtest 2, ESKAY Error Test 2 6-35 1, Subtest 3, ESKAY Test ESKAY Test ESKAY Test Error 2 1, 1, 1, Subtest Subtest 4, 5, 6-41 Error Error 1 1 Subtest 5, 6-41 6-42 Error 1 6-42 6-36 6-37 X1 6-40 EXAMPLES (Cont) Page Example No. Title 6-38 ESKAY Test 1, Subtest 6, Error 1 6-43 ESKAY Test 1, Subtest 16, Error 2 6-39 6-40 6-41 6-42 ESKAY Test ESKAY Test ESKAY Test ESKAY Test 1, 1, 1, 1, Subtest 6, Subtest 7, Subtest 8, Subtest 9, Error 2 Error 3 Error 2 Error 1 6-44 ESKAY Test 1, Subtest 11, Error 1 6-46 ESKAY Test 2, Subtest 2, Error 1 6-45 6-47 ESKAY Test 2, Subtest 1, Error 31 6-47 ESKAY Test 4, Subtest 1, Error 2 6-51 ESKAY Test 4, Subtest 1, Error 24 6-53 ESKAY Test 5, Subtest 8, Error 104 6-56 ESKAY Test 7, Subtest 2, Error 26 6-58 ESKAZ Test 1, Subtest 1, Error 20212 6-64 6-50 ESKAY Test 4, Subtest 1, Error 7 6-52 ESKAY Test 5, Subtest 2, Error 7 6-54 ESKAY Test 5, Subtest 8, Error 101 6-53 6-55 6-56 ESKAY Test 8, Subtest 1, Error 48 6-58 ESKAZ Test 1, Subtest 1, Error 20213 6-57 6-59 6-45 ESKAY Test 1, Subtest 12, Error 1 6-48 6-51 6-44 6-45 ESKAY Test 2, Subtest 3, Error 1 6-49 6-43 6-43 6-43 6-44 6-44 ESKAZ Compatibility Mode Test Error xii 6-46 6-49 6-52 6-55 6-56 6-59 6-65 6-73 CHAPTER 1 INTRODUCTION 1.1 This and MANUAL SCOPE manual provides a comprehensive descr iption of the functional operational characteristics of the VAX-11/780 diagnostic system. The level appropriate branch of detail courses presented Provides the service of field and for a field reference. Table 1-1 provides documents. Note that a glossary of diagnostic provided in Appendix A. Table Document 1-1 Title Control 1VAX—11/78E Power System iTechnical VAX-11/780 Description System Number a resource training for program a list of related software terms is Manuals Form EK-PS780-TD-001 In EK-SI78@-IN-00@1 Available in EK-DS780-UG-g01 Available in EK-DS780@-TD-041 In Microfiche Library Technical Description EK-FP780@-TD-001 In Microfiche Library REP@5/REP@G6 Subsystem Technical Description EK-REP@6-TD-001 In Microfiche Library EK-MS780-TD-g01 In Microfiche Library EK-MS780~-TD-0d1 In Microfiche Library EK-DW780-TD-001 In Microfiche Library EK-KC78@-TD-901 In Library EB@7466 Available VAX-11/780 DS780 System Guide Diagnostic Technical FP780 Manual Diagnostic User's Library System ~Installation DS780 Microfiche hard copy* hard copy* | System Description Floating-point Processor VAX-11 KA788 Central Processor Technical Description VAX-11 MS780 System Technical Memory Description DW780 Unibus Technical KC780 Console Technical VAX-11/780 Handbook Adapter Description Interface Description Microfiche Architecture 1-1 in hard copy* VAX-11/7886 System Manuals (Cont) Table 1-1 Document Title VAX-11/780 Software VAX-11/78¢ Hardware Handbook Handbook VAX/VMS Primer VAX/VMS Command User's Guide Language VAX-11 MACRO User's Guide VAX-11 Manual Linker Reference VAX-11 Symbolic Debugger Reference Manual Control Number Form EB@8126 Available in hard copy* EB@9987 Available in hard copy¥* AA-D@30A-TE Available in hard copy?* AA-D@23A-TE Available in hard copy* AA-D@33A-TE Available in hard copy* AA-D@19A-TE Available in hard copy* AA-D@25A-TE Available in hard copy* *These documents can be ordered from: Digital Equipment Corporation 444 Whitney Street Northboro, MA @1532 Attn: Printing and Circulation Services (NR2/M15) Customer Services Section For information concerning microfiche libraries, contact: Digital Equipment Corporation Micropublishing Group, 129 Parker Maynard, 1.2 MA Street PK3-2/T12 @1754 DIAGNOSTIC SYSTEM CAPABILITIES ents The VAX-11/788 diagnostic system is a set of software compon tion detec error of range wide a rated as a system to provide integ The and isolation capabilities for the VAX-11/78% hardware. ted dedica to tests onal diagnostic levels range from system functi fying a faulty module microprogram techniques capable of identi es. In addition, the (printed circuit board) or group of modul ntial selection and diagnostic control functions provide substa execution options. 1-2 The overall goals diagnostic strateqgy of: a. High quality providing b. and efficiency formal configurations, that be can configured Reduction of providing high and for the field service system installation, by procedures, automated test a System specific exerciser VAX-11/78¢ fault isolation and visibility diagnostic program systems. repair times, by programs (programs to the operator) and procedures keyed to service troubleshooting and repair philosophy. field diagnostic system 1is supported by console system. In addition microcomputer major of installation package accessible The satisfies (on-site) diagnostic diagnosis from a execution, remote the diagnostic a PDP-11/v@3 to providing diagnostic system center. the (LSI-11) for 1local allows for 1.3 DIAGNOSTIC SYSTEM OVERVIEW The diagnostic system consists of programs that hierarchically (from general to specific capabil levels. Each level Level -- Operating Level 1 2 -- contains one system (using queue System exerciser Diagnostic can be (using Bus run more (VMS) based diagnostic program either VMS or in the 1I/0) interaction and under standalone 2R -- level Diagnostic supervisor--based can only be run Certain Level 3 -- be run Functional Repair peripheral 4 -- in diagnostic standalone level programs macrodiagnostic instruction only diagnostic test programs that programs that (using diagnostic diagnostic supervisor. Hardcore mode programs diagnostic mode peripheral peripheral diagnostic Standalone the diagnostic VMS. supervisor--based level Cluster Level under peripheral Diagnostic can that program reliability programs Level programs I/0) supervisor--based diagnostic programs queue Formatter or are organized ities) in six categories, as follows: direct I/0) programs programs programs that run without Console Console-based Level-- that diagnostics standalone mode only can be run in the Microdiagnostics Console program Octal Debugging Technique (ODT) ROM resident power-up tests LSI-11 diagnostics The diagnostic programs can be used for preventive maintenance checks to ensure proper computer operation; or, 1if system of mal functions have been detected, specific programs or groups programs can be run to isolate the fault. Figure 1-1 shows the relation of the six levels to four diagnostic es nment requir program operating environments. The console enviro mode). It lone (standa exclusive use of the VAX-11/780 system nment, enviro this In includes only the console level programs. the 1in sor proces program control is exercised by the LSI-11 console subsystem. In the cluster environment, the system environment, and the user environment, control is exercised in the VAX-11/78¢ CPU. The cluster environment supports only standalone diagnostic programs. level It includes level 4 programs and some level 3 programs.theThechannel 3 programs supported are those that test the CPU and adapters. The that system can environment run in the supports peripheral standalone mode. programs and level 3 peripheral programs. diagnostic These include programs 1level 2 The user environment supports only programs that can be run under VMS, namely levels 2R, 2, and l. In general, the diagnostic system uses a building block approach When to testing (and subsequent fault detection and isolation). system d standar the the diagnostic programs are executed in m (basic) set checkout sequence, they will initially test a minimu After these on. operati proper of logical functions to ensure their x block is comple more and basic operations are verified, a larger tested, using the previously tested block as a base. This sequence is implemented consistently from the ROM resident- power-up tests (which check the console) to interactive system tests executed as user mode tasks under the VMS operating system, as shown in Figure 1-2. in a It may be that a diagnostic program will indicate an error er anoth by osed diagn y easil hardware component which is more a te indica may m progra program. For instance, the bus interaction also may m progra ility failure of a tape drive. The tape reliab detect the same failure or a related failure, but the problem may 1-4 PROGRAM MODE ENVIRONMENT CONSOLE ENVIRONMENT OFF-LINE (STANDALONE) | CLUSTER ENVIRONMENT PROGRAM LEVEL | CONSOLE LEVEL LEVEL4 LEVEL 3 SYSTEM ENVIRONMENT LEVEL 2 ON-LINE (UNDER VMS) USER ENVIRONMENT LEVEL 2R LEVEL 1 TK-1170 Figure 1-1 Diagnostic Program 1-5 Mode, Environment and Levels T |1| 2 RK611 RPOX/DCL ALONE ONLY STAND (DIRECT 1/0) REPAIR DIAGNOSTIC (ESRCA) (ESREA - E) PARTS A-E DIAGNOSTIC REPAIR LEVEL RK611 MANUAL INTERVENTION TESTS (ESREF) LEVELaj STAND ALONE ONLY 1/0) (DIRECT FUNGTION LEVEL STAND ALONE OR UNDER VMS (QUEUE 1/0) TAPE DRIVE FUNCTIONAL TIMER (ESMAB) RPOX RMO3 FUNCTIONAL FUNCTIONAL (ESRDB) (ESRBA) DMC EXERCISER (ESDBB) DIAGNOSTIC DIAGNOSTIC RP/RK/RM TAPE DISK (ESMAA) (ESRAB) LOCAL TERMINAL DIAGNOSTIC FORMATTER RELIABILITY (ESTAA) | 9-1 DISK TERMINAL (ESRAA) (ESTBA) DIAGNOSTIC RELIABILITY STAND ALONE (ESAAA) MULTI- RP/RK/RM LEVEL2 4 | LINE PRINTER DIAGNOSTIC BUS OR UNDER VMS (ESXBA) UNDER VMS LEVEL 2R ONLY SYSTEM (QUEUE 1/0) EXERCISER TK-0606 Figure 1-2 VAX-11/780 Diagnostic System Hierarchy (Sheet Program 1 of 2) . DEDICATED LSI-11 LSI-11 DIAGNOSTICS TESTS PROGRAM 1/0 MODE CONSOLE- POWER UP TESTS oDT MOST BASIC LEVEL (1BM RESIDENT) CONSOLE PROGRAM E 1/0 MODE L—— CONSOL BASED STAND ALONE ONLY HARDCORE TESTS ——| MICRO- DIAGNOSTIC |—— MICROTESTS. PROGRAM HARDCORE INSTRUCTION LEVEL 4¢ TEST L1 (EVKAA) ! > oa———— CLUSTER EXERCISER (ESKAX) STAND ALONE ONLY LEVELSfi (DIRECT 1/0) ] AL ] RH780 (MBA) DW780 (UBA) DIAGNOSTIC (ESCAA) DIAGNOSTIC (ESCBA) -~ TK-0607 Figure 1-2 VAX-11/780 Diagnostic System Program Hierarchy (Sheet 2 of 2) be on the tape drive controller, the (CPU). Proper use of the six levels of enable the field accurately. service engineer to RH780 (MBA), or the KA780 diagnostic programs should identify the failure quickly and 1.4 DIAGNOSTIC SYSTEM EXECUTION Most of the diagnostic programs In other words, they require ENVIRONMENTS must be run off-line (standalone). exclusive use of the VAX-11/780 computer system and will not run under the VMS operating system. Diagnostic programs in levels 3, 4, and the console level are of this type (Figure 1-2). The diagnostic programs in level 2 can be run off-line or on-line (under VMS). ” Off-line diagnostics must be run from the console terminal. On-line diagnostics system and will mode programs. environments 1.5 On power CONSOLE up, a may share be the Figure required DIAGNOSTICS set of ROM by run from computer 1-3 the any shows various resident terminal system with tests the the user execution diagnostic verifies on other programs. the proper functioning of the LSI-11 within the console subsystem before the console program is booted from the floppy disk. If the console program cannot be booted, the ROM resident tests, together with ODT, can be used to 1isolate VAX-11/78@9 Diagnostic Appendix D. In addition, be used to subsystem. The perform console ~ in-depth subsystem, provides the functions: basis Traditional DEPOSIT, lights Diagnostic and to Store tests and START, capability Control fault. For details see the on each component of the console in connection with the console program, the diagnostic system with the following for HALT, the System User's Guide (EK-DS78¢-UG-001), a set of dedicated LSI-11 diagnostics may switch and functions single maintenance load control as EXAMINE, instruction functions, diagnostic (WCS), such microcode execution, including into the Writable control single step clock functions, and examine key system points via a serial diagnostic visibility bus (V Bus), and to deposit and examine data 1in 1locations in the VAX-11/780 main memory and I/0 space Operator The console to load and communication with the VAX-11/780 software. program enables the operator to run microdiagnostics, the diagnostic supervisor (in the standalone mode) run and the standalone native code), and to macrodiagnostic boot the programs operating 1-8 system. (using VAX-11/780 DEDICATED __ coNsOLE LSI-11 __ oDT LSI-11 TESTS \ POWER UP TESTS / CONSOLE / PROGRAM I \ | LOAD FROM INSTRUCTION HARDCORE DIAGNOSTIC TEST SUPERVISOR VAX/VMS / I_____cowsous PROGRAM / DIAGNOSTIC SUPERVISOR )\ LOAD FROM * * SYSTEM DEVICE / \ LOAD FROM SYSTEM DEVICE \ 61 MONITOR / \ DIAGNOSTIC SUPERVISOR CONSOLE FLOPPY MICRODIAGNOSTICS —l / ' MICRODIAGNOSTICS HARD CORE TESTS MICROTESTS 2 l - GO CHAIN DIRECT 1/0 - FAIL CHAIN | / . / KA-11/780 CPU CLUSTER EXERCISER / guyggaflgpg';\gggfl,c TMO3/TEE16-TU77 TAPE DRIVE FUNC TIMER / RPOB/FUNCTIONAL DIAGNOS — / DZ11 DIAGNOSTIC Qi/o R \ . \ TAPE RELIABILITY RP/RK/RM DISK FORMATTER QI/0 \ RP/RK/RM DISK RELIABILITY | \ EXER LINE PRINTER DIAGNOSTIC BUS INTERACTION CR11 CARD READER DIAGNOSTIC —_— e * THE NUMBER OF 1/0 DIAGNOSTIC PROGRAMS WILL GROW. Figure : I LOCAL TERMINAL DIAGNOSTIC RMO3 DISKLESS DIAGNOSTIC RMO3 FUNCTIONAL DIAGNOSTIC DR11-B DIAGNOSTIC I 1-3 VAX-11/789 Diagnostic System, Execution Environments _\____] TH-0373 , it Note that when the console program is running in the LSI-11 program or mode 1/0 console modes, two will always be in one of I/0 mode. With the exception of the Control P ("P) command, the console commands (console command language) listed in the help files are available only when the console program is in the ' console I/0O mode. In the console I/0 mode, the console program interprets the characters typed on the console terminal as console commands. In the program I/0 mode, however, the console program is transparent to the operator. The console program passes characters from the console terminal directly to the VAX-11/780 CPU for use by VMS or the diagnostic supervisor. Type Control P to switch from program I/0O mode to console 1I/0 mode to . mode Type TERMINAL SET program I/0 mode. MICRODIAGNOSTIC 1.6 console from switch to PROGRAM I/0 PROGRAM The microdiagnostic program provides module isolation for 1logic failures within the CPU, floating-point accelerator and MOS memory controllers. The program will detect stuck high/low logic functions and open or grounded etch and wire interconnections. The microdiagnostics are organized in a bootstrapping test sequence (i.e., building blocks) of the console interface, CPU hardware, cache—-translation buffer, I-stream buffer, Synchronous Backplane Interconnect (SBI), and memory controller and array. All detected faults result in an error typeout indicating the smallest set of modules to which the diagnostic can isolate the failure. The microdiagnostic program is by one initiated console command and executed from the CPU cluster test facility. The test facility consists Control of Store the console (WCS), subsystem, and the V Bus. console interface, Writable The microdiagnostic package consists of two major test divisions: console adapter and hardcore, and microtests. Each test division is controlled by an associated monitor that provides nondiagnostic services to that division. Both test division monitors are serviced by the console-resident microdiagnostic monitor. In addition to loading the test monitors, the microdiagnostic monitor retrieves microtest performs error sequences into WCS, overlays performs reporting, from test and the floppy dispatching manages fault 1loads test isolation. The disk, and sedquencing, microdiagnostic monitor also allows the operator microdiagnostic test selection and execution options (Chapter 4). Figure 1-4 shows overall monitor relationships and test sequencing. 1-10 MICRODIAGNOSTIC MONITOR [ N\ J v v HARDCORE MICROTEST MONITOR MONITOR ] v e , TEST TEST SEQUENCE SEQUENCE CONSOLE * DATA PATHS ADAPTER e TRANSLATION SEQUENCER . CACHE * MICRO e WCS * DATA PATH A BUFFER e INSTRUCTION * FPA OPTION e SBI INTERFACE BUFFER SUBSET * MEMORY CONTROLLER * MEMORY ARRAY TK-0752 Figure 1-4 Monitor Relationships and Test Sequencing 1.6.1 Console Adapter and Hardcore Division composed of a The adapter and hardcore division microdiagnostic islocated on the test stream of pseudo-instructions and test data ions are defined o-instruct console floppy disk. Note that the pseuddivisi on tests the console This . stream test the specifically for and a subset of the adapter (CIB module), microsequencer, WCS,into the console memory data paths. The hardcore monitor is called or, in turn, by the microdiagnostic monitor. The hardcore monit the floppy from data test of bytes) retrieves small blocks (+1.5K When the tion. execu ols contr then and r, into a console buffe ys current block has been completed, the hardcore monitoronoverla the of data porti this block with a new test block. The test lists of VAX-11/78a and words data of sed compri test stream is d into the WCS microinstructions. The microinstructions are loade tate modes. and executed in single bus cycle or single time-s Then, When an error is detected, an error header message is typed. typed and if the HALTD flag 1is not set, a trace message is addit ional the fault. This additional code is executed to isolate Bus . ctions instru compare testing will normally consist of V of the Figure 1-5 shows monitor residency and the basic flow console adapter and hardcore tests. 1.6.2 Microtest Division not covered by The microtest division completes testing of the CPU ng module. the hardcore division, and provides isolation tol aoffaili the microtest The microtests, which are executed under contro GO chain and FAIL monitor, are divided into two subdivisions: loaded into WCS and chain. The GO chain consists of microtests executed at full speed. The purpose of the GO chain isto tothedetect FAIL an error. If an error is detected, control is passed e modul ng faili chain, which isolates the error and reports the 1is chain FAIL through the microdiagnostic monitor. Note that the executed only on detection of an error. overlay is The GO chain consists of a series of WCS overlays. Each one or more in approximately 1K microwords in length and will conta first the loads microtests. Initially, the microdiagnostic monitor If no error 1is executed. overlay into WCS; that overlay is then This ed. execut detected, the next overlay is loaded into WCS and sequence continues until each test in each overlay has been executed, or until an error is detected. of the microtest When the GO chain detects an error, execution microt est address that detected the error is suspended. The error execution test micro rt is saved and used by the FAIL chain to resta to recreate the conditions that detected the error. test and begins fault The FAIL chain reenters the failing micro c number of ticks specifi a isolation. The microtest is clocked Bus signals are V in from the error address and then certa module, an faulty processed. If the V Bus signals identify the monitor. If these error report is made through the microdiagnostic 1-12 CONSOLE MEMORY . MICRODIAGNOS- ERROR " REPORT TIC MONITOR CORESIDENT WITH MICRODIAGNOSTIC LOAD AND MONITOR SERVICE CALLS HARDCORE MONITOR SERVICE CALLS TEST STREAM ERROR /X CONSOLE WCS BUFFER | EXECUTION EXECUTION ERR. YES DETECT NO EXECUTE NEW TK-0753 TES'lI' Figure 1-5 Hardcore Monitor 1-13 Residency/Test Flow ional V Bus signals are signals do not identify the error, addittent error which 1is not intermit processed. In the case of anexecu tion, a report is printed that chain FAIL g reproduced durin ing GO chain microtest. lists the modules involved 1in theandfail the basic test flow. Figure 1-6 shows monitor residency 1.7 MACRODIAGNOSTIC PROGRAMS in VAX-11 MACRO and The macrodiagnostic programs are written and 3 programs do 2R, Level 2, assembled in VAX-11 native code. d and executed loade be s not run independently; they must alway with the diagnostic supervisor. visor Diagnostic Super 1.7.1 that supports each The diagnostic supervisor provides a framework . It operates in time a at , one of the macrodiagnostic programs Two of these ions. funct three environments and provides two major environment em syst and (CE) environments, cluster environmentmode. supervisor ostic diagn The (SE), constitute the standalone the VMS under runs it when operates in the user environment (USE) modules rent diffe ts onmen envir operating system. In each of these major first The ated. activ rvisor are within the diagnostic supesuper the of tion preta inter the is visor function of the diagnostic 's terminal. The command 1line command line typed on the operator supervisor performs this interpreter (CLI) portion of the to control the 1loading, ator function, enabling the oper programs. The program test ostic sequencing, and execution of diagn r function of the majo nd interface (PGI) performs the seco required by some or ces servi n supervisor, providing a set of commo services include operator all diagnestic programs. The PGIformatting, memory management, interaction routines, error message that the operator can communicate and I/0 request handling. Notice with the diagnostic program only through the CLI and the PGI message service in the supervisor. de their own device The supervisor supports programs that provirequi re I/O services. that programs interfaces (direct I/O) and the standalone in run be must ams The direct I/O diagnostic progr since VMS ent) ronm envi em syst mode (cluster environment andheral devices. Programs, that do not inhibits direct access to perip queue on rely test under ces devi directly access the peripheral visor super ostic diagn the and I/0 system services. Both VMS these programs can run provide queue I/0 system services, so that m environment) or the syste the in either the standalone mode (in ic ent, under VMS). When the diagnost user mode (user environmI/0 services are run in the user mode, programs requiring queue I/0 requests directly to VMS. When the supervisor passes the queue are run standalone, the supervisor ams gueue I1/0 diagnostic progr em, providing the queue I/0 system emulates the VMS operating systthe functions of the diagnostic services. Figure 1-7 shows tic operating environments. gnos supervisor in the three macrodia 1-14 CONSOLE MEMORY MICRODIAGNOSTIC _, ERROR/TRACE MONITOR REPORT CORESIDENT WITH MICRODIAGNOSTIC LOAD AND MONITOR SERVICE CALLS MICROTEST MONITOR SERVICE CALLS GO EXECUTE CHAIN NEXT : OVERLAY WCS EXECUTION ERROR REPORT FAIL CHAIN TRACE VBUS SIGNAL REPORT EXECUTION YES NO ADDITIONAL VBUS SIGNAL PROCESSING _ TK-0738 Figure 1-6 Microtest Monitor 1-15 Residency/Test Flow CLUSTER ENVIRONMENT (CLUSTER EXERCISER RH780 DIAGNOSTIC DIAGNOSTIC VAX-11/780 SUPERVISOR DW780 DIAGNOSTIC) OPERATOR - > 1 _ PGI CPU CLUSTER VMS DIAGNOSTIC SERVICES TEST PROGRAM TERMINAL (VECTORS) CHANNEL SERVICES uuT SYSTEM ENVIRONMENT DIAGNOSTIC (DIRECT 1/0 PERIPHERAL VAX-11/780 SUPERVISOR DIAGNOSTICS, STAND ALONE) | cL > - PGI CcPU DIAGNOSTIC VMS PROGRAM (VECTORS) CLUSTER SERVICES TEST _ OPERATOR TERMINAL CHANNEL SERVICES | v > uuT TK-0746A Figure 1-7 Functions of the Diagnostic Supervisor Environments (Sheet 1 1-16 of 2) (Q1/0 PERIPHERAL DIAGNOSTICS, DIAGNOSTIC SUPERVISOR STAND ALONE) VAX-11/780 CLI OPERATOR > TERMINAL PGI VMS SERVICES Q 1/0 DRIVERS ?é’;?NOST'C CPU CLUSTER PROGRAM CHANNEL SERVICES uuT USER ENVIRONMENT Q 1/0 PERIPHERAL DIAGNOSTICS DIAGNOSTIC UNDER VMS SUPERVISOR N VMS VAX-11/780 ’ OPERATOR * > PGI TERMINAL -~ DIAGNOSTIC VMS TEST VMS SERVICES OPERATING PROGRAM (VECTORS) SYSTEM CPU [ UsTER - uuT CHANNEL SERVICES TK-07468B Figure 1-7 Functions of the Diagnostic (Sheet 1-17 2 of 2) Supervisor Environments 1.7.2 The the Cluster Diagnostic Programs CPU cluster exerciser, the RH780 DW780 (UBA) diagnostic program hardware. They run under diagnostic supervisor, in 1.7.2.1 CPU package consists Cluster diagnostic program, and test the VAX-11/788 cluster the cluster environment portion of the the standalone mode. Exerciser of (MBA) three Package -- diagnostic The cluster programs. exerciser The package provides a comprehensive functional test of the CPU cluster, including the CPU, the Unibus and Massbus adapters, and memory. The first program (ESKAX) 1is the quick verify portion of the CPU cluster exerciser package. The second program (ESKAY) tests the native mode instruction set of the VAX-11/780. EXKAZ, the third program in the package, checks memory management and the PDP-11 instruction set (in compatability mode). The CPU cluster exerciser programs identify failing subsystems. For further fault should run the microdiagnostic program or cluster exerciser will detect the failing functions and isolation the operator restrict the desired CPU program to the minimum number of modules which failure, through commands to the diagnostic supervisor. 1.7.2.2 RH788 (MBA) Diagnostic Program -- The RH78¢ (MBA) diagnostic program tests the majority of the MBA logic regardless of the type of peripheral device attached to the Massbus. Although the program does not provide explicit component 1level fault isolation, every detectable error 1is associated with an operator-selectable not attempted. scope is possible with a the Massbus. Use of of the MBA that either The of Diagnosis the Massbus of attached transceivers Massbus exerciser (MBE, RH11-TB) an MBE on the Massbus also allows ability to perform high speed block a device or a bus terminator must be Massbus to enable three levels. 1. loop. Verification program execution. The program devices and is cables attached to verification transfers. Note attached to the tests the MBA at ' first 1level checks basic functions. The functions tested are those which are necessary for subsequent, detailed fault detection. The objective is to 1locate functional failures prior to testing for explicit bit failures. Map register access, virtual address register access, tested 2. and at correct this The second high/low). to the setting input buffer level of testing locates The program toggles bits CPU, up data byte selection are level. and it specific sets and commands clears and bit failures (stuck directly accessible bits conditions. indirectly by The third level determines the ability of the MBA to meet 3. The demands. system program performs features. using the MBA wraparound transfers block These block transfers are executed in the maintenance mode and ensure that the MBA will support data transfers typically associated with In addition, the program tests the system software. conditions. diagnostic program, of the UBA logic. operator-selectable scope (UBA) detectable Every attached devices test the DW78¢ The loop. to legal the RH784 (MBA) diagnostic program tests most error with associated is program does Unibus. the Like -- Program Diagnostic (UBA) DW780 1.7.2.3 all under CPU the interrupt the MBA to ability of However, not if attempt an to Unibus a exerciser is attached to the Unibus, the program will verify the integrity of the Unibus transceivers and the ability of the UBA to respond to device-initiated functions. at seven 1. 2. 3. The program tests the UBA levels. The program tests the basic functions necessary for subsequent fault detection: the addressability of the UBA registers, their initial states, and whether they can be written. read and The program and BRSVRSs). UBA logic tests the RAM addressing capability of the (accessing map registers, data path registers, Power-fail and interrupt functions of the UBA are tested next. 4. The program creates and tests all error conditions. 5. Extensive data the direct data path, path the 6. registers, tests transfer the the Unibus check the map registers, buffered address data paths, and data the lines, data and microsequencer. The device tests check all types of data transfer on the Unibus: DATI, DATIP, DATO, DATOB initiated by the UBA and by the UBE. Interrupts from the UBE to the CPU are also tested at the four BR levels. 7. The contention logic test checks for race conditions when the four microsequencer select lines (UBATT SEL, SB SEL, DMA SEL, FILE WRITE SEL) are asserted at about the same time. 1-19 1.8 PERIPHERAL DIAGNOSTIC In accordance with the whole, the peripheral hierarchy. test Repair specific exception of executed in the of diagnostic and functional peripheral the PROGRAMS structure line the 1level devices. printer standalone and mode diagnostic programs are programs These the are (with diagnostics) system as a 1in a designed to programs terminal under system organized the must environment be (SE) services of the supervisor, since they provide their own access (direct I/0) to the devices under test. The diagnostic programs which rely on VMS, or the supervisor, for access to the units under test (queue I/0) are each designed to test a range of peripheral device types. For example, the disk reliability program (ESRAA) will test all disk drive types supported by the VMS operating On error out system. detection, both the function, expected provide dump and the repair failing the device data diagnostic controller contents received register level of relevant patterns. The to the system out the failing reliability information register dumps. and on dumps and call program tests SBI, Massbus, (i.e., will the registers, functional exerciser system buses activity, and and The error is detected. The provide more detailed addition programs module call failing and level 1list programs function when an formatter level programs the failing function in the integrity of Unibus) under the heavy major 1I/0 it highlights any interaction problems that result. The program should be run as a dedicated process under VMS. No other program may run concurrently or compete for system resources, since the program requires the use of all system resources. 1.9 OPERATOR/VAX-11/788 COMMUNICATION The operator communicates with the VAX-11/78¢ computer through the console subsystem. The console subsystem provides a programmed interface between the console terminal and the VAX-11/78¢ hardware and software, including the diagnostic system. The console - subsystem hardware single floppy disk line units, control of an LSI-11 and controller, VAX-11/7880 CPU console a panel consists drive on the VAX-11/78¢ CPU microprocessor a terminal interface cabinet. The (11/83), and two (CIB), console a serial and a program includes a console command language and the software utilities that provide operator console functions. These functions are required for VMS and diagnostic support. The paragraphs that follow for a introduce detailed the basic console functions. Refer to Chapter description of the console command language. 1.9.1 Console Terminal Modes The console terminal serves as and as a operating In to VMS operator modes: console console the kernel I/0 mode, console test the panel functions. the terminal. console The program's console I/0O mode and terminal serves as functions, CPU debug In this mode 1-20 program console I/O the I/0 program 2 device has two mode. operator interface functions, CPU not terminal and input is Passed to the VAX interpreted invoked. by In I/O program terminal. the All ISP-level the 1ISP-level LSI-11, mode terminal software. and the terminal input is software. All All appropriate terminal console serves passed, as character and CPU clock controls, and elements. display 1.9.2.1 Program setting Control -- The certain console logic to a defined ISP-level program instruction counter, addition, the as execution well console with a specific file instruction execution VMS by character, as operator at can through a ISP-level include and modification initialize state. a terminate available point It the can specified instruction a. the system load device, and initiate predefined address after the load. The a ISP Main b. CPU the system c. d. CPU I/0 instruction memory, I/0, by loading elements: general byte, registers space: (R@--R13, longword processor register registers: byte, word, SP, internal be accessed, 1longword, quadword PC), quantity space: word, longword longword and processor quantity quantities depending on register e. ID bus f. VAX-11/788 V Bus (Visibility Bus) channels displayed (V Bus channels are read-only) g. VAX-11/780 data registers: main (WCS) can be floppy disk. length longword memory loaded from 1-21 console in the and The address spaces can quantities specified below: the memory execution. general, space. memory register level main quantities In from at including register addressing read, and written in the bootstrap Memory Element Display and Modificati on -- The display and modification of memory elements VAX-11/780 by can 1.9.2.2 allows by execution. can stop CPU of initiate console also is are to checking, etc. is performed transparent to the VAX-11/780 the software is passed directly 1.9.2 Console Panel Equivalent Functions The functions in this group are those normally traditional console panel. These functions program a validity by VMS. The console program is software. All terminal output from to the console terminal. memory input functions quantity and/or files Writable on the Control console can be Store subsystem controlled by the 1.9.2.3 Clock Control -- The CPU clock canforbe use in hardware or k mode console to provide single step cloc e modes available 1include singl software debugging. The control cycl e step, and single SBI time instruction step, single SBI bus step modes. state ams to execute Single instruction step mode allows ISP-level progr CPU to enter the causes the one instruction at a time. This mode tion. halt state after the instruction execu s the CPU clock to stop each Single SBI bus cycle step mode cause ted. TO remains asserted until time SBI time state @ (T®) is asser causes the clock to resume a control signal from the console next SBI T#@. operation. The clock ticks until the causes the CPU clock to assert and Single SBI time state step mode or T3) until a control signal from hold a time state (T¢, T1l, T2, held. the console causes the next time state to be asserted and 1.9.3 Console Control Functions ol of numeric radices, The console control functions allow contr provide for displaying and th, leng addressing modes, ands. data Functions are also provided that repeat console and CPU statu ands into a single executable commands and 1link multiplethe comm console provides a means to control command list. In addition, acters the number of fill characters to be added after special char are sent to the console terminal. specification of Default Settings -- The console allows inpu t and output, s, radix of numeric defaults for addressing mode Any default and the data length of addressable memory elements. ole command. 1.9.3.1 setting can be overridden within the context of a cons a. wvirtual, The default addressing modes can be set , for physical, ID Bus, V Bus, general register or internal (processor) b. C. d. register. and output can Default radices for console numeric inputradi x. be set to octal, decimal, or hexadecimal Defaults for memory element data lengths can be set for byte, word, longword, and quadword. Power-up defaults -Address x Radi Data Physical Type Hexadecimal Longword Length 1-22 (32 Bits) 1.9.3.2 display Status CPU and Displays -The console provides a means to console subsystem status. The CPU status includ es the stop/run state of the instruction set processor, the current clock step mode, and the state of the Stop on Microbreak Match Enable (SOMM). Console subsystem status includes the current setting of all console defaults and the number of terminal fill characters. 1.9.3.3 Command facility that executable Linking allows 1list. and Repeating -- The commands to be multiple Commands to be console linked provides a a single into 1linked are entered allows the diagnostic into an user to internal console queue. The console operator can specify execution of the command gqueue one pass at a time. Or, the queue may be executed Create continuously. short debugging The facility CPU and also of facility console provides command execution This operations. console single routines a commands facility or 1list continues of until terminated allows maintenance subsystem logic to invoked by Once by use in hardware continuously commands. personnel for the to execute a initiated, command operator. scope console the The repeat operation of commands. 1.9.3.4 Real-Time Delays -- The console provides a facility for introducing real-time delays of varying duration between the execution of console commands linked with the command linking facility. the This console's function has processing no of effect the command queue. The console commands complete (e.g., that invoke CPU initialization). delay facility 1-23 on next is the CPU, sequential provided functions which but only command for use require delays in the after time to This chapter command are describes facilities. included. Also CONSOLE PROGRAM AND console command language the Where appropriate, included are examples all 2.1 The PROGRAM OVERVIEW paragraphs provide a basic modules. Note that the services are contained in the LSI-11 4K ROM provides services for console microdiagnostic execution, VMS 2.1.1 error Getter functions of this from the provide a console terminal check point (or (console null program which overview provided and 8K of by RAM. the the console console The console interface, and remote Command basic module are to retrieve a command line command 1line routine), and 1loop for the console program (get wait) a loop). spends the majority of its time in the null loop, of a series of test points and conditional branches bootstrap initiated, VAX-11/784 CPU halted, etc.). Should consists (e.g., any usage console control, operator support functions diagnosis. The associated command CONSOLE following software The and of applicable messages. CHAPTER 2 DESCRIPTION CONTROL of these functions performs be a branch to the initiated by that flag. active (i.e., flag set) the program the request routine required to Parser and Parser Tables parser module decodes the terminal and provides a pointer command typed on the console appropriate routine to service 2.1.2 The eéxecute the condition command. it for The parser decoding checking to the manipulates (e.g., the discarding command leading for a delimiter in the command input string ). The is decoded through a set of syntax check trees that pointers to the appropriate execution routin e within the execution module. set tables up in Any data included required as part of for the command line blanks execution to and command provide command has been parser. 2.1.3 Command Executor Module The command execution pointer from the parser is passed to the command execution module entry point. This entry point provides a pointer (i.e., starting address) to the appropriate command execution routine (e.g., DO BOOT, PERFORM QUAD CLEAR). The basic sequence a. of module Apply data action switches is: or defaults length. b. Execute c. Test for command routine. repeat function. for radix, address space, and If a repeat function specified, is routine the the monitors console for the control character (°C) required to terminate the loop. The module also supplies the required subroutines to support the execution functions (e.g., open a file, load a file). Following control command execution, 2.1.4 Additional Services is passed within the command getter module. loop null console the to the In addition to the command decoding and execution functions, console provides several other services. remote Remote support is provided to allow console access from a terminal or computer. The facility also enables communication between local and remote operators, as well as transfer of console control between local and remote operators. services These VMS services are also provided. routines include for terminal support and the associated drivers, as well as a file service for the floppy drive and its associated drivers. The code for some of these services is contained in the ROM as well as the RAM. These services are provided through emulator traps. The console software also includes the basic LSI-11 processor and p, memory tests, that are executed on each power-up and bootstra and the primary bootstrap routine for the floppy. 2.2 COMMAND TERMS AND SYMBOLS Table 2-1 provides a summary of terms and symbols used to describe the syntax of the console Table 2-1 Term/Symbol < > commands. Term and Symbol Definitions Definition Used to denote a category name e.g., a valid OR Exclusive the indicate ters parame of ion select (i.e., command line). For example, <A>1<B> means () Used [ ] is to be to syntactic be (label) represents address to Used operation within a both <address> name category either <A> or <B> but not selected indicate units of that the one of expression is the to selected an of part the indicate to Used I WAIT e.g., l optiona is that sion expres ] indicates that the wait an optional count argument 2-2 command takes Table 2-1 Term and Symbol Definitions Term/Symbol Definition <blank> Represents one <count> Represents a <XYZ -list> or more numeric (Cont) spaces count one or more occurrences category indicated by XYZ <address> Represents an <data> Represents a numeric argument <qualifier> Represents a command modifier prompt> Represents string {reverse tabs Indicates the <input or prompt> <CR> address the from argument console's (switch) input prompt '>>>! Represents the linking prompt Represents a console terminal '<<<' carriage return <LF> Represents a / Delimits command + a Represents as an 2.2.1 EXAMINE An Notation [ default argument a. b. command An examine or more An command last data length Used as (The address an in address qualifiers address in feed when used an examine or default address is used plus the current bytes.) address deposit its line argument command and referenced. in an examine represents the Examples <qualifier examine from the the last terminal address deposit or console - list> ] ([<blank> explanation follows. command may <address> optionally contain qualifiers. examine command argument. If by one more or the may address spaces or 2-3 optionally is specified tabs. ] a list of one contain an address it be preceded must Following is a list of valid examine commands: EXAMINE EXAMINE/BYTE/VIRTUAL EXAMINE <space> 123456 EXAMINE <tab> 123456 123456 <tab> 123456 EXAMINE/WORD <space> EXAMINE/WORD <space> 2.2.2 Console Command Abbreviations be words may command by abbreviated typing enough only characters to identify each command word. The minimum abbreviation each command Each console command description is divided into three, five descriptive segments, depending on the particular four, or command. for parentheses in specified is command each description paragraph title. in Example EXAMINE/VIRTUAL/BYTE to: may be abbreviated 1234 E/V/B CONSOLE COMMAND DESCRIPTIONS 2.3 segments The descriptive The are: describes the command structure a. Syntax: b. Command description: a brief paragraph describing command operation, general restrictions, or available options a description the of console program response C. Response: d. Qualifiers: a list of applicable command modifiers e. Options: specified the to 2-1. terminated 2.3.1 Note with that a <CR>. Boot Command Syntax: BOOT [ alternate use every (B) <device name> The boot command command command a list of applicable command options. segments descriptive Table The 1234 may ] the terms command (or and must line) in be <CR> initiates a VAX-11/780 system bootstrap sequence. support system devices. bootstrap operations <device name> has the following format: two-letter device mnemonic (e.g., DX for one-digit symbols defined command unit number. 2-4 from a set DDn, where DD floppy), and n is is of a a If no <device name> is given with the boot comm and, the console will perform the boot sequence for the default system device by executing an indirect command file named DEFBOO.CMD. file contains the necessary console commands whichever device is chosen to be the default system If <device execute the name> an is indirect <device name> given with the command file named the console given. command, This indirect to boot device. from console will the DDNBOO.CMD, where DDN is Example BOOT RP# command mode -- will file after cause Bootstraps from by devices indirect commands the execute an (console enters the command program I/O file). other than device are executing Performed CPU to RP@BOO.CMD named command necessary to boot bootstrap completion, a console terminal. 2.3.2 Clear Command (CL) Clear<BLANK> (SOMM ! Syntax: CLEAR SOMM STEP default containing the console alternate device. After successful response from VMS will be displ ayed on Step) The Stop the console Any system an on Microbreak existing Match interface (disabled). CLEAR the files indirect clock step (SOMM) board mode is (single enable on cleared -- bus cycle, single time state, single instruction) cleared, and the VAX-11/788 CPU clock will be the normal (free-running) mode. Response: 2.3.3 Syntax: <CR><LF><CONSOLE-PROMPT> Continue CONTINUE Command (C) <CR> The continue command causes the instruction execution at the addre ss CPU VAX-11/7886 currently program counter (PC). Note that CPU The console enters the program continue command. performed. the Response: 2.3.4 Syntax: <data> is in <CR> <LF> Deposit DEPOSIT <CR> Qualifiers: (console Command | program initialization I/O mode I/0 mode) begin in the is not after issuing <address> <blank> (D) <qualifier /BYTE, enters CPU to contained /WORD, - /PHYSICAL, /V BUS, /INTERNAL, for description of defaults.) 1list> /LONG, ] <blank> /QUAD, /GENERAL. 2-5 (Refer /NEXT, to /VIRTUAL, Paragraph 2.7 (deposits) The deposit command writes into the address <data> will depend on the qualifiers specified. The address space usedquali fiers are used, the current no If specified with the command. address type default will determine the address space to be used. Response: <CR> <LF> <input prompt> The <address> argument may also be one of the symbolic addresses defined in Table 2-2. Table 2-2 Deposit Symbolic Addresses Definition Symbol Deposits to the processor status longword PSL (general PC Deposits to the program counter SP Deposits + Deposits to the location immediately following register F) register E) to the stack pointer ' (general the last location referenced. For physical and virtual references the location referenced will be the last address plus n, where n = 1 for byte, quadword. 2 for word, 4 for longword, 8 for For all other address spaces, n is always equal to 1. Deposits to the location immediately preceding - the last location referenced Deposits to the location last referenced Deposits to the address represented by the * @ last data examined or deposited. Example: Examines stack pointer E SP Deposits <data> to the location specified by D @ <data> 2.3.5 Syntax: the contents of the stack pointer. Enable DX1l: Command Enable DXl: Qualifiers: None Enable console software to access floppy on those systems with dual floppies. 2-6 Response: 2.3.6 Syntax: <CR><LF> Examine Command (E) EXAMINE [ <qualifier Qualifiers: /PHYSICAL, Paragraph The examine <default The for description list> ] address> <address> is <blank> defaults.) reads and If displays <address> argument Table no examined. may also 2-3. Table 2-3 be Examine one the PSL Displays the processor Displays the program the stack SP Displays E) + Displays the - * @ <CR> <CR> Sample responses >>> <LF> location Displays the <tab> (general register EXAMINE/VIRTUAL <address output space identifier> underlined) 1234 1234 01234567 NOTE The translated physical address displayed for virtual exam ines. >>> G EXAMINE/G 00000000 0 98765432; GPR pPreceding referenced ABCDEF89 00005634 following location whose <address> examined or deposited. prompt> (console addresses register immediately the data 0 2-7 the (general immediately Displays last of current longword referenced. referenced <input EXAMINE/PHYSICAL 00001234 >>> <LF> status pointer location <CR> Address location last <data> the last the symbolic counter 1location location Displays the P the last ] /VIRTUAL, (Refer to contents of Symbolic F) the specified, Definition Response: <address> is Symbol PC P [ of command <address>. in - /BYTE, /WORD, /LONG, /QUAD, /NEXT, /ID BUS, /v BUs, /INTERNAL, /GENERAL. 2.7 specified defined <INPUT-PROMPT> is is the <address> 2.3.7 Syntax: Halt Command (H) HALT <CR> to stop instruction The halt command causes the VAX-11/788 CPU ISP ution of the instruction being execution after completing exec executed, when the console presents the halt request to the VAX-11/780 CPU. Response: <CR> <LF> (VAX-11/780 CPU indicates it has stopped) <LF> <input <tab> HALTED AT <contents of VAX-11/783 CPU PC> <CR> prompt> 2.3.8 Syntax: Help Command HELP <CR> (HE) displays a console The console opens an indirect command file that file contains a description of help file, CONSOLE.HLP. The help abbre viation rules, and it 1lists all console commands and console may be displayed. that files the names of all other help Response: Help file printed on console terminal. 2.3.9 Syntax: Initialize Command (I) INITIALIZE <CR> This command causes VAX-11/780 CPU system initialization. pt> Response: <CR> <LF> <tab> INIT SEQ DONE <cr> <LF> <input prom 2.3.10 Syntax: LINK Command Link Qualifiers: (LI) None ng. Console prints Link causes the console to begin command linkiands typed by user comm reversed prompt to indicate linking.ndAllfile for later execution. are then stored in an indirect comma Control C.terminates linking. Response: <CR>XLF><XREVERSE-PROMPT> (Refer to Paragraph 2.9 for further details.) 2.3.11 Load command (LO) Syntax: LOAD [<qualifier 1ist>] <blank> <file specification> <CR> data from the console's The load command is used to read file or Writable Control floppy disk to the VAX-11/780 main memory, defin ed in Table 2-4. Store (WCS). The applicable qualifiers arecommand, physical main If no qualifier is given with the load memory is loaded. Table 2-4 Qualifier /START: Load Command Qualifiers Definition <address> This qualifier address for specifies the 1load. qualifier 1is given, the start loading at address 4. /WCS This to Perform Command 2.3.12 Syntax: None The command perform by Response: <dependent a 2.3.13 Quad Syntax: QCLEAR The quad specified. link Clear on the WCS is loaded. a file commands Command clear command clears The command is used Reboot of linked commands previously is always <address> unconditional Command linked> (Q) <physical The <address> location. The 2.3.14 address> the to <CR> quadword clear an at the <address> uncorrectable ECC interpreted as a physical main given is forced to a quadword clearing of the three low-order without disturbing (REB) REBOOT Qualifiers: the that will command. <blank> boundary by the address bits. This start console (P) executes generated Syntax: specifies starting no Perform Qualifiers: error. memory qualifier be a TIf command None causes a console software VAX-11/788. Response: <console start-up display> reload, 2.3.15 Syntax: Repeat Command (R) REPEAT <console command> <CR> A repeat command causes the console to repeatedly execute the specified <console command> until execution is terminated by a Control C specified (°C) (Paragraph for <console 2.8). command> Any valid with the console exception command of the may be repeat command. Response: Dependent on specified. (SE) Set Command 2.3.16 Syntax: command SET <blank> DEFAULT [<blank> <default option>] <CR> or SET <blank> STEP [<blank> <step option>] <CR> or SET <blank> TERMINAL <blank> (fill: <count>! PROGRAM) NORMAL)] <CR> <CR> or SET <blank> SOMM <CR> <blank> CLOCK or SET [<blank> (SLOW! FAST! or SET set numeric console <LF> <CR> Response: The RELOCATION: default input will apply <CR> <input prompt> command and <data> sets output, (for all commands) console address defaults when default type, a for and console radix data of console length. command does The not explicitly specify radix, address type, or data length. A set default command with no options specified will set all default settings to the power-up state. Applicable default options are listed in Table 2-5. Table Option Address Default Options 2-5 Set Default Command Options Format Physical Virtual Specification Sets default addressing mode as specified General Internal ID V Data Default Options Bus Bus Long Byte Sets default data length as specified Word Quad Default Radix Options Hex Octal Sets default radix for terminal numeric I/0 to radix specified 2-10 The to set the step command mode specified. 2-6. sets Table the The 2-6 Set Option Step VAX-11/780 applicable Step CPU processor modes Command are clock listed Specification Step Step Set Instruction Sets Bus Step The set State terminal a. Set command Terminal number of CPU clock b. Set set clock specified command by The the of set Fast = 1¢.525 Slow = 8.925 mode to CPU state prompts) = no the Response: console (Fast, CPU to the console enters clock a to Normal) the special terminal Slow, the frequency within the MHz argument) = 1¢.@ MHz (CIB). VAX-11/78¢ microbreak relocation parameters. MHz micro match PC Microbreak When ever register become (ID Match (SOMM) SOMM is set, 1if equal to the register 21), the command deposits <data> to the console's register. The contents of the relocati on register are the effective address of all virtual and Physical memory and deposits. relocation to transmitted on The two specifies Stop stopped. of after board the SBI count the the single added sets of to be interface of mode The VAX-11/788 arguments SBI = are The single to command is added selection <count> to step mode console CPU clock examines the clock single mode mode the contents set Sets time characters sets clock SOMM on contents step Program the where: (or CPU mode. command Normal enable I/0 one Fill: (e.q., Terminal program Sets cycle allows fill characters terminal. The mode Table Options instructi step on mode Set in <CR><LF><input-prompt> 2.3.17 Syntax: Show Command (SH) SHOW <CR> lay: The show command will cause the console terminal to disp a. b. C. ess ings for data length, addr The current default sett uts. outp and ts inpu type, and radix of address and data The terminal fill character count. uding the run/halt state The VAX-11/788 CPU status incl g. and current clock mode settin Start Command (S) 2.3.18 w. The two start command formats are described belo Syntax: START <blank> <address> <CR> ence of This format performs the equivalent of the following sequ console commands: 1. 2. 3. Performs a VAX-11/788 CPU initialization (>>> INIT). (>>> <address> 1is deposi).ted into the VAX-11/788 PC DEPOSIT PC <address> ed to begin VAX-11/7884 CPU A continue function is issu CONTINUE) . instruction execution (>>> T) Response: <CR><LF> (console enters program I1/0 mode) (for STAR Syntax: START/WCS <blank> <address> ence of This format performs the equivalent of the following sequ commands: VAX-11/780 micro PC. <address> is deposited to the ing mode. unn e-r fre CPU clock is started in Response: <CR>XLF> <input prompt> (for START/WCS) 1. 2. Next Command (N) 2.3.19 Syntax: NEXT [<blank> <count>] <CR> ck to step the -11/788 CPU clo causes the VAXnt>. The next command performed The type of step CPU d by <cou number of times indicate clock current state of the and issu 1is determined by the by the clock by ed and. A next comm a previous set step comm mode, as set will mode g) nnin e-ru (fre al is in norm while the VAX-11/788 CPU ion step mode for the duration of the default to single instruct command. 2-12 The console step, enters program and reenters I/0 mode console I/0 immediately before mode completed. Step-dependent responses terminal after the completion of specified below. a. instruction step: <KLF> <tab> HALTED AT soon as issuing the step the is are displayed on the console each of the count steps as Single <CR> b. Single bus cycle step: <CR> <KLF> <tab> CPT@ UPC <CR> <LF> <tab> <CR> <LF> <tab> CPT@ <count> is the option <currently depression space of CPTn specified, enters bar the <contents of = <contents PC> of UPC> state step: Single time c. If no as (where UPC = one step space bar n =1, step or 3) is performed, mode. While causes enabled 2, or <contents of UPC> one (i.e., bus in and this execution <cycle, the console mode, of time the each step state, instruction). A next command with an argument will not enable the space bar feature. For example, NEXT 2 will cause two steps to be executed; the console will then prompt for another command. An input of any character except SPACE will cause an exit from the space bar 2.3.20 Syntax: This step mode. Test Command (T) TEST [/COMMAND] <CR> command /COMMAND execution completed program invokes qualifier is is enter microdiagnostic issued with the (i.e., no errors begins immediately. invoked automatically. successfully The COMMAND qualifier to the its command is used mode initiating microdiagnostic Unjam Command 2.3.21 Syntax: This UNJAM command Response: 2.3.22 Syntax: to and If command, program. wait If no testing is microdiagnostic microdiagnostic cause execution. monitor detected) console the the microdiagnostic monitor for operator input before (U) <CR> initiates an SBI unjam operation. >>> Wait Command (WA) WAIT <blank> DONE The wait indirect command command has no effect unless it 1is file. When it 1is executed 2-13 executed from an from an indirect command be file, suspended a. A it causes until DONE of signal is VAX-11/780 b. C. resume execution of If the VAX-11/788 no DONE signal <@EXIT> and command file. Control command Response: <CR> CPU has C (°C) halts file to in the running the console will file. (or if the received, the entered on the to clock the of console command program DONE, execution 1is the a of command been the stops) console remainder console abort and prints of the terminal, execution of the file. <KLF> Indirect @ the of occurs: from receipt aborts causes execution following received On which 2.3.23 the CPU. A Syntax: further one <input (@) <filename> prompt> Command <CR> or @ DX1l: <filename> <CR> This command causes the console to open the file specified by <filename> and begin executing console commands from the file. Execution continues until one of the following occurs: a. A WAIT DONE command 1is read from the file (Paragraph 2.3.22). b. The end console of the indirect file is prints <@EOF> and prompts reached. In this case the for normal command input. c. A "C 1is execution 2.3.24 WCS Syntax: This Command command summary of type Response: 2.4 @ the The control to abort control console store store help debugger, file, debugger (Control COMMANDS commands. To store debugger the contains print out a this PERFORMED WITH commands require THE that prompt) VAX-11/783 the CPU VAX-11/78¢ allow the command to be executed. However, some do not require interaction with the VAX-11/788 with overlaying WCSMON.HLP, WCSMON.HLP. WCS> console executed it (W) invokes program. Most causing WCS console file, entered on the console of the indirect file. the a. Show b. Help c. Set d. Examine VAX-11/78¢ commands /V CPU running. e. f. Halt Clear g. Wait Bus 2-14 These Done RUNNING CPU be halted console CPU, and commands to commands may be include: Specifying running type any will out other cause the following <CR> <KLF> ? <CR> <LF> <INPUT 2.5 The to CPU NOT command while the VAX-11/7808 CPU is console adapter to reject the command and error IN message CONSOLE on WAIT appear 1in any mark, ignored. comment line, may A% \'4 Example command any in the first. (console >> ! >> EXAMINE THIS output IS A any LOOP, ! by COMMAND an When text character console terminal: ABORTED exclamation the in console the mark command position (!), detects within line a COMMENT THIS IS <CR> ALSO A COMMENT <CR> CONTROL CHARACTERS AND SPECIAL CHARACTERS 2-7 contains a description of the control characters special characters recognized by the console program. Character CONTROL C 2-7 is command 2.6 Table Table an underlined) VALID 1234 line. remaining begin including the PROMPT> COMMENTS WITHIN COMMANDS console allows comments, preceded exclamation A console the Control/Special Character and : Descriptions Description ("C) Causes the suspension of all operations such as: console a. b. Repeated command a of result a Successive result C. of Delays repetitive executions repeat operations a /NEXT as command as a qualifier resulting from a wait command d. Successive a e. steps next command Aborts further indirect resulting execution command current from of an file after instruction is completed. CONTROL O (70) Suppresses or enables console terminal output is console terminal 2-15 (on output. always a enabled input toggle Console at prompt. basis) terminal the next Table 2-7 Control/Special Character Descriptions (Cont) Description Character CONTROL U the deletion console “"U <CR> Typing RUBOUT typed typed be of 1last the since a before “U typed ("U) line terminator causes all characters typed terminator. 1line The echoes: <LF> RUBOUT deletes the last character on an input line. Only characters since the last line terminator can rubbed out. Several characters followed by deleted in sequence The first rubouts. backslash (\) can be by typing successive rubout echoes as a the character that has been deleted. Subsequent rubouts cause only the deleted character to be echoed. not (\) a to The next character typed Return <CR> is backslash another causes rubout be printed, followed by the new character Carriage that to be echoed. Terminates a console command line. 2-16 2.7 COMMAND QUALIFIERS AND DEFAULTS Qualifiers are used within a command addressing and the by length of data to specify arguments. the Defaults are type of applied the console when a command does not contain a qualifier specifying address-type or data length. An operator can specify the radix of a numeric argument by the use of a <local radix override> prefixed to the argument. The console will interpret numeric arguments in the curr ent default radix when an argu ment is not prefixed by a <local radix override>. Certain commands permit an addr ess argument to be defaulted. The <default address> used by the console is the next address following the last virtual, physi cal, or register address accessed by an examine dependent <default <default The 2.7.1 or more command. length, qualifier on than while allows one Note since a an a that the next address 1is byte reference longword updates reference the updates the command to examine or address. deposit Address Address the deposit data address> by 1, address> by 4. /NEXT operate or upon Type Qualifiers qualifiers are used type type of address register address. /VIRTUAL, within a command line to spec ify virtual, physical, ID Bus, V Bus The qualifiers for the respecti ve types are: /ID BUS, /V BUS, /GENERAL, /INT ERNAL. argument /PHYSICAL, as Virtual addresses that reference nonexist ent or nonresident pages cause the console to abort execution of the console command referenced the virtual address. In each case an appropriate will that error message will be typed out on the console terminal. Example To examine virtual EXAMINE/VIRTUAL Note that since are unique specified and when referenced. some address 1234 1234, type: <CR> register addresses have mnemonic name s that the /GENERAL qualifier need not be addresses such as PC, or SP, are unambiguous, mnemonic Example To examine of the the VAX-11/78% PC, following statements: EXAMINE/GENERAL E PC E GENERAL <CR> or F PC <CR> or <CR> 2-17 an operator could type either Address Type Defaults 2.7.2 lt to any command that The console applies an address type defaunot contain an address requires an address argument and bedoes set by using the set default qualifier. The default applied can command. Example The command: SET DEFAULT VIRTUAL <CR> ssing for will cause the console to default to virtual addre ent, but any console command that requires an address argum command does not contain an address type qualifier. Thus, the ss addre al EXAMINE 1234 would type out the contents of virtu 1234. Data Length Qualifiers 2.7.3 to specify Data length qualifiers are used within a commandtheline and. Data comm ed with the length of the data quantity assorciat or length may be specified as eithe byte, word, longword, rs, quadword by means of the /BYTE, /WORD, /LONG, /QUAD qualifie respectively. Example The command: EXAMINE/BYTE 1234 <CR> will type out the byte at address 1234. processor registers are longword Since VAX-11/788 CPU general and lt to longword data quantities, all register references will defauof the data length length, regardless of the current setting default. Data Length Defaults lt to any command that The console applies a data length defau a data length qualifier. The references data and does not contain set default command. 2.7.4 default applied can be set using the Example The command: SET DEFAULT WORD <CR> will cause the console to default to word data length. 2-18 The command: EXAMINE 1234 <CR> will then reference address 1234. Since the word which has its first byte at all VAX-11/788 CPU general and processor registers are quantities, all register references will default to data 1length, regardless of the current setting of the data length default. Word leng th must be specified when acce ssing Unibus device registers. longword longword 2.7.5 The Qualifiers for RADIX console output for a (/OCTAL or /HEX). The radix of qualifier current default command can be sepcified by a qualifier will override the radix. 2.7.6 Defaults for RADIX The default radix for console numeric inputs and outputs is selectable as either HEX or OCTAL via the SET DEFAULT HEX or SET DEFAULT OCTAL command. 2.7.7 It is in Local Radix Override frequently convenient to specify an address or data a radix different from the curr ent default radix. allows the current default radix to be overridden by <local <local radix override> as a radix override> can be to any any of the one 3 O (percent 0) for octal ¥ X (percent X) for hexadecimal The 1local characters Separated prefix radix of by override the numeric spaces or must from argument console including argument. following: numeric a A arguments arguments appear argument tabs The it that as the modifies, two and 1leftmost must argument. not be Example Assuming that the operator can deposit hexadecimal follows: DEPOSIT 2.7.8 Each address %X12A4 Default time Address examine computes the location address referenced is termed the 1224 default octal using radix value <local is 3456 radix octal, the into the override> as 3456 an location current or by the Facility deposit of the the command next command. <default is memory The executed, location the address of the since an examine address>, console following next the memory command ess will reference the next addrows: that does not specify an address the foll as <default address> by default. The console computes <default address> = <address used by last examine or deposit command> + n, where n is 1 for byte references 2 for word references 4 for longword references 8 for quadword references ands, and s a sequence of console commcomm The following example showdefa and is each r ult address afte the the value taken by the ndent, depe th leng next address is data executed. Note that e upda e a whil 1, by ess> addr tes the <default since a byte referenc address> by 4. longword reference updates the <default Example of default address facility (all numbers are hex): <default address> after execution Command EXAMINE/BYTE 2341 2342 (uses <default address> 2342) 2344 (uses <default address> 2344) 2348 EXAMINE/WORD EXAMINE/LONG general register 1 (R1) EXAMINE/GENERAL 9 general register E (SP) EXAMINE/GENERAL D general register @ (R@) EXAMINE PC rence. Note that the <default address> is RO following a PC refe symbol (+) Address in a Command —— Theine 2.7.8.1 Specifying Defaultargu command exam or ment in a deposit ess can be used as an addrault siting depo its perm ess>. This symbol to represent the <def essiaddr ess addr the ng typi ve location without to (or examining) succ argument after the first deposit. Example ting at address 123456, To toggle-in a program star following deposit commands can be used: DEPOSIT DEPOSIT DEPOSIT 123456 <DATA> + <DATA> + the <DATA> the first, writes the <DATA> Each deposit command, after loca tion. the next successive memory into ed -- The last address referencand 2.7.8.2 Last Address Notation comm sit depo or ster) by an examine (virtual, physical, or regi(*). used as an The LAST ADDRESS may be aste risk aste is denoted by an risk in an ng typi by argument to an examine or deposit command place of the address argument. 2-20 Example The command: EXAMINE will If 1234 type the Examine <CR> deposit Use used <data> 2.7.9 The of as NEXT SLASH on Last an location the number to Notation a Data as or an in <last examined CPU The symbol -- or the Argument deposit or will used be - (minus -- as The sign) to 1location symbol command. the the into command 1last examine and with translated examine preceding 1234. general address> are Address a location names deposit immediately into VAX-11/789 console. in 356 the register <address> 1234. is replace address deposited /NEXT operate an the 1location referenced. Syntax: Mnemonic Address as of commands will Preceding the last deposit by specify 2.7.8.4 issued addresses used be will registers be can 356 address. 2.7.8.3 contents * and register register the command console processor can out next DEPOSIT the <CR> @ The address. Qualifier NEXT [:<COUNT>] qualifier multiple permits examine sequential and deposit addresses. commands to The <count> argument specifies the number of additional exec utions of the command to be performed after the initi al execution. The default value for <count> is one. Example The 1 command: EXAMINE/BYTE 1230/NEXT: 2 is by 1. 2. evaluated the console The console any applicable default The command, with console updates initially types the out <default as follows: evaluates the values. applied the 2-21 defaults, contents address> command to of 1231. is and applies executed. location 1239, The and console. The now evaluated by thenumb The /NEXT switch iscomm er of times and operation the 3. console repeats the ment. Each execution uses indicated by the <count> arguits address argument and the <default address> for afterwards. In this updates the <default address> are successively typed example, locations 1231 and 1232 out. The final value of the <default address> will be 1233. Example If 2 the command: EXAMINE/NEXT:2 <CR> the previous example, the is issued following the command inand will be typed out. contents of locations 1233, 1234, not1235 ain an address cont Since the examine command doesof the command will use the argument, the initial execution wing the follo 1233, was current <default address>, which command in the previous example. ifier to examine or deposit Note that when using the /NEXT qualregi sters, the NEXT register general successive VAX-11/784 CPU be RO. after the PC is defined to Example 3 The command: EXAMINE/NEXT:5 GENERAL D will type out the contents of R13, SP, PC, RO, R1l, and RZ, in that order. COMMAND REPEAT FACILITY ands to be 1is provided to allow comm The command repeat facility CPU commands ole cons by ked invo logic 2.8 executed repeatedly so thatfollowing paragraphs describe the repeat can easily be scoped. The facility commands and capabilities. Repeating Commands 2.8.1 Example The command: REPEAT EXAMINE 1234 <CR> of will continuously examine and display the contents location 1234. n continues until terminated by Once initiated, repeated executio . the operator typing Control C (°C) on the console keyboard 2-22 2.9 COMMAND The console's be 1linked commands. can be LINK FACILITY command by the Once a executed link facility console into list one of pass 2.9.1 Link Facility Commands are linked linked at a allows a successive commands executable 1list single commands time, is constructed, the executed continuously. or to of 1list Operation by entering LINK on the console terminal, causing the console to enter the link mode. LINK is then followed by the desired commands. The LINK command is entered only at the beginning of the command string (i.e., at the beginning of the initial command one-per-line, 1line). with each Commands to command line console then returns a command. The linking C console. operation on the link mode be linked must terminated by prompt is (<<<) terminated be a The the next requesting by entering entered <CR>. a Control As the command string is entered on the consol e, the commands are stored in dedicated sectors (limit of 1@ sectors) on the floppy disk (RX01). When the command string is executed, the string is treated as retrieved, if it were parsed, etc.). The console command been is does terminated, already indirect execute Once no the command is entered string will entered before command list Should a output an can means after execute the causes linked command appropriate the C, error message PERFORM has to pass command. at a If the or PERFORM terminate the string, to However, command execution entered a commands added pass. that continuous C command retrieved, until linked one PERFORM one of be (i.e., command linked list can Control only be being a file next executed the Control and of commands be of command the commands further string by and input linked. The command continuously the not issued. an executed, the incorrectly, when if becomes of the the commands time PERFORM part command the of list. console command is the will containing the syntactic error is executed. Typing a Control U ("U) while linking commands will cause the console to reject only the current command line. 2.9.2 Link Syntax: LINK Facility COMMAND <CR> COMMAND <CR> Usage <7C> Response: Dependent on command list. Example The operator device wishes register to after repeatedly VAX-11/78¢ 2-23 examine CPU the contents of a initialization. Since the CPU initialization requires a certain amount of time to complete, a delay must be inserted between the initialize and examine The commands. sequence (console output is underlined). LINK >>> LINK INITIALIZE <CR> enter causes the the link follows as is commands of <console to ticks to mode begin and linking. Delays <<< DELAY 5 <CR> allow five <clock initialize time to complete. Examine command is entered into <<< EXAMINE/LONG FFFFABBC <CR> string. entered prior is <<< PERFORM <CR> <"C> PERFORM >>> PERFORM <CR> Initiates execution. P FFFFABBC P FFFFABBC linking 12A00123 Command 12A@0123, etc. to termination. string executed continuously. CONSOLE MODE CHANGE 2.10 The console I/0 mode escape sequence causes the console to switch from console to program I/0 mode. The escape sequence to program I/0 is: SET TERMINAL PROGRAM <CR> In addition, the console commands START, CONTINUE, and NEXT also program enable I/0 mode. The program I/0 mode escape sequence causes the console to switch from program to console I/O mode. The escape sequence to console I/0 is: Control Note that Control P is not P (°P) recognized by the console if the console power switch is in either the REMOTE DISABLE position or the LOCAL DISABLE position. VMS COMMUNICATION WITH CONSOLE FLOPPY DISK 2.11 VMS must be able to read and write the console subsystem's floppy disk drive. These functions are available only when the console is in program I/0 mode. The following set of commands are supported by the a. console software. Write sector —- VMS supplies track, sector, and 128 bytes of data. Console returns status upon completion of write. 2-24 b. Read sector returns 128 -- VMS bytes of supplies track data, status of sector. read Console operation. Read d. Write sector with deleted data mark -- VMS supplies track and sector (no data required). Console returns status e. floppy status completion Cancel floppy -- of Console the following VMS: empty floppy silo, function While VMS initiated terminal I/O is not with floppy 1/0. a floppy functions £fill silo, -- is floppy status. aborts current floppy not be directly available register, initialize. error to functions are in progress, operator Terminal I/0O may be interspersed disabled. function Console will read floppy returns write. function. Once and C. upon The and initiated, no other floppy commands will be 1issued by VMS until exception is the command issued at any time. the function cancel floppy The in this document will only be console is in program I/0O mode (i.e., being used as the system operator's floppy functions available to VMS when the console terminal 1is complete. The only function, which may be described the is terminal). NOTE In the following side-effects are protocols, two hardware implied: l. 1loads the transmit the TX ready bit in the transmit status register (TXCS) is automatically cleared. TXDB is only loaded by VMS, and only when TX ready is set. TX ready is explicitly set by the console when the console is ready to accept another transfer through TXDB. 2. Each time VMS reads the receiver buffer (RXDB), the RX done bit in the receiver status register (RXCS) will automatically clear. RXDB is only read by VMS, and only when RX done is set. RX done is explicitly Each time VMS buffer (TXDB), set by the console console has 1loaded character for VMS. 2-25 each RXDB time with the a 2.11.1 A. Floppy Function Protocol Write sector/write 1. VMS puts 2. The console sector ready deleted the write command in data sector into TXDB. the takes sector or the write command, write deleted data and sets TX and sets TX TXCS. 3. VMS puts a sector number 4, The console the takes into TXDB. number sector ready. 5. VMS puts 6. The console takes the track number and sets TX ready. 7. VMS 8. The console accepts a byte of data and sets TX ready. puts a a track number byte Steps 7 and Steps 7 and 8 8 of data are are done into into 128 skipped TXDB. TXDB. times for for write write sector. deleted data sector. 9. The console The floppy write is completed. 11, The console The floppy bits ¢--7 with the 12. B. floppy write function. 1d. loading . initiates a Read VMS sends RXDB receives a floppy function function complete bits 8--11 the floppy with a complete message. message select code floppy status byte. of consists of 2, and function completed message. sector 1. VMS 2. The console takes the read command, 3. VMS puts a 4. The console in puts the read sector command into TXDB. and sets TX ready TXCS. sector number takes the into TXDB. sector number and sets TX ready. 5. VMS puts a track number 6. The console takes the track number and sets TX ready. 7. The console 8. The floppy read initiates a into floppy read is completed. 2-26 TXDB. function. 9. The console sends a floppy function complete message. function complete message consists of a of 2 in bits 8--11 of RXDB, and a floppy in bits @--7 of RXDB. The floppy select code status byte 19. VMS 11. The console done. puts one byte 12, VMS accepts one byte of 12 are receives the done accepted by floppy 128 VMS, function data in data from RXDB. Steps 11 and the 128th byte is read When is RXDB message. of times. the completed and sets RX complete. NOTE If a floppy Steps C. Read 11 and 12 the read 2. The console takes ready in TXCS. the read 3. The the floppy 5. puts console The console floppy VMS reads the floppy puts 2. The console 3. The The console from Examine cancel takes if MISCELLANEOUS commuhications command status in command status from TXDB. and sets last TX floppy a floppy function complete message, status, into RXDB and sets RX done. floppy console software status the function cancel terminates sets TX CONSOLE and console floppy command floppy the in TXDB. function. floppy function in any. will VMS status. function the progress, A. puts the VMS console gets with Terminate floppy performed. 1. 4, 8, status VMS 4. 2.12 occurs on Step be skipped. will 1. function The error ready memory TXCS. COMMUNICATIONS support the in certain diagnostic -- VMS additional supervisor supplies an functional (VMS/DS) . offset from the console-supplied base address of examinable memory space. The console returns the examine code and the contents of the requested byte. Examinable Console 2-27 Memory Space (Octal Offset -- FIRSTF) from 37600 (8) +145 Warm-start +146 +147 Cold-start flag APT-load flag flag +150 Last setting of +151 +152 +153 +155 Auto-restart flag PCS version WCS primary version FPLA version B. Software 1. remote and disable communication codes Software done -- VMS issues this code to cause the console to resume execution of an indirect-command file that has been suspended due to a wait done command. 2. 3. Warm restart the VAX-11/7840. boot command -- The console will boot Clear warm-start and cold-start flags -- VMS/DS issues these codes when the VAX has restarted/rebooted successfully. The console clears associated the flags. NOTE The cold and warm restart flags are used by the console to prevent infinite loops a in results restart warm a when VAX-11/788 error halt. COMMUNICATION REGISTER FORMATS AND SELECT CODES 2.13 The LSI-11 processor communicates with the VAX-11/788 CPU via Figure 2-1 shows registers on the console interface board. register formats and select codes. TXDB 31 24 23. MBZ 16 1514 131211 08 07 SELECT M BZ MBZ | FieLp 00 DATA FIELD RXDB 31 2423 MBZ 1615141312 11 08 07 USED BY | SELECT MB2 pL-11 | FIELD 00 DATA FIELD TK-0742 Figure 2-1 Communication Register Formats and Select Codes 2-28 two the Select Select Code Field Values Device (in hex) Data Y Operator's 1 Floppy drive 2 Floppy function 3 Examine terminal § (data) Field g through 7F ! ¢ through FF -- complete | (floppy console memory Values Address ASCII data binary data status) offset/contents of address 9 Floppy drive # (command) |@ = read sector l = write 2 = read sector status 3 = write deleted data sector F Misc. communication NOTE Code 5 (protocol error) console when one of 4 = cancel 5 = protocol error l 2 = software done = boot 3 4 = = clear clear floppy VAX-11/780 warm-start flag cold-start flag is sent by the the following occurs: 1. Another floppy cancel floppy by VMS before command function) a previous completed. 2. The code console gets (DATA) command. 2-29 a when (except for is 1issued command is floppy function drive expecting @ a The STATUS BYTE DEFINITION FLOPPY 2.14 floppy status failure of sent VMS to operation. (code 2). a byte is or write read at The The the by code bit VMS to operation. completion select status used is of a always determine the success The floppy status read, write, or the floppy assignments are shown 1615 08070605 byte read function in Figure or is status complete 2-2. RXDB 31 24 MBZ MBZ 1211 MBZ |CODE ‘2 03 020100 MBZ L——-CRCERR L PARITY ERROR INIT DONE DELETED DATA ERROR TK-0745 Figure 2-2 Floppy Status Bit Assignments NOTE The status bit assignments are identical to those supplied by the floppy controller, except for bit 7. Bit 7 corresponds to bit 15 of the floppy's RXCS 2.15 REMOTE register. CONSOLE ACCESS COMMAND SET A special set of commands is included language of systems that use the remote facilitate console access from a Commands can be 1initiated according to the five-position command a. b. set A provides talk to A control, the control c. mode, terminal copy remote on key the terminal terminal switch. The or computer. in control, remote access for: remote on only in the console command diagnostic facility to 1local allow communication operators (enable to suppressing permit terminal while (enable/disable local a between local and talk). or enabling remote operator typeout 1is in copy). A method of transferring control of the console between the local and remote operators (enable local control). 2-30 d. A method remote e. A of controlling terminal method caused of by while A g. method 1loss 2.15.1 A of disk ENABLE Talk Mode enable talk mode, characters the local terminal, talk characters back feature while in Talk mode ("P) on the console mode talk is talk interface and set. is All been carrier on and disabling (enable/disable the on enabled. mode causes assert the I/O the to messages remote 1line use of the console local floppy). the remote <CR> puts in the echo) . error). console the into remote No console by typing control. the When enabled. while error the to Command typed terminated terminal disabled lost carrier mode. is characters talk mode. keyboard are and vice versa. The console does the originating keyboard, unless the to terminal Entering disk TALK command has of (enable/disable enabling and disabling use of (enable/disable remote floppy). <blank> The echo enabling floppy Enable Syntax: of method echo mode of carrier subsystem floppy the talk suppressing a (enable/disable f. in commands console talk are is in on not talk echo mode recognized escape mode While typed character terminated, the console to enable the remote serial data terminal ready signal to the data a program console is 2-31 in running in the mode. talk the VAX-11/788¢ CPU 2.15.2 Enable/Disable Syntax: (ENABLE The enable echo The disable Echo Command <CR> <blank> ECHO DISABLE) ! command will cause the console to echo characters typed on either the remote or local keyboards while in talk mode. echo command causes the console characters typed on both keyboards. to suppress echo of Enable and disable echo are issued while the console is in console disable is echo put console. in 2.15.3 the enable Local mode and on entered. is A copy command directed output local copy command disables power the up of to print Copy Command LOCAL <blank> COPY <blank. ! DISABLE) local all position, LOCAL/DISABLE Enable/Disable copy of talk until effect any have not is automatically done each time the console keyswitch (ENABLE Syntax: The do but mode, causes to the the local terminal terminal. remote the local terminal a The disable from getting a copy of output directed to the remote terminal. Local copy is automatically disabled each time the console keyswitch is turned to the LOCAL or LOCAL/DISABLE position and on power up of the console. Local copy is automatically enabled each position. 2.15.4 Enable An enable local the LOCAL <blank> CONTROL <CR> Local Control control while the (Normal remote operation allows a control VAX-11/780 the CPU, remote local keyswitch is also on 2.15.5 Syntax: The line control placed the out remote 1link take of command in the up. the control the the remote terminal terminal operator. the local local the of REMOTE position, terminal.) console is maintained. console issued LOCAL Enable/Disable Carrier (ENABLE ! by typing a The and This the remote Control P from the local terminal has detected. terminal ready on error or Also, the position, and Error Command command causes LOST each time a position, LOCAL/DISABLE <blank> CARRIER <blank> ERROR <CR> DISABLE) carrier ?CARRIER REMOTE to locks by in is Local control is automatically enabled when the console is or to control console power enable message console the while issued keyswitch keyboard. An enable no effect. the operator may regain operator on local of Command command, console operator transfers REMOTE/DISABLE ‘ ENABLE <blank> Syntax: in placed is keyswitch console the time if the console console enters the modem. 2-32 the console to print in the loss of carrier on the keyswitch talk is mode, the remote enabling LOCAL data The the disable carrier carrier error command causes the console lost message, and prevents a transition to An enable carrier error is and whenever the console LOCAL/DISABLE position. automatically done on keyswitch 1is placed LOCAL Floppy console in the 2.15.6 ENABLE/DISABLE Syntax: (ENable!DIsable)<BLANK>Local<BLANK>FLoppy Enable local floppy will cause the be searched first, in an attempt device. It may be a Command to floppy directory is searched. software, the remote floppy floppy or it may be some other Note is a that in virtual storage device. Disable local floppy will cause only the directory floppy to be searched in an attempt to open a file. An enable/disable only local (transmission 2.16 CONSOLE floppy ERROR mark 2.16.1 Syntactic 2<TEXT The to STRING> <TEXT IS STRING> ?2<TEXT STRING> IS The <TEXT STRING> RAD50. all Error them from informational Messages is not a complete console command. as of INCORRECT is not with a LOAD or @ part command exceeded: Generated Error a console cannot is A the recognized the number of characters allowed file name, three for extension. Command messages. INCOMPLETE not NOT operation console error message formats and error messages are prefixed by a is ?FILE of protocol remote console characters 2.16.2 One affects the MESSAGES distinguish ?FILE NAME ERR A <FILENAME> given to command of format). This paragraph describes their interpretation. All question power up, LOCAL or directory of the local floppy open a file. If the file is to not found, the remote terms of the console to inhibit talk mode. be translatable command. translated to six RAD5S@ or characters for does not Messages FOUND <FILENAME> given with a LOAD or @ command match any file by a on the current floppy disk. This error can also be generated HELP or BOOT command if the help file or boot file is missing from the ?NO The floppy. CPU RESPONSE console timed VAX-11/780 2CPU NOT IN out while waiting for a response from a CPU microroutine. CONSOLE WAIT A console command that CPU was issued when the LOOP, COMMAND ABORTED required the assistance of the VAX-11/780 CPU was not in the console service loop. 2-33 ?CPU CLOCK STOPPED, COMMAND ABORTED console command that requires the A issued with ?IND-COM An clock to be running was command file error was detected. An indirect command line exceeds An indirect command line does Microroutine console uses store to generated by ?MEM-MAN This error is if: b. control are CPU stopped. a. 2.16.3 The clock ERR indirect generated A the FAULT, virtual Error 80 not microcode routines perform console functions. microroutine CODE = or with <CR> <LF>. Messages various examine characters. end in the The VAX-11/780 following CPU errors failures. XX deposit caused management microroutine. XX is a the memory management routine and an error in the memory one-byte error code supplied defined in Table 2-8. by NOTE Bit positions are numbered from the right. Table Bit 2-8 Memory Management Position strobe ?MIC-ERR An Definition 1 Fault was 2 Write or 3 Access violation 4--7 Ignored interrupts ON that within the violation VAX-11/780 on a PTE modify reference intent micromachine the maximum time period has failed allowed. FUNCTION unspecified error Referencing ?INT-REG ERR error Definitions Length request. An Code @ ?MICROMACHINE TIME OUT This message indicates to Error occurred occurred in the CPU while nonexistent memory will while referencing one internal (processor) registers. Specifying is too large will cause this error. 2-34 of a servicing cause the this a console error. VAX-11/780 register address CPU that ?MICROERR, CODE = XX An unrecognized microerror occurred. The code returned is not in the range of recognized error codes. error code returned by the microroutine. 2.16.4 CPU ?INT-STACK The Fault Generated Error Messages stack was VAX-11/780 CPU interrupt has done a double ?ILL I/E VEC An 1illegal interrupt/exception VAX-11/788 CPU. USR the CPU one-byte marked error vector invalid. halt. was encountered by the no WCS WCS An interrupt/exception exists. ?2CHM ERR A change-mode 2.16.5 ?FLOPPY The is the INVLD ?CPU DBLE-ERR HLT The VAX-11/7880 CPU ?NO XX by detected error. Table Table was to WCS was attempted encountered, from the and interrupt stack. Messages = X floppy an in Error CODE console defined instruction RX#1l ERR, vector driver X 1is (a an part error of code the (in console software) hexadecimal) and is 2-9. 2-9 RX@1 Error Message Code Definition g Floppy parity, Code Definitions hardware error (i.e., CRC, or a floppy firmware detected error) . 1 An open file command specified file. 2 The 3 A floppy driver floppy out of sector the failed queue was 1legal is to find the full. referenced range of that is sector numbers. ?FLOPPY NOT READY The console floppy ?NO BOOT FLOPPY ON drive The console attempted a valid boot block. ?FLOPPY A floppy ERROR error ON to failed boot to become from a ready when floppy that booting. does not contain BOOT was detected while 2-35 attempting a console boot. 2.16.6 INT Miscellaneous Error Messages PENDING This is not actually an indicates that an error requested halt ?WARNING-WCS was and error (note was pending performed. FPLA VER Type absence of ?). The at the time that a CONTINUE to clear message console interrupt. MISMATCH The microcode in the WCS is not compatible with the FPLA. This message is printed on each ISP START or CONTINUE. However, no other action is taken by the console. ?FATAL-WCS The ISP and PCS 2REMOTE ACCESS This REMOTE is position, in console. NOT message the ?2TRAP The MISMATCH -4, RESTARTING console took 2UNEXPECTED TRAP a types trapped to Control C. in the WCS. SUPPORTED printed and the Console - VER microcode in the PCS is not compatible with that START and CONTINUE are disabled by the console. when the console mode switch enters a remote support software is not included CONSOLE time-out an unused trap. Console vector. will Console restart. reboots when operator 2QBLOCKED Indicates that the console's output reboot. 2-36 queue is blocked. Console will CHAPTER DIAGNOSTIC This chapter describes characteristics of the the basic diagnostic SUPERVISOR structure and supervisor. In operator commands and execution control This description is applicable to macro functions are testing, and similarities chapter them 3.1 The (refer exist to for Chapter SUPERVISOR diagnostic the micros, AND this does 3 CONTROL operating addition, described. while many not include 4). STRUCTURE supervisor OVERVIEW provides operator control and utility support functions for three diagnostic runtime environments. The three runtime environments are: a. Cluster Environment (CE): This environment supports the CPU cluster and repair 1level I/0 bus adapter diagnostic programs. The CE consists of program modules that provide utility services etc.), (i.e., error reporting, and test dispatch, initialization terminal interface. script management. b. System Additional modules scope 1loops, and operator provide load and Environment (SE): This environment supports the level I/0 subsystem diagnostic programs, and the functional test programs. The SE provides the same repair device runtime support functions as the CE. Program modules provide CPU cluster hardware interface support (i.e., real-time clock control, interrupt system control, I/O bus adapter control, etc.). C. User Environment (UE): This environment supports the subsystem functional 1level diagnostic programs that under I/0 services This allows environment, in The a are VMS operating system as a privileged in two environment. supervisor major task. provided environments are assembled into executable module that provides all necessary operator services. As shown in Figure 3-1, these services are Program user primarily for functional level programs. programs that can execute in an operating system which restricts I/O access, to perform equally well standalone three the I/O run functional Interface (PGI). areas: Command Line a common and program implemented Interpreter (CLI) and COMMAND LINE TEST INTERPRETER PROGRAM OPERATOR TERMINAL PROGRAM \ INTERFACE UNIT UNDER TEST TK-0741 Figure The CLI the execution This operator operation. CLI service module PGI request These error to message Note program The between the supervisor command services memory operator only through by operator formatting, a and the from or supplied test by all program supervisor the operator. diagnostic interaction, management, can communicate PGI message and all commands appropriate required include the supervisor the and monitors terminal either to terminal sequencing, CLI of the that 1loading, programs. control Structure (controlling) the consists control directs common handling. diagnostic test services Supervisor operator control passing according provides control, an to information which The programs. Diagnostic diagnostic information supervisor. CLI to operator of control The Basic interfaces enables the 3-1 service or test program and I/0 with the with the directly. When the operator the CLI), that program PGI handles all Unit Under begins, the terminal or interface) programs, diagnostic initiates the and a test diagnostic assumes test (UUT) 1level execution (through program execution Once information Test functional program control. flowing (i.e., program. For information flows directly between information flow program (i.e., direct test between QI/O-I/0 repair the program the driver level UUT and access to terminal the 1I/0 registers). Test control diagnostic responses, program while test information program consists mainly of The diagnostic completed, character, System errors supervisor. these program aborted, at which not Unless errors are between consists mainly of or test executes the operator point control directly the transparent directly to the operator. and responses. between until the 3-2 test the and sequence 1is UUT and the appropriate control to are to the explicitly to the and requests enters the returns related program parameter flow stimuli the test the the UUT CLI. requests program and handled by the notification, are | reported 3.2 The CLI FUNCTIONAL MODULE DESCRIPTION consists of a tree-structured comma CLI nd decoder and several operator's commands (e.qg., loading a diagnostic Program from the system device; altering the operational characteristics of the program; or driving the CLI through a script file). The command syntax is a subset of the service console Once modules command a that execute the language. command _ line is interpreted, terminal for certain the CLI dispatches control to the appropriate service module. After the operator's command has been completed or aborted, cont rol is returned to the CLI. Cert ain CLI service modules pass control to the diagnostic program, rather than back to the CLI. However, the CLI continues to monitor the operator's commands (e.g., “C). 3.2.1 Image Loader Module The image loader allows the operator to specify a load devi ce and a file name for 1loading diagnostic programs. Depending on the environment (i.e., console, system, or user), the device media will be either the diagnostic load device (console floppy) or the system load device. 3.2.2 Test Sequence Control Module The test sequence control module provides capability to control the order in which are executed. the run, This start, 3.2.3 Script Automatic test is and implemented restart Processor sequence by supervisor the operator tests within specifying commands test with the program a numbers (Paragraph in 3.4). Module control is achieved through the use of a script file. This script file is a line-oriented ASCII file that contains standard CLI supervis or commands. To allow for comm enting on a by command the characters A script only, line, script are file or a any text processor. also may following Blank a lines ignored. contain CLI combination supervisor of commands (!) on and a 1line is extraneous commands and (Paragraph program responses. Generating script or parameter off-line using a standard editor syste m utili ignored spacing files ty. 3.5) parameter 1is performed 3.3 PGI FUNCTIONAL MODULE DESCRIPTION The major function of the PGI module is to handle all information flowing between the operator's terminal or the UUT and the functional 1level 1/0 program. While a diagnostic program is executing, that program can call on the supervisor to supply various services. These services provide the program with the required common functions (e.g., memory allocation and mapping, I1/0 processing, operator terminal interfacing, error message formatting, and system error hand ling). Several of System services. the functions queue I/0 service standalone as well For the PGI provides example, the so that user mode as under VMS. 3-3 are a supervisor subset of provides diagnostics may be the VMS the VMS executed Memory Management and Adapter Services 3.3.1 All memory buffer allocation is performed by the diagnostic supervisor. This ensures system integrity throughout the various operating environments. All necessary interfacing between the CPU and UUT will be handled by the diagnostic supervisor. services similar Running standalone, the supervisor provides I1/0 er standalone small a des provi to those available under VMS. This small kernel a Only stics. diagno environment for running user mode subset of VMS system services is provided. specified All functional level diagnostics perform device 1/0 toas the normal ion addit in er, by the VMS operating system. Howev stic diagno that es featur l specia queue I/0 functions, VMS provides processes. On 1/0 programs can use 1if executing as privilegedting, raw status is completion, if requested and privilege permit am. This status deposited into a buffer specified by the progr channel registers. A contains all device registers and pertinent time stamp is also deposited into the status buffer. Operator Terminal Services 3.3.2 face directly with the Since the diagnostic programs do not inter all required operator es provid operator's terminal, the supervisor am. The program can progr ostic communication services for the diagn service to allow isor superv a h perform operator dialogue throug interaction. tor opera re requi testing of mechanical devices that ate the need for the The terminal drivers within the service elimin the type of terminal diagnostic programmer to be aware of currently used by the operator. The output to the operator, including error reporting, uses am's message-sending formatted ASCII output to simplify the progrdispla y is handled by ASCII to routines. Conversion of binary data The formatted . ammer progr the of the diagnostic supervisor instead ASCII output syntax is the same as that used by VMS. Handling System Error 3.3.3 ly to the All system errors are intercepted and reported direct icitly requests operator by the supervisor unless the program expl notification of exceptions or interrupts. 3.4 SUPERVISOR COMMAND DESCRIPTIONS command and The following paragraphs describe the operator supervisor. ostic diagn the by ded provi execution control functions Where appropriate, examples of command usage are included. 3.4.1 Command Terms and Symbols Since the supervisor commands are a subset of the console ls are used commands, many of the console command terms and .symbo The applicable in the symbolic supervisor command descriptions characters are defined in Table 3-1. 3-4 Table 3-1 Term and Term/Symbol Definition ! Used ( ) < > to indicate selection command line) Used to units of Used Exclusive of to indicate symbolic functions operation within a arguments, to/from the or operator Used to indicate that part of an expression is optional; e.g., WAIT [<blank> <count> ] indicates that the wait command takes an optional <count> argument <blank> Represents one or more spaces <tab> Represents one or more tabs {count> Represents a Indicates one <XYZ OR parameters indicate that one of the syntactic the expression is to be selected terminal ] Definitions the (i.e., program [ Symbol - list> category numeric or count more indicated by occurrences <address> Represents an <data> Represents a numeric argument <qualifier> Represents a command modifier <input Represents the prompt> >>> Console DS> address program from argument console's (switch) input prompt string input prompt Diagnostic supervisor prompt <CR> Represents a console terminal carriage <LF> Represents a console terminal line / Delimits command a from its character return feed qualifiers Used as a separator within a list Used as a separator within a command 3-5 the XYZ line. Command Description Segments 3.4.2 Each supervisor command description is divided into three, four, or five descriptive segments, depending on the particular command. The descriptive segments are: command the describes structure. a. Syntax: b. Command description: a brief paragraph describing command operation, general restrictions, or available options. a description of the console program response C. Response: d. Qualifiers: a list of applicable command modifiers. e. Options: a list of applicable command options. to the specified command. use the terms and symbols defined The descriptive segments 3-1. Table that Note terminated with a <CR>. command every Command Abbreviations 3.4.3 Supervisor command words, must be arguments may be command (or and switches, 1in line) abbreviated by typing only enough characters to uniquely identify each item. For example, the load command can be specified by L, while the start command requires a minimum entry of ST. 3.4.4 The Command Overview supervisor commands operator following groups: a. Load/test sequence the capability of control: loading provides the three operator with into divided are the and sequencing diagnostic programs. Execution control: provides the operator with control of b. the operational characteristics of the diagnostic program and/or supervisor Debug/utility functions: provide the operator with debug c. and utility deposit, The such supervisors as width, 3.5 supervisor. as: functions such support operator breakpoints, examine, etc. also fill, provided by the console the (e.g., looping, error reporting, etc.). etc. In (e.g., terminal addition, Control C) SEQUENCE CONTROL COMMANDS all characteristics control functions are also supported by The program/test sequence control commands provide the operator with the capability of loading and controlling the sequencing of diagnostic programs, as well as the capability of controlling the sequence of test execution within a program. The supervisor also provides for the execution of a single subtest, and if the count option is used, provides a loop-on-subtest capability. command allows predefined The submit by the operator. performing the test session Note that following the unit is entire The diagnostic supervisor without operator argument defined :[UIC] <file test is session then to be capable of assistance. spec> as used in the as: filename . ext Load Command 3.5.1 Syntax: The symbolic subsection dev an pass LOAD 1load memory. <file spec> command The [/PHYSICAL causes supervisor the : <address>] specified obtains file sufficient <CR> to be 1loaded information from 1into the program, After a successful message: Progname the The load, Progname-r.p the is the program name. supervisor extracts --r.p is the release number of the program. optional supervisor prints out the following internal name which LOADED. from This the version is the program number header and section. the DEPO (patch) to load the <address>. PHYSICAL switch directs the image loader to attempt program into physically contiguous memory starting at The <address> argument 1is normally accepted in hexadecimal format 3.5.2 Start Syntax: START [:<last> !/SUBTEST The start by default. Command [/SEC : command : <section <number>] causes the As execution the operator begins, the to determine which to units are optional. The SECTION test). switch is The ] TEST program command program a. switch is If <first> the used in -- [/PASS in : [/TEST <count>] memory to : <first>] <CR> begin execution. supervisor enters into a dialogue with the program specific parameters. (e.g., two and switches specific with all programs. When a section it contains will be executed. The name>] -- is and not available only different arguments supervisor sequentially passes through <last> inclusively. 3-7 certain selected, distinctly <last> and are control to the arguments for use tests that ways. specified, tests the <first> b. If the If the <Kfirst> arqgument 1is combined with the SUBTEST switch, program execution begins at the beginning of the <first> test and terminates at the end of SUBTEST <number>. SUBTEST switch is used in conjunction with the PASS switch, the operator is provided with a loop-on-subtest capability. optional PASS switch is not specified, a default <count> of If the one is assumed. If the are TEST switch executed. not specified, only the <first> all tests within the argument is specified TEST switch, the <last> argument is assumed highest numbered test within the program. by default 3.5.3 Syntax: [:<last> If is Restart Command RESTART [/SEC: <section ! /SUBTEST : <number>]] -- program with to be the the name>] -[/TEST : <first> [/PASS : <count> ] <CR> The restart command is similar to the start command; however, the supervisor does not enter into the parameter retrieval dialogue. This command previously to the requires setup start with command a that the program start command. P-Tables Switch syntax have is -- [/TEST <count>] The and sequence. command 1is equivalent (Refer to Paragraph optional switches.) 3.5.5 Control Table 3-2 characters identical switches. 3.5.4 Run Command Syntax: RUN<Kfile spec> [/SEC: <section-name>]! [ : <last>! -- /SUBTEST : <number> 1] [/PASS : run been Characters contains a recognized by and to 1load 3.5.2 for Special Characters description the a of supervisor. the a : start description control and <first> command of the special Table 3-2 Control/Special Character Control Character Descriptions Description C (°C) Returns program control to the supervisor which enters a command wait state. The operator may then issue any valid supervisor command. Control O (70) Suppresses console or enables terminal (on a output. toggle Console basis) terminal output is always enabled at the next console terminal supervisor input prompt. However, the supervisor will override ~“0 and reinstate an operator terminal system active errors, output when status it is to the servicing CLI prompts, or line terminator forced messages. Control U ("U) “U typed deletion "last before a of characters line all termination. The causes the entered since the console echoes: “U/<CR><KLF> Rubout Typing typed rubout on entered the since deletes 1input the the 1line. last line be rubbed out. Several deleted 1in sequence by 1last Only character characters terminator can characters can be typing successive rubouts. The backslash (\) first rubout echoes as a followed by the character which has deleted. cause only been the deleted Subsequent character rubouts to be echoed. The next character typed that is not a rubout causes another (\) to be printed, followed by the new character to be echoed. Carriage 3.5.6 Syntax: Return (CR) | Terminates a command line. Continue Command CONTINUE <CR> The continue command causes program execution to resume at the point at which the program was suspended. This command is used to proceed from a breakpoint, error halt, or Control C situation. 3.5.7 Syntax: The Summary Command SUMMARY summary report code <CR> command causes the execution of the program's section which prints statistical reports. 3-9 summary 3.5.8 Syntax: The Abort Command ABORT <CR> abort control to command executes this point continue. 3.5.9 Syntax: the program's cleanup code the operator may Submit Command issue any command ! ON : [/LOG spec> SUBMIT <file and returns which enters a command wait state. supervisor, the except restart or ON! OFF] script file : [/CONSOLE OFF] At <CR> The from submit any functions command outlined a is script in the supervisor the script file to read supervisor The device. console. the at the operator The causes file-oriented and then considered a control commands, to including a submit command within a script file However, terminal the performs returns file may contain any valid operator submit command. a command (i.e., the supervisor will close the current script and log files and open new ones as specified by the current command). If the LOG switch is specified as ON, a transcript of the indirect terminal dialogue is maintained in a file of the same filename as the script file with an extension of .LOG on the device where the script file is located. The default for this switch is OFF. If the CONSOLE generated terminal. 3.6 This switch is The default for by script the specified this as switch EXECUTION CONTROL COMMANDS group of commands allows the dynamically diagnostic implemented alter program by is the operational that reside and/or flags the ON, the on printed is file terminal the dialogue operator's ON. operator to statically supervisor. These or of the functions are characteristics in both the supervisor and the program. The event flags are located within the diagnostic program and are supported by VMS and the supervisor. These commands are used to control the printing of error messages, ringing the bell, halting and looping of the program, etc. Flags type of which supervisor the to indicate are provided that operator The operator. the by dialogue characteristics are desired also has access to a subset of the event flags that are available to program. the 3.6.1 Syntax: This Set Control SET [FLAGS] command sets <argument list> Flag Command <CR> the execution control flags specified by <argument list>; no other flags are affected. <argument list> is a string of flag mnemonics separated by commas. The applicable flags are described in Table 3-3. 3-10 Table Flag HALT 3-3 Control Flag Descriptions Description Halt on error detection. When the program detects a failure, with this flag set, the supervisor enters a command wait state after all error messages associated with the failure have been output. The operator may then continue, restart, or abort the program. LOOP This LOOP flag. Loop on flag error. takes When precedence set, this over flag the causes the program to enter a predetermined scope loop on a test or subtest that detects a failure. Looping will returns to operator and BELL continue the may then continue, Bell on When or the by continue, restart, error. cause the operator until supervisor clear abort set, operator “C. The using the flag flag will the this program. supervisor to output a bell to the whenever the program detects a failure. IE]l Inhibit this except or IE2 messages at suppresses those that are level 1. all error forced by When set, messages the program supervisor. Inhibit error messages at level 2. When set, this flag suppresses basic and extended information concerning the failure. Only the header lines) IE3 error flag information message (the first 1is output for each failure. Inhibit error messages this flag suppresses at level 3. When three set, extended information concerning the failure. The header and basic information messages are output for each failure. IES Inhibit summary suppresses QUICK Quick to verify. the quick report. statistical When program set, that verify mode When of set, this flag report messages. the this flag operator operation. indicates desires a Table 3-3 Control Flag Descriptions (Cont) Description Flag List SPOOL printer. When printed actually not (not file on disk a but yet on messages error line this flag causes the supervisor to set, line direct all program messages to the the environment, VMS the In printer. are messages into entered implemented). Report the execution of each test. When set, TRACE this causes flag supervisor the to report the execution of each individual test within the supervisor dispatches to the program as that test. Lock in physical memory. When set, this flag LOCK disables the program relocation function. Self-relocating programs are then locked into their current physical memory space. Operator OPERATOR When present. flag this set, indicates to the supervisor that operator interaction is possible. When cleared, the takes supervisor ensure the that appropriate session test actions bypasses tests that require manual intervention. to any Display long dialogue. When set, this flag PROMPT indicates operator defaults to wants for the all to supervisor see the questions that the by the 1limits printed and program. All flags in this list. ALL Clear Control Flag Command 3.6.2 Syntax: CLEAR [FLAGS] <argument list> <CR> The clear command clears the flags specified by <argument list>; no other flags are affected. The <argument list> is a string of flag mnemonics separated described in Table 3-3. 3.6.3 Syntax: by commas. The supported arguments are Set Control Flag Default Command SET FLAGS DEFAULT <CR> This command returns all flags to their initial default status. The default flag settings are OPERATOR and PROMPT. 3-12 3.6.4 Show Control Syntax: SHOW FLAGS Flags Command <CR> This command causes the display of all execution control flags and their current status. The flags are displayed as two mnemonic lists: one for set flags, one for clear flags. 3.6.5 Syntax: This no Set SET Event EVENT command other Event sets event of flag optional The related <argument event are services flags that are are set and numbers two 3.6.6 Clear CLEAR This EVENT in by are for simultaneous causes the breakpoints and/or modified image occur 3.7.1 Syntax: list>; is a string commas. The supervisor clusters of by 32 to means flags provide of event each. pProgram use. Number @ is used by Flags Command [FLAGS] <argument display set. examine of the signaling of 3.7 DEBUG AND UTILITY COMMANDS This group of commands provides the alter diagnostic program code. The all <argument list> list> ! ALL <CR> specified by <argument The optional ALL may be Show Event Flags Command SHOW EVENT [FLAGS] <CR> command Another by flag clusters. Event flags are @g--63. However, flags 24--31 are The operator has the capability to flags 1--23. clear 32--63 Event and clears those event flags other event flags are affected. instead of <argument list>. currently need <CR> <argument command list>; no specified 3.6.7 Syntax: ALL event numbers by VMS. supervisor. This ! specified The provided located provides by the for use interactively Syntax: list> flags affected. synchronization Event specified restricted the those flags supervisor Note Command numbers in the range 1--23, separated by ALL may be specified instead of <argu ment list>. intraprocess flags. Flags [FLAGS] the can written only feature the allows Base BASE be the Program to once. program Set SET within modify the error operator messages. Command <address> <CR>» 3-13 a of the event flags operator with the ability to supervisor allows up to 15 program. The operator can also image a list load to in memory. device so Optionally, that unconditionally a patching list any or This command loads the address specified into a software register. This number is then used as a base to which the address specified in the set breakpoint, breakpoint, clear examine, and deposit commands is added. The set base command is useful when referencing code in the diagnostic program listings. The base should be set to the base address (see the program link map) of the program section referenced. Then the PC numbers provided in the 1listings can be used directly in referencing locations in the program sections. NOTE address = physical address Virtual when memory management is y) (normall turned off. 3.7.2 Set Breakpoint Command Syntax: SET BREAKPOINT <address> <CR> This command causes control to pass to the supervisor when program execution encounters the <address> previously specified by this maximum of 15 simultaneous command. A 3.7.3 Clear Breakpoint Command within the diagnostic program. breakpoints can be set Syntax: CLEAR BREAKPOINT <address> ! ALL <CR> This command clears the previously set breakpoint at the memory location specified by <address>. If no breakpoint existed at the specified address, no error message is given. An optional argument of all clears all previously defined breakpoints. 3.7.4 Syntax: Show Breakpoints Command SHOW BREAKPOINTS <CR> This command displays all currently defined breakpoints. Set Default Command 3.7.5 DEFAULT <argument list> <CR> SET Syntax: This command causes setting of default qualifiers for the examine and deposit commands. The <argument 1list> argument consists of a data length default and/or radix default qualifiers. If both qualifiers are present, they are separated by a comma. If only one default qualifier is specified, the other one is not affected. Default defaults are HEX and LONG. Default qualifiers are: Data Length: Byte, Word, Long Radix: Hexadecimal, Decimal, Octal Examine Command 3.7.6 Syntax: EXAMINE [ <qualifiers>] [<address>] <CR> The examine command displays the contents of memory in the format described by the qualifiers. If no qualifiers are specified, the default qualifiers set by a previous default command are implemented. The applicable qualifiers are described in Table 3-4. 3-14 Table 3-4 Qualifier Descriptions Qualifier Description /B Address points to a byte /W Address points to a word /L Address points to a longword /X Display in hexadecimal /D Display in decimal /0 Display in octal radix /A Display in ASCII bytes radix radix When specified, the <address> argument is accept ed in hexadecimal format unless some other radix has been set with the set default command. preceding <Address> PC, Optionally, the may <address> address also be one 3.7.7 Deposit DEPOSIT the no <qualifiers> qualifiers implemented. The the examine The <address> some other Optionally, be with specified %D by immediately 30, respectively. R@--R11, AP, FpP, SP, OR following: Command [ The command accepts data specified by <address> in If of PSL. Syntax: may argument are and argument radix has <address> writes it the format described specified, in accepted been the qualifiers described is <data> and applicable command ] set into Table in with the memory by default are <CR> the qualifiers identical 3-4. hexadecimal the set location qualifiers. to those format default of unless command. <address> may be specified as decimal or octal immediately preceding <address> with %D or 30, respectively. 3-15 are by CHAPTER 4 MICRODIAGNOSTIC DESCRIPTION 4.1 The MICRODIAGNOSTIC PROGRAM OVERVIEW microdiagnostic programs provide module isolation for logic failures within the CPU, floating-point, and MDS memory controllers. All detected failures result in an error printout indicating the module, or smallest set of microdiagnostics can isolate the failure. modules, The major microdiagnostic console adapter package consists of two a. Hardcore b. Microtest to Monitor that -- Monitor monitors, test the divisions: division. Console Adapter -- Microtest and Hardcore the selection microdiagnostic and execution Program Program Both test division monitors are serviced by the microdiagnostic monitor. In addition to loading operator test which and hardcore, and microtests. Each test division by an associated monitor that provides is controlled non-diagnostic services microtest to console-resident the hardcore and monitor options allows (Paragraph 4.6). the 1In order to reduce the address space required to execute the hardcore and microtest programs, the common code of both programs has been incorporated into the microdiagnostic monitor. That code, which is unique to either the hardcore tests or microtests, has been incorporated The into the associated monitors. microdiagnostics reside on diskettes for the floppy drive. basic test sequence is: 1) hardcore tests, 2) microtests. hardcore tests verify the operation of the minimum 1logic required to reliably execute the microtests. The minimum 1logic consists of the basic hardware elements required for data transfer and error reporting. The The The code, data, and structure required by the microdiagnostics prohibit them from being resident in the LSI-11 address space at any one time. The hardcore tests are executed out of a small buffer of the 4.2 With can area in the LSI-11 memory. WCS of the VAX-11/780 CPU. The microtests are executed BASIC PROGRAM EXECUTION the console program resident (in LSI-11 memory), the execute the entire microdiagnostic package by issuing command. The console program overlays itself out operator the test with the microdiagnostic monitor from the console floppy. (However, the floppy and terminal software drivers are not overlaid since they provide utility service to each of the monitors.) In turn, monitor the into tests are LSI-1]1 memory. monitor microdiagnostic the then notifies LSI-11 executed On memory from transfers the floppy. sequentially completion the monitor of the microdiagnostic 4-1 out of hardcore monitor. the The hardcore hardcore the buffer in the tests, the hardcore The microdiagnostic monitor, in turn, transfers the microtest monitor into the LSI-11 memory (from floppy). The microtest monitor then executes the microtests out of the WCS in approximately 1K microword overlays. On completion of console program. Figure Note 4-1 that memory; the microtests, illustrates items those e.g., the control 1is returned to the program residency in the LSI-11 memory. on a horizontal line are exclusive 1in console program may be resident, but not both. floppy and terminal drivers (and or the microdiagnostic monitor As previously mentioned, the software bootstrap) are always resident. 4.3 BASIC TEST STRATEGY The basic test strategy is to transfer data from a test source and load it into the logic element under test. The next step is to retrieve the data from that element and compare it with the original data loaded. Depending on the test requirements, logic element structure, and functional location, the retrieved data may or may not have a true compare. In either case, the fail/no fail decision is based on the expected results. In some tests, the same logic is tested using an array of data patterns. HARDCORE TEST STREAM OVERLAYS 1 l l % MICRO-CODE BUFFER n 2 -] r) HARDCORE MICRO-TESTS MONITOR MONITOR MICRO- WCS DEBUGGER CONSOLE | I DIAGNOSTIC MONITOR | | FLOPPY & TERMINAL DRIVERS TK-0754 Figure 4-1 LSI-11 Memory Program Residency 4-2 It is essential reporting an error-free a test is microdiagnostic A the data simplified that a true the are test strategy that the basic load and error initially tested for reliable operation. In situation, when test, to paths the completed. microdiagnostic In the can notify case the of error detection, can identify for the user: the failed module pattern used, and the expected test result. test compare procedure is not is illustrated necessarily the in Figure expected 4-2. result. (s ) GENERATE TEST DATA, WRITE TO REGISTER y READ REGISTER COMPARE DATA DISPLAY: YES TEST 1.D. TEST DATA RESULTS NEXT TEST HALT OR REPEAT TEST OR NEXT TEST TK-0779 Figure 4-2 Simplified Microdiagnostic 4-3 Test Procedure user the and Note HARDCORE TEST DESCRIPTION 4.4 The hardcore tests are the initial set of microdiagnostic tests executed. Paragraph 4.4.1 describes the hardcore test structure. The hardcore tests initially check the control and data registers of the Console Interface Board the VAX ID Bus. (CIB). This ensures test access to After the CIB tests, the clock board is tested. The clock is turned on and off, single-stepped, and certain clock function status is retrieved over the Visibility Bus (V Bus). The next element tested is the microsequencer. For example, data is transferred onto the microstack and then retrieved. An address is placed on the microstack. The maintenance return feature is then used to pop the address off the microstack and load it into the micro PC. small This allows the microaddress paths to be tested in segments. As shown of the in the Figqure 4-3, path. Generally, remainder sequence tests WCS, PROM Control Store data parity checking tests. these of the hardcore test integrity and (PCS), and basic elements are address The WCS is tested by writing a variety of address and data patterns to it, and checking for good parity, or forced bad parity. The basic elements of the data path are tested by writing data to certain results. registers, reading retain expected data. Logic Unit that data back, and comparing the The data path is tested for its ability to transmit and (ALU) The basic capabilities of the Arithmetic to transfer and compare data are tested. The scratch pads are also tested for retaining data; the scratch pads are used to hold error data in the case of error detection. 4-4 CLOCK START/STOP STATUS uUsC ADDRESS PATHS TRAPS, ECO’'S STACK MAINT. RETURN HARDCORE Cl TESTS WCS DATA REGS CONTROL/STATUS PARITY GEN. ADDRESS INTEG. ID BUS DATA INTEG. CLOCK CONTROL PCS PARITY CHECKER ADDRESS INTEG. DATA PATH D BUS Q& D REGS. SCRATCHPADS ALU ZERO BRANCH ‘TK-0751 Figure 4.4.1 Hardcore Because tests a of are 1.5K the 4-3 Test Hardcore LSI-11 memory sequentially loaded from buffer in the LSI-11 implemented using special instructions are actually produces a table and operand addresses. The hardcore monitor pointer into the operands, the code perform to Implementing functionality the of a Based calls address the floppy memory. space, and The parameters software on hardcore subroutines operation that PC that required of in out tests of are op codes effect, is the op codes are written by a test code in this manner allows to reside in a small address space. 4-5 hardcore The pseudo where each resemble which, the content the executed pseudo instructions. functional statements, contains tables. monitor Sequence Structure limited byte statement Test a and in PDP-11 specific test. a large test Pseudo Instruction Description 4.4.2 instructions defines statement the describe paragraphs following The their and and symbols formats. the hardcore formats. statement associated Table describing 1in wused abbreviations pseudo test 4-1 the Instruction Symbol/Abbreviation Definitions Table 4-1 Item Definition < > Used to denote a category name or argument within functional statement, e.g., <SCR ADDRESS> represents [ ] valid source Used to is that a a address. that indicate optional, of part statement functional a INDEX>], ADDRESS [<KWCS e.g., represents an address index value that may or may not be specified depending on the functional statement. to Used SCR Abbreviation psST Abbreviation for destination. I,J,K Legal functional Each pseudo description index for within is divided 1into a source. names. instruction description two The format segment describes the statement the symbols defined is arguments statement. descriptive segments. format using or category names separate ’ in Table instruction The 4-1. a brief paragraph describing general command Each instruction description operation and the available options. is preceded by the instruction mnemonic in boldface type. BLKMIC BLKMIC <SCR ADDRESS>, <SCR INDEX>, <WCS ADDRESS>, <WORD COUNT>, [<KWCS ADDRESS INDEX>] Move the <WORD COUNT> number of 96-bit microwords from the <SCR ADDRESS>, ADDRESS>, indexed by <SCR INDEX>, to WCS the at starting <WCS If an <SCR INDEX> is indexed by <WCS ADDRESS INDEX>. specified, the <SCR ADDRESS> is indexed by six PDP-11 words (i.e., 96 bits). If the <WCS ADDRESS> starts with an alpha character, the <WCS ADDRESS> is used as a pointer to a table in the test data area of the test. Otherwise, it is used as a physical WCS address. For example, if the current value of the index is 2, 14 (<SCR INDEX> * 6) would be added to the <SCR ADDRESS> to find the first 96-bit microword to load into the WCS. 4-6 CHKPNT CHKPNT [<PASS ADDRESS>], [<KFAIL ADDRESS>] If the error flag, set during a compare instruction (see CMPXXX instructions), is zero, go to the <PASS ADDRESS>. If the error flag is not zero, go to the <FAIL ADDRES S>. TIf neither a pass nor a fail address is specified, go to the next instruc tion in line. The address appear on of the the next typed line instruction named TRACE is typed. (Figure These addresses 4-14). CLOCK CLOCK Step <TIMES> the system <TIMES> 1is executed for an clock <TIMES> integral each four number number of of single four, time single bus <TIMES>. states. If cycles are CMPCA CMPCA [<MODE>], Compare the SREGISTER> <REGISTER>, contents with the ADDRESS>, indexed generally EQUAL. If the comparison argument is not ADDRESS>, the console contents by If of <DST <DST left is of ADDRESS blank, false, specified, the default the ADDRESS register location INDEX>. the set it [<DST to specified specified by by <DST The <MODE> argument for <MODE> is error defaults INDEX>] flag. EQUAL. If is EQUAL. the <MODE> If the <REGISTER> argument is specified as IDREGLO or IDREGHI, register used in the comparison is the ID Bus register that read in the most recent READID instruction. the was CMPCAD CMPCAD [<KMODE>], <REGISTER>, <DST ADDRESS>, [<DST ADDRESS Compare the contents of the console registers <REGISTER> and <REGISTER>+2 with the contents of specified by <DST ADDRESS INDEX>. If comparison the argument is not ADDRESS> is and false, specified, it <DST set the defaults ADDRESS>+2, error to flag. EQUAL. INDEX>] specified the indexed If the by <DST <MODE> If the <REGISTER> argument is specified as IDREGLO or IDREGHI, register used in the comparison is the ID Bus register that read in the most recent READID instruction. 4-7 by location the was CMPCAM CMPCAM [<MODE>], <REGISTER>, <MASK ADDRESS>, [<MASK ADDRESS INDEX>], <DST ADDRESS>, [<DST ADDRESS INDEX>] Take the content of the console register specified by <REGISTER>, mask it with the content of the <MASK ADDRESS>, indexed by <MASK ADDRESS INDEX>, and compare it with the content of <DST ADDRESS>, indexed by <DST ADDRESS INDEX>. If the comparison is false, set the error flag. argument is not specified, it defaults to EQUAL. If <MODE> the If the <REGISTER> argument is specified as IDREGLO or IDREGHI, the register used in the comparison is the ID Bus register that was read in the most recent READIN instruction. The mask is performed by taking the content of <MASK ADDRESS>, and 1it, complementing INDEX>, indexed by <MASK ADDRESS it. with TER> bit-clearing the contents of <REGIS CMPCMD CMPCMD [<MODE>], <REGISTER>, <MASK ADDRESS>, [<MASK ADDRESS INDEX>], <DST ADDRESS>, [<DST ADDRESS INDEX>] Take the content of the console registers specified by <REGISTER> and <REGISTER>+2, mask it with the contents of <MASK ADDRESS> and <MASK ADDRESS>+2, indexed by <MASK ADDRESS INDEX>, and compare it with the contents of <DST ADDRESS> and <DST ADDRESS>+2, indexed by <DST ADDRESS INDEX>. If the <MODE> argument is false, set the error flag. <MODE> argument is not specified, it defaults to EQUAL. If the If the <REGISTER> argument is specified as IDREGLO or IDREGHI, the register used in the comparison is the ID Bus register that was read in the most recent READIN instruction. The mask is performed by taking the content of <MASK ADDRESS> and <MASK ADDRESS>+2, indexed by <MASK ADDRESS INDEX>, complementing it, and bit-clearing the contents of <REGISTER> and <REGISTER>+2. CMPPCSV CMPPCSV <DST ADDRESS>, [<DST ADDRESS INDEX>] Compare the content of the PC save register with the content of the location specified by <DST ADDRESS>, INDEX>. indexed by <DST ADDRESS If the contents are not equal, set the error flag. ENDLOOP ENDLOOP <INDEX NAME> Add the increment the the current value of the current value with value of <INDEX NAME> (see loop instruction) to index specified by <INDEX NAME>. Compare the last value (specified in the 1loop instruction). If the current value is less than or equal to the last value, go to the instruction following the associated (I, J, or K) loop instruction. Otherwise, go to the next sequential instruction. ERRLOOP ERRLOOP Save address of detected, the and loop execution is instruction the the restarted is next or at executed instruction. error flag this saved (Figure 4-11). 1is If set an error (Paragraph address after the 1is 4.6), IFERROR FETCH FETCH If <WCS <WCS ADDRESS>, [<KWCS ADDRESS INDEX>], ADDRESS> is a numeric string, 1location specified by <WCS to the ADDRESS INDEX>. If execute a maintenance content of <WCS <WCS ADDRESS>, to indexed is the by NOP> 1is specified, clear bit 7 of (MCR) during the maintenance return. ROM NOP>] execute a maintenance return ADDRESS>, indexed by <WCS ADDRESS> return [<WCS an alphanumeric 1location <WCS the string, specified ADDRESS Machine INDEX>. Control by the If <ROM Register FLTONE FLTONE <DST Generate bit a ADDRESS>, 32-bit postion NAME>, and ADDRESS> word of all zeros. Insert specified by the current value load and <INDEX NAME> this word into the a logic minus 1location one one of specified in the <INDEX by <DST <DST ADDRESS>+2. FLTZRO FLTZRO <DST ADDRESS>, Generate bit a 32-bit position NAME>, and ADDRESS> and <INDEX NAME> word of all logic specified by the current 1load <DST this word ADDRESS>+2. into the ones. value Insert minus location a zero one of specified in the <INDEX by <DST IFERROR [<MESSAGE NUMBER>], IFERROR [<KFAIL ADDRESS>] If the error flag is nonzero, type the PC of this instruction, the Then, go test number, subtest number, and the good and bad data. to <FAIL ADDRESS> if the HALTD flag is not set (Paragraph 4.6). If the error flag is zero, or the <FAIL ADDRESS> is not specified, go to instruction. the next INITIALIZE INITIALIZE Set and clear and the the CPU initialize bit in the MCR, clear the single time state bit, set the single bus cycle bit, set the ROM NOP bit, set proceed bit in the MCR. KMXGEN <SRC ADDRESS>, KMXGEN <INDEX NAME> Generate the KMUX address specified by the current value minus one into the KMUX field of the it and load <INDEX NAME> of ADDRESS>. <SRC ADDRESS> points <SRC by microinstruction specified to a six word table in the test data section of the test that contains the microinstruction. LDIDREG [<SRC ADDRESS INDEX>] LDIDREG <REGISTER>, <SRC ADDRESS>, Load the ID Bus indexed by <SRC register specified by <REGISTER> with the contents of the locations specified If <REGISTER> ADDRESS is the by <SCR ADDRESS> and INDEX>. microstack, microbreak, or content of <SCR ADDRESS> is taken to be 16 bits. taken to be 32 <SCR ADDRESS>+2, WCS address, the Otherwise, it is bits. LOADCA LOADCA <REGISTER>, <SRC ADDRESS>, [<SRC ADDRESS INDEX>] Load the console register specified by <REGISTER> with the content of the location specified by <SRC ADDRESS>, indexed by <SRC ADDRESS INDEX>. This instruction loads 16 bits of data. 4-10 LOOP LOOP <INDEX Initialize NAME>, the <START>, loop <END>, parameter [<SIZE DEPENDENT>] specified by value the for the ENDLOOP instruction If <START> <END>, set otherwise, If <INDEX NAME> to the specified by <START>. Save the value specified by <END> for ENDLOOP instruction. Calculate and save the increment value <END> name is as the If <SIZE on the an <INDEX <END> Otherwise, leave 1less increment of it them than to -1. save the this index specified, divide following is NAME>, is the the set value DEPENDENT> system, with the equal value to to current +1; value of that index name. and larger or algorithm: there of is only one <START> and WCS module <END> by two. it, and unchanged. NOTE The tests modules. This parameters the are written argument for two WCS allows the 1loop to be modified at run only has one module. system time if MASK MASK <DST ADDRESS>, Take the content bit-clear the <MASK of ADDRESS> location content of <MASK location ADDRESS>, complement <DST ADDRESS> with it. MOVE MOVE <SRC ADDRESS>, [<SRC ADDRESS Move the content <SRC ADDRESS INDEX>) to the of location specified INDEX>], <DST ADDRESS> INDEX> (indexed by ADDRESS>. <DST by <SRC ADDRESS NEWTST NEWTST <TEST NAME>, [<KTEST DESCRIPTION>], DESCRIPTION>], [<ERROR DESCRIPTION>] This instruction arguments. It instruction for creates clears a the looping on [<LOGIC DESCRIPTION>], test error header flag test. 4-11 [<SYNC document and saves for the POINT the PC of specified the next READID <REGISTER> READID the Read ID Bus by specified register <REGISTER> content into locations IDREGLO and IDREGHI. 1load and the RESET RESET Execute an LSI-11 reset instruction. REPORT REPORT <MODULE NAME STRING> Type out the module numbers of If STRING>. NAME the microdiagnostic monitor. HALTI the modules flag 1is specified set, by <MODULE return to the SETPSW " SETPSW <DATA> the Load LSI processor with the value status word specified by <DATA>. SETVEC <VECTOR ADDRESS> SETVEC the Set LSI-11 address expected trap routine. specified by <VECTOR ADDRESS> to the SKIP SKIP [<KDST ADDRESS>] If <DST ADDRESS> is not specified, go to Go to the <DST ADDRESS>. starts with the alpha character ADDRESS> <DST If test. the next S, go to the next subtest. SUBTEST SUBTEST Increment the subtest counter. 4-12 TSTVB TSTVB <SRC Load and TABLE read ADDRESS>, the V Bus. [<SRC TABLE ADDRESS Compare the contents INDEX>] of the data at <SRC TABLE ADDRESS>, indexed by <SRC TABLE ADDRESS INDEX>, with the Bus data just read. The <SRC TABLE> has the following format: 1$: .WORD <NUMBER VBUSG <CHANNEL OF BITS V TO CHECK> NUMBER>, <BIT NUMBER>», <EXPECTED BIT <EXPECTED BIT VALUE> 2$: .WORD <NUMBER VBUSG <CHANNEL OF BITS TO CHECK> NUMBER>, <BIT NUMBER>, VALUE> VBUSG is 16-bit word a MACRO as name that BITS <@7:00> <CHANNEL BITS <14:08> <BIT BIT <15> = The following is an three arguments 16,1 If current <SRC <SRC into one NUMBER> BIT VALUE> example TSTVB and the physical the NUMBER) <EXPECTED the encodes follows: value of of <SRC TABLE ADDRESS INDEX>: INDEX> the <SRC TABLE ADDRESS 1looks 1like the preceding ADDRESS> would be TABLE> TABLE the is table, 2, the 2S. TYPSIZE TYPSIZE Use the content the WCS data module of location register configuration, BADDATA, when and it type was a which contains read, to message and the value of the WCS of WCS determine the number modules that will be tested. 1If any of the following conditions exist, the test stream is aborted and the NER (No Error Report) flag is set. a. WCS b. C. bits 3--8§ are nonzero fifth K of WCS is not These module count is zero present conditions mean that the incorrectly or the WCS data register WCS cannot 1is be either read configured correctly. MICROTEST DESCRIPTION 4.5 On completion of the hardcore Microtest sequencing microtest monitor. The microtest floppy However, into buffer. the the in and monitor same the case the begins to buffer area of microdiagnostic monitor then by the from the with the microtest load the microtests execution are used microtests, by tests executed out The monitor references was just first are in A order to microstack the first buffer and loaded contains the WCS monitor into and addresses of into At being 1is of the performed, the first test popping the 1loaded is micro PC and end of each the executed test, monitor the allows This initiating in the the to correct order. initiates the next test with another maintenance then overlay has been executed. sequence loads another address address return test. the microtests are This the The interrupted. 1is The monitor return. locate table). the maintenance the of check that a in system microcode, the in from microtest tests. strictly onto loaded execution that 1is that microstack. address table the hardcore area instruction of every test in the overlay (section) entry (first a from monitor. controlled the this Since the microtests are implemented transferred of the WCS. the tests, monitor hardcore the overlays continues 1K microword until the original overlay 1K microword the microtest monitor At this point, into WCS. Because of the microtest package size, more than one diskette is required a for storage. it diskette, entire package. When determines In the the monitor it whether case where executes the is it is the last the 1last test on of the test, the test last monitor prints out a message to the operator with instructions to load the next sequential diskette and microtest execution (Paragraph 4.8). 4.5.1 Microtest Structure The initial microtests complete hardcore the Translation The tests. Buffer (TB) and the enter data microtests a command path then to testing to begin cache without using memory. check correctly. continue started test The by the tests check the TB and cache for their ability to retain correct address and data information, The Instruction Buffer using memory. cache, and microtests data path. to (IB) IB test check the IB branching cause interrupt from cache.) (i.e., and data instruction test condition code test data parity tests are then executed, again without The The manner and loaded is to functions '‘and logic into 4-14 1loaded patterns is and into be cache. retrieved controls checked in subsequently a for The from the similar retrieved The next test segment covers maintenance functions, and the these tests, the microtests go the TB, the SBI control logic and its memory system. After performing back and test those functions of cache, and SBI subsystem that depend on retrieving data memory (e.g., cache, SBI faults, etc.). A minimal amount of testing is performed on the Unibus and Massbus adapters. These from tests force capability The selected to detect floating-point Figure 4-4 shows errors and on the SBI and react to the accelerator is tested the microtest determine forced errors last. sequence. DATA PATH ! TB, CACHE W/0 MEMORY y !IB (W/O MEMORY) IB BRANCH FUNCTIONS, CONTROLS FOR DATA PATH : INTERRUPT & CONDITION CODE LOGIC uTESTS y SBI CONTROL LOGIC, MAINTENANCE FEATURES, Ifi/IEMORY SYSTEM 4 TB, CACHE, SBI FUNCTIONS PERTAINING TO MEMORY : MINIMAL UBA, MBA TESTING ! FPA TK-0778 Figure 4-4 Microtest 4- 15 Structure the adapters' correctly. On completion of the microtests, control is returned through the microdiagnostic monitor console the to The program. console the reboots, sends the relevant bootstrap header information to console terminal, and prompts for operator input. MICRODIAGNOSTIC MONITOR CONTROLS 4.6 The following paragraphs describe the operator command execution Where control functions provided by the microdiagnostic monitor. usage flag control program and command of appropriate, examples nostic microdiag of on descripti a is included Also are included. related The error messages. majority of commands the available in microdiagnostic the monitor are not used in the normal course of execution. Normally the operator enters the test command and executes the entire microdiagnostic package. The command mode is wusually used Following the error message printout, following error detection. testing stops and control is returned to the monitor command mode. At this point, operator the executes commands he decides would be most helpful. those microdiagnostic The Symbols used in the command syntax are the comma and < >. < > denotes an comma is used to separate items within a list,. or a V Bus value, count pass address, an either is, argument, that channel. Note that the Control C (°C) 1is looping on an error, command line) interrupt control character. return user must (or command every terminated with a carriage (CR). be If Control C is entered during test execution, the current test will complete, further testing is suspended, and control is returned to 1If Control C is entered while a test is the monitor command mode. the 1loop will be suspended Any command may be returned to the command mode. d line. comman that in entered is C Control Table 4-2 describes the monitor commands. commands, and control aborted if a Note that although all keywords, qualifiers, and flags are spelled out, they The only can be abbreviated to the first two characters. on error halt and n detectio error on halt the exceptions are ly. respective HI, and HD typed be must which flags, isolation 4-16 Table 4-2 Miérodiagnostic Command/Flag Descriptions Command/Flag Description DIAGNOSE Initializes and starts test the program control flags, microdiagnostic execution at number one. Valid qualifiers are: /TEST: <NUMBER> -- Dispatch to the test number specified (do not execute any prior tests), and 1loop on the test indefinitely. /SECTION: <NUMBER> section number execute on the any -- Dispatch to specified (do prior section sections), <NUMBER> -diagnostics and the before 1loop indefinitely. /PASS: passes and the not Execute the microspecified number of returning to the If the number is -1, execute diagnostics indefinitely. console. the micro- /CONTINUE -Used with the /TEST or /SECT switch to automatically continue after the specified test or section has been reached. /TEST: <N> <M> execute -- (inclusive), mode. /SECT: <N>, Dispatch tests <N> and <M> execute <N> -- return Dispatch sections (inclusive), mode. and to test through <N> return to to <N>, <M> command section through <M> to command and execute NOTE In the preceding variations of the /TEST and /SECTION qualifiers, the value of <N> must <M>. If <KM> will start be is at 1less 1less <N> than than and or equal to <N>, testing continue end. /TEST and /SECT simultaneously. Examples cannot be to the specified DIAG/TEST: 2F Dispatch to test it indefinitely. 4-17 number 2F Table 4-2 Microdiagnostic Command/Flag Descriptions (Cont) Description Command/Flag DIAG/SECT:B Dispatch to section number execute it indefinitely. B and DIAG/PASS:--1 Execute all of indefinitely. the microdiagnostics DIAG/TEST: 2F/CONT Dispatch to test of the remaining 2F and tests. start execution Continues microdiagnostic execution without changing the program control CONTINUE flags. Set and Clear Flags SET/CLEAR FLAG HD Sets (or detection SET/CLEAR FLAG HI Sets SET/CLEAR FLAG LOOP (or <clears) flag. the halt on error clears) the halt on error the 1loop on error error report isolation flag. Sets (or <clears) (or clears) (or <clears) flag. SET/CLEAR FLAG NER Sets the no flag. SET/CLEAR FLAG BELL Sets the bell on error flag. SET/CLEAR FLAG CLEAR FLAG ERABT LS Sets (or Clears flag. clears) the (Note the error special on loop that abort this flag flag. section cannot be set.) CLEAR LT FLAG SET/CLEAR FLAG ALL Clears the loop on special test flag. (Note that this flag cannot be set.) Sets (or clears) all of the previous flags. SET/CLEAR SOMM Sets (or clears) the stop on micromatch bit. SET/CLEAR SOMM:<ADDRESS> Loads address into the CPU microsync register, and sets (or clears) the stop on micromatch bit. 4-18 Table 4-2 Microdiagnostic Command/Flag Command/Flag Description SET/CLEAR Loads <ADDRESS> register. SET STEP FPA:<ADDRESS> STATE Sets the CPU Descriptions (Cont) into the microsync clock to FPA single state. SET STEP BUS Sets the Both BUS the step to STEP or the mode UPC input. terminal clock is triggered value is typed character is Sets the single current value typed. The input. If current pseudo the If typed, step the CLOCK SLOW Sets the RETURN space 4-19 is is typed, is the executed is is clock speed to the slow clock ERABT, HD NER speed clock display the and Returns terminal CPU CPU a continue for fast BELL, Clears waits the Sets the CPU oscillator. LOOP (TPC) to CLOCK LOOP PC speed SET Causes the Test clock Sets NER, When invoked, CPU CLOCK NORMAL SHOW mode value of the TPC any other character mode is exited. SET EXTERNAL any instruction instruction margin. the the 1If step current typed. Sets a and monitor. are the monitor margin. SET of the current out. entered, software enter waits space is a UPC exited. STEP to and the and FAST If cycle. SET the value, typed, flag and returns to the hardcore tests CLOCK and monitor types the bus current is SET single STATE cause Step state other INSTRUCTION SET mode. for STEP clock commands clock SET CPU time of for the LS, and HI flags command. control to to the normal. an external HD, HI, LT flags. and flags. and LOOP, Sets the executes console a program. Table 4-2 Microdiagnostic Command/Flag Descriptions (Cont) Command/Flag Description Examine Commands The following examine commands cause the current microinstruction to be is examine the before executed ne exami first the is it if rmed, perfo since entering the monitor command All successive examines do not mode. additional any te execu registers Bus ID s. tion truc microins the during destroyed are T1--T8 Bus VvV the for pt exce , ines exam following of the All examines. ce the advan Bus, V t excep nes, exami the ting execu e befor CPT@ to clock . command EXAMINE ID: <ADDRESS> Displays the content of the ID Bus EXAMINE NEL> US : <CHAN VB Displays register specified by <ADDRESS>. the content of the channel specified by <CHANNEL>. BUS V Bit 4 is at the right side of the display. Displays the content of the RA scratch EXAMINE RA : <ADDRESS> EXAMINE RC : <ADDRESS> EXAMINE LA Displays the content of the LA latch. EXAMINE LC Displays the content of the LC latch. EXAMINE DR EXAMINE OR Displays the content of the D register. Displays the content of the Q register. EXAMINE SC Displays the content of the SC EXAMINE FE Displays the content of the FE EXAMINE VA Displays the content of the VA EXAMINE pPC Registers the the program pad specified by <ADDRESS>. Displays the content of the RC scratch ' pad specified by <ADDRESS>. register. register. register. counter. 4-20 content of Table 4-2 Microdiagnostic Command/Flag Deposit Command/Flag The deposit examine to be command command, deposited user. DEPOSIT DEPOSIT ID: <ADDRESS> RA: <DATA> <ADDRESS> DEPOSIT RC: <DATA> <ADDRESS> <DATA> <DATA> DEPOSIT DEPOSIT DR: DEPOSIT DEPOSIT QR: <DATA> SC: <DATA> DEPOSIT DEPOSIT FE: <DATA> VA: DEPOSIT <DATA> PC: <DATA> LC: (Cont) Description Commands DEPOSIT LA: Descriptions is the except must be same that as the the supplied data by the <DATA> <DATA> 4.6.1 Monitor Control Examples following paragraphs provide usage examples of selected monitor controls. These descriptions are brief and are intended only to indicate some of the capabilities of the micr odia gnostic monitor. The 4.6.1.1 HD/HI microdiagnostics error isolation. the HI flag. microdiagnostic a. Error b. Call C. d. In a is the normal the set. addition functions: circumstances, HI flag to testing, error detection the and the set user initiates the would following detection isolation an pattern situation halt In basic Under Terminate to two Setting sequence: Display data wants Flags perform error used, test where routine identify message and the the identifying failing error cause the failed modules test, execution. the execution to user at does the not error require detection a scope point, loop, the HD This flag halts the test befo re the microdiagnostic isolation routine overlay (e.g ., V Bus compare). and flag calls 4.6.1.2 Loop On Error Flag (LOOP) -- With ¢this flag set, the microdiagnostic will revert to a tight program loop after error detection (assuming the NER flag is set). Note that the loop will continue cleared even though the error to break the loop. is 4-21 intermittent; the flag must be sses the No Error Report Flag (NER) -- This flag suppre in the l usefu ially espec typing of error messages. The flag is error time, takes ut printo case of looping on an error. Since the ts repor error With the scope sync is lost during typing time. a reasonable sync. 4.6.1.3 suppressed, the loop is tight and produces 4.6.1.4 Bell On Error Flag (BELL) g this s When running the hardcore tests, settin Hardcore Test-—error an when bell flag causes the console terminal to ring itsion where a manual This flag is useful in a situat occurs. In this situation, the user adjustment could clear the error. flag, producing a tight loop. would set the LOOP flag and the NER the user does not have an However, with no error report,cleare d during the adjustment. indication of where the error en a reasonably tight betwe Setting the BELL flag is a compromise at) and an error somewh error loop (the BELL flag slows the 1loop used during the were If a scope indication during the adjustment. error without losing tion indica adjustment, the user would have an the scope trace. loop on test Microtests -- In the microtests, one mustbeen printed, set has (DI/TEST:n); then, after the error messageand type CONTINUE. the NER and BELL flags, clear the HI flag, command allows the user 4.6.1.5 Continue Command (CONT) -- This situat ion. For example, halt tic to proceed from a microdiagnos reflected in the been not has suppose that a hardware ECO, which er. When the comput the into diagnostic system, is incorporated o error, the pseud the of tion detec microdiagnostic halts following ion at the execut ue contin and test user can bypass the failing next test by entering CONTINUE. 4.6.1.6 to Error Abort Flag (ERABT) -- This flag allows the user tests t in certain hardcore display more than one error reporpiece of logic with more than (tests which exercise a particular one data pattern). flag is set, For example, consider the situation where the ERABT initial of one on R2) (ERRO and the test detects a type 2 error enter CONTINUE, the the flag would data patterns. If the user were to the next of tion execu ate initi and abort the remainder of the test UE will CONTIN d, cleare flag the sequential test. However, with data ntial seque next the with initiate execution of the same test pattern. 4.7 MICRODIAGNOSTIC RELATED ERROR MESSAGES microdiagnostic-related The following paragraphs describe the All error pretation. inter error message formats and their them from h nquis disti to mark messages are prefixed by a question informational messages. 4-22 4.7.1 ?2USE Syntax DIAG Error Messages COMMAND Execution of a continue command was attempted before a diagnose command. This would only occur if TEST/COM were used to invoke the microdiagnostics from the console program. 2INVALID COMMAND The previously entered 2INVALID KEYWORD The argument of a ?NUMBER MUST A BE command An was error number was recognized. recognized. recognized. System Error <NUMBER> Messages was and detected Error code identified is: <NUMBER> = 1 = Floppy <NUMBER> = 2 = File <NUMBER> = 3 = Floppy ?READ SECTOR: <NUMBER> error was detected and An the floppy. hardware not trying not identified while trying = 4 = Sector number out = 3 = Floppy queue full <NUMBER> = 1 = Floppy hardware error identified while code 5 = Terminal 7 = Terminal Go TRAP TO 4 trapped to to read a sector of range trying PC = 4 at Chain Monitor the specified PC. Error Messages is hung. The monitor the last four seconds. ?EXECUTION The the microcode OUT OF microcode has sequential in SEQUENCE not UPC = executed 2ILLEGAL MONITOR CALL: The microcode made a was SHOULD BE = the tests within did not the overlay receive in order. ?CLOCK STOPPED UNEXPECTEDLY The clock stopped and the SOMM which the busy hardware error a from read driver ?TIMEOUT IN TEST ... UPC = Indicates that the microcode call to is: <NUMBER> LSI-11 floppy is: <NUMBER> 2UNEXPECTED a ready <NUMBER> Error open error <NUMBER> terminal. to found code ?KEYBOARD ERROR: <NUMBER> error was detected and 4.7.3 while Error An The not not FILE: file. from was HEX non-hexadecimal 4.7.2 ?0PEN command <NUMBER>. bit was not set. <NUMBER> call to the 4.3 monitor with a bad argument, PROGRAM LISTING AND ERROR MESSAGE DESCRIPTIONS 4.8 The following paragraphs describe microdiagnostic program listings is beyond the scope of this chapter It formats. and error message to describe the various diagnostic program assemblers and their associated languages. Monitor Listing Descriptions 4.8.1 The program listings for the microdiagnostic-associated monitors (i.e., microdiagnostic, hardcore, and microtest) share the same listing format. That is, since the three monitors operate out of the LSI-11, they are coded in MACRO-11 (PDP-11 assembly language) in the general description. and are discussed as one listing Each of comprised is Table of sections: general three Contents, Program Definitions, and Program Code and Descriptions. Each page program, number, Table of listing the page generated, was the the name of title containing particular line item that indicates the content of that page and a (listing header) The has a listing in a the date the (Figure 4-5). a is Contents the of list of content the program listing. The first (left) column contains a hyphenated number. The number preceding the hyphen specifies the page number of the listing on which the line appears. The number following the hyphen is a listing line number. This number specifies the starting line (within the 1listing) in the right sections, etc.) Program The column of the associated listing content contained (e.g., definitions, test address register specifies section Definition routines, utility assignments, bit definitions, module and bus name assignments, and other constants that are used throughout the program. The remainder of the listing (and the largest section by far) the Program Code and Description section is (Figure 4-5). The format is described on a per column basis from left to right. Note that the address and data radix for all monitor listings is octal. - Column 1, Listing Line Number -- Each line in the listing to is assigned a unique decimal number referencing from the Table of Contents. allow easy Column 2, Address —- The address of the instruction. - in Column 2 -reference line Column 3, Content of the Address listed (e.g., This is wusually an instruction number 79 in Figure 4-5). The address is 101029, and its content is @32767, which is the octal code for a Bit Test (BIT) Column instruction. 4 and three-word specified reference -- 5 If in columns line instruction the instruction, number the second 79 in 4 4-24 and 5, and is a two-word words are 4-5). This BIT respectively Figure or third (e.g., STAR MICRO YEST MONITOR MACRO Mi@ PLAG TEST ROUTINE 03=MAR=77 7 77 78 | 79 108776 je1002 1831020 101026 101230 1021036 101940 101044 101046 80 61 82 83 84 85 86 o@0%@67 177130 932767 p0146 Q32767 Q01463 0204767 040000 177064 @e0@d4 177054 101079 88 89 90 91 92 93 94 0212667 177022 032767 1681076 101180 101106 101124 101142 101160 101176 195 101282 96 97 98 99 100 101206 101212 101214 101220 101226 191 101232 o004l 032737 200004 177014 o@@0200 163032 204767 003236 004767 go3Rie 105737 100402 000167 032737 oe1118 104236 01257 123 101240 1n; 10 191244 05267 FLGTST: 181 CLR TIMER } UPDATESHR 5T SCTRLC, SWR ) BEQ 118 J} 81y #LOOP, SWR ? BEQ 118 } JSR PC,STOPCLK ! GETUPC ? MOV (SP)¢,8THPO ! CALLMICMNON ° ?} 817 "WLOOP, SWR ! BNE 128 ! 818 NCLRUWRD,##CONMCR LOADID WERIADR,SUSCADR j LOADID W®ERIDAT,MUSCDAT 3 LOADID WER2ADR,#USCADR 3 LOADIDO WER1IDAT,NUSCDAT ; JSR PC,MRETURN ] SR 1181 QG412 000042 163032 000004 1a8s BNE BIT 176666 Q01256 114 101362 119 101310 116 101314 117 101330 118 177314 016767 177304 Q05267 176360 176546 176564 101372 104376 to1400 or4767 101482 012667 101426 ' 101434 128 101452 | 162767 130 ' N | | oouoaal 175372' | 14 | LINE ADDRESS LISTING NUMBER ! | CONTENT ADDRESS | s | — l | | / fi“f YES IF YES 1 ? LOOP } BRANCH ? INCREMENT ) BRANCH THE TIMEOUT TIMER NO TIMEOUT YET HAS BLOWN UP ’ ! 5 7 TYPE TIMEOUT ERROR IN THE FIRST TEST BRANCH IF YES MESSAGE YET? 6s @STSTNM,HEX ? #SIXSPC ¥MSG3 ! ? TYPES | (SP)+,8TMPD #STMPO, HEX tvee ' wscriLF sus | CALLMICMON 44,TSTPTR e | gesy 1 | 1 | | SIX SPACES "ypPCat ! STOP THE STAR CLOCK READ THE UPC SAVE REGISTER } | TYPE THE TEST NUMBER TYPE TYPE 7 SAVE IT ! TYPE THE CURRENT UPC ) GO TO THE MICRO MONITOR | .. | 1 ? RESTART AT THE CURRENT TEST | | | | | INSTRUCTION MNEMONIC SECOND AND IF TEXT REFERENCE FLAG SET? THE MICROCODE TSTSAVE,$THPD SECOND STOP? $TMPO WSTMPO,MEYX MOV | | CLOCK JSR PC,STOPCLK LOADVBUS GETUPC 176468 | 120] 101480 ' app167 ! 177262 STAR IF 53 TYPE TYPE 8s: | 126) 101422 I THE WSCRLF #MSG2 TSTSAVE,$TSTNM TYPES 002614 DID INDICATES THAT BR 583 7 BRANCH 18 INC TYPES 633 33 TIMER MOV 1081346 fey1360 YET? } TIMER CLOCK CALL NO INC SNE Q00406 101332 119 120 026767 oofni4 TIMEOUT ) MICROCODE BRANCH IF FLGTST TYPE TYPE cnp THE FIRST CONTROL C FLAG SET? € — TEXT BRANCH IF nNO REFERENC! LOOP FLAG SET? BRANCH IF nNO STOP THE CLOCK GET THE CURRENT uPC SAVE GO TO THE MICRO MONITOR LOOP FLAG STILL SET? BRANCH IF YES j GOING TO RESTORE MONITOR CALLS LOAD THE ERROR | ADDRESS RESTORE THE JUMP ADDRESS LOAD THE ERROR 2 ADORESS RESTORE THE JUMP ADORESS DO MAINTENANCE RETURN ON ORIGINAL UPC 1 START THE #LOOP, SWR BNE INITIALIZE e#TXRDY ? 108 } 29 #CLKSTPD,s#CONMCR BNE Je ? THIS CODE 109 110 101246 111 101260 112 181272 113 181302 PC,RUNCLK TSTB 8MI JmMp 817 176654 106 107 127! PAGE PFLAG TEST ROUTINE 1283 163016 0232767 102 124 LISTING 8 oSBTTL 0203146 101032 87 125 PAGE HEADER 7: 121 122 123 19382 LABEL THIRD WORDS COMMENTS OPERAND DEFINITIONS OF INSTRUCTION TK-0773 Figure 4-5 Monitor Sample 4-25 Listing instruction happens to be a word second is @40600¢, and instruction, three-word the word third is the 177064. Thus, this instruction is testing bit 14 (040003) to determine if the Control C flag is set at address 177064. (Note that this flag was defined 1in the definition section.) Column 6, Label -- This symbol is the name used by the program mnemonics to reference this instruction (e.g., reference line number 95 in Figure 4-5). The 1label in this case is 128. Column 7, Instruction Mnemonic -- This is the assembler language mnemonic for the instruction (e.g., Bit Test Instruction = BIT). Column 8, Operand Definitions -- These symbols and mnemonics are the assembler language mnemonic definitions the for operands. Column 9, Comments -- A brief description (following the semicolon) of the instruction operation. 4.8.2 Hardcore Listing Description to that of The general format of the hardcore listing is similar tions, and Defini m Progra s, Content of the monitors (i.e., Table of Table the of column left The ). Program Code and Descriptions the ng precedi number The number. ated Contents contains a hyphen hyphen specifies the page number of the listing on which the line appears. The number following the hyphen is the 1listing 1lineg number, indicating the starting line of the associated 1listin contents. listings, The definition section 1i.e., address, module is and similar to the monitor assignments, bus definitions, and other constants used in the program. bit The remainder of the listing is the Program Code and Descriptions. As indicated in the Table of Contents, the hardcore tests area composed of sections and tests. The section number represents 1.5k byte segment. The section number is displayed on the console terminal during hardcore test execution. The test number identifies a test on a particular logic area or function. The subtest number (which is not referenced in the Table of Contents)1 jdentifies a particular portion of a test. For example, Subtest floats a logic one through each bit of a register; Subtest 2 floats a logic zero through the same register. As shown in Figure 4-6, the program code is preceded by an outlined test header area. A subtitle statement (.SBTTL) generates the test number and title above the header area. The header area consists of five descriptive segments. The first line within the outlined header repeats the test number and test title. The test description segment is a brief paragraph describing the general logic area tested and method of test. The logic description segment describes the test in more detail. 4-26 CS BUS DATA INTEGRITY T1C [ .SBTTL e53e T |AR ’ TEST ’ ’ \\\\\ ? ’ e L R L R A e L R R g L ONE AND A ZERO THRU AND CHECKING | = FLOAT A A MICRO WORD, EXECUTING THE THE V BUS FOR PARITY ERRORS, ZERO CS THRU THE MICRO BUS SUBTST 2 = FLOAT A ONE THRU THE CS BUS ] HEADER ey rr THIS TEST CHECKS THE DATA INTEGRITY OF THE (S BUS BY FLOATING SUBTST ' AREA I CS BUS DATA INTEGRITY WORD, ! TEST I DESCRIPTION A ' SUBTITLE STATEMENT cS BUS DATA INTEGRITY J4/ 1€ s TESY ' TiC I PAGE 29 20=APReYY 10137 MACRD M1@ MICRO DIAGNOSTIC HARDCORE TEST LOGIC DESCRIPTION THIS TEST CHECKS THME ID BUS INTERFACE TO THE WCS MODULES, THE DATA INTEGRITY OF THE WCS MEMORY CHIPS AND THE DATA INTEGRIYY QOF ’ ' THE ' CONTRCL STORE (CS) BUS, s y ’ ERROR DPESCRIPTION DATAS EXPECTEC V RECEIVED J BUS CHANNEL, BUS CHANNEL, BIT BIT AND VALUE AND VALUE t, 3=BIT 2, LOOP COUNT « INDICATES WHICH BIT IN YHE 32 BIT GROUP I8 UNDER L ] TESYT, l.E, I®BIT @, TEST, 1.E, 19 2=BIT ETC. LOOP COUNT = INDICATES wWHICH 32 BIT GROUP 18 UNDER 1] ' 1 NOTEs ’ ! ’ SYNC ? ’ RITS<31109>, 28BITS«<463:132>, 3IsBITS<9S164> THE EXPECTED AND RECEIVED V BUS CHANNEL INDICATES WHICH 32 BIY GROUP MAS RAD PARITY IN IT, 1,E, 102X=BIT8<31182>, 101 X3BIT8<63132>, AND 10BX®BITS<c9S5364>, J H Vv DESCRIPTION POINT SUBTST | « SYNCUC=«TEST PATTERN IS8 ACTIVE ON THE €S8 BUS SURTST 2 = SYNC4D==TEST PATYTERN IS ACTIVE ON THE CS RUS '.. R R AeASSA 2534 @paSSy 2535 2536 8p0556 280556 2537 2538 2539 2540 L R R e FLOAT & et e ZERD THRII THE CS BUS LooP LOIDREG LOOP LPIDREG J,1,3 USCADR,TMPIA@ K,1,3 USCDAT,TMPIR2 t 3 ) 1 LOOP COUNT FOR THE 3 BANKS SELECT LOCATION ZERO INITIALIZE THE CONTENTS OF LOCATION @ ,,, LooP 1,1,32 1 LOOP COUNT FOR THE BITS IN a BANK 3 LOAD INTO THE SELECTED BANK ENDLOOP 2548 200630 2549, 200636 LDIDREG USCADR, TMP18@,J FLTZRO Itnpxelpl 255eiaaeedy | 2552l eegesu | | | I | | | LINE e T1CS13 2545 220614 2546 LISTING R SUBTESY 200560 200570 @0@sS76 PoB606 2551 R $77020080072772700777777707270707727077707727770777772777727777072771770707777277717¢4¢7777 2547 200620 | R INITTALIZE 1" t FIRST 3= 2501 2542 2543 2544 | Rt TiCs #0964 ADDRESS K ERLOOP LOIDREG, USCDAT,TMP1Q1 FETeW $oaee | 3 t LOAD THF BANK ANDRESS GENERATE THE TEST PATTERN | |1oeen |+ EXECUTE THE MICRO WORD | | | I | | l L J ADDRESS INSTRUCTION CONTENT OPERANDS COMMENTS NUMBER TK-0769 Figure 4-6 Hardcore Listing Sample 4-27 For error description segment specifies test parameters. The example, in the error description of Figure 4-6, the first line the second 1line specifies what is expected during the test; specifies what is received. The third line indicates which bit in the 32-bit array is under test; the fourth line indicates the 32-bit group under test. The sync point segment specifies critical points in the 1listing around which an error loop or scope loop might be set up (Paragraph 4.9.2). Following the test header is the program code. listings are described on a per column basis below. - Column 1, Listing Column 2, Address unique decimal listed pseudo 3, Address The relative Content (Note 2. -- address Content that instructions described Columns 4 and 5, the to allow easy referencing. -- Column in hardcore Line Number -- Each line is assigned a number instruction. Column The the of (PC) the of the address are contents the in Paragraph 4.4.2.) Instruction Operands -- The operands are instruction source, destination, or index values. The mnemonics appearing in these columns have been defined in the definition section of the listing. Column 6, the Comments —-- A brief descriptive note concerning instruction operation. Microtest Listing Description 4.8.3 The general format of the microtest listing is somewhat similar to the other microdiagnostic listings, i.e., a Table of Contents, Program Definitions, and Program Code and Descriptions. However, since the microtests are executed out of the WCS, they are written in system microcode firmware listings. and, therefore, are similar to the system Unlike the hardcore listings that are assembled in one listing, the microtests are assembled into separate listings by 1K microword test sections and identified by those section numbers. Note also that the address and data radix for these listings is hexadecimal. The Table of Contents it contains a i.e., listing content is similar to those of the other listings; 1line number entry and the corresponding description. Since the first column does not contain assembler directives, only the line number appears. The Program Definition section describes all macro definitions associated with the listing. The Program Code and Description section format is similar to that of the system firmware listing. program code described in is identical Paragraph to As the 4.8.2. 4-28 in the hardcore listing, the hardcore format and content The microtest - listing is described on a per column basis (Figure Column 1, UPC -This column specifies the address contained in the UPC at that particular microstate. Column 2, microword Microword -- This column describes content of the address specified Column 3, Listing Line Number to allow easy referencing. -- Decimal the in column number 1. assigned Column 4, Microstate Operation -- This column specifies the operation during a particular microstate. The notations used to describe the operation have been defined in the program definition section. Column 5, the Comments -- A brief descriptive note microstate operation. (A detailed concerning firmware description is provided in the VAX-11/780 Central Processor Technical Description, e.g., field definitions, coding TEST etc.) Microdiagnostic Execution 4.8.4 The conventlions, entire on microdiagnostic the described in console the package terminal. detailed may be Other diagnostic executed by operation operating entering options procedures in are The VAX-11/780 Diagnostic System User's Guide (EK-DS780-UG-001). hardcore illustrates Following console microdiagnostic and microtest terminal output during hardcore tests execution. The microtests and 1identification execution. no duplication of test numbers). no differentiation differentiation (Paragraph 4.8.5). The monitor loads on the section allow console number the is of an The entire are hardcore only the test, the printed to and Test (in in test identify sequentially and (with microtests. of case the section number execution is the failing exact typical Figure 4-8, there 1is in hexadecimal) 1initiate microdiagnostic numbered As shown required terminal. monitors 4-8 error-free 1is operator case between the Figure then prior A an error is printed initiated. The section in the diskettes. As to execution to error. microdiagnostic package requires two indicated in Figure 4-8, the microdiagnostic monitor instructs the operator when to mount the second diskette, and prompts for the types of command required to initiate execution of those diagnostics. 4.8.5 Error Message Format The general error message format microdiagnostics is shown in Figure 4-9. 4-29 for both 3 DWMPOA ,MCR([400,3262) DWMOOA MICI490,3262) 12813 14338 Microcode file MICRO 31(241) TEST AS CES REGISTER ALU N BIT 21°APR=1977 20<APR=1977 W W E WS TG W P W 3 W0 TEST W HEADER +«PAGE #000,2030,0180,0800,0000,1135% 11406, 1141, 2018,0038,7980,0A90,0000,1141 y ' TEST THIS TEST CHECKS THE ALU N BIT IN THE CES REGISTER, THIS Is DONE 1041 1842 THIS BIT, DATA PATTERNS ON THE AMX AND BMX TO CHECK TME LOGIC THAT GENERATES SUBTST { « CHECK THE DATA PATTERNS THAT REQUIRE THE ALU TO BE EXECUTING AN A+B T0 GET THE CORRECT ALU DATA, SUBTST 2 = CHECK THE DATA PATTERNS THAT REQUIRE THE ALU 10 WP VY VG WS TG TG CO TP VO YO T 1879 1881 1882 GO G O flOOfla303C0019GUCO0000000,11‘9l 1877 1878 1080 B 1146, 0001vUD!CoOl‘O:OAl0,00GO:1147l 11474 f200,003C,0180,0A08,0200,1148 1148, 1866 1867 1868 1869 1870 0100,003C101802,0000,0000,1143 1018, 2000,003C,0180,0A00,0200,1145 11454 #000,003C,0100,0000,0000,1146 BE EXECUTING ANYTHIN BUT AN AR OR Ae*B, LOGIC 188) DESCRIPTION THIS TEST CHECKS THE LOGIC NETWORK ON THE CEH MODULE THAT GENERATES THE ALU N BIT, AND THE MULTIPLEXOR ON THE ICL MODULE THAT FEEDS THE ALU N BIT IN 1854 1885 1856 1857 1858 1859 1860 1861 1862 1863 1864 186% DBE EXECUTING AN AeB T0 GET THE CORRECT ALU DATA, SUBTST 3 = CHECK THE DATA PATTERNS THAT REQUIRE THE ALU TO 1884 1852 1853 1873 1874 1878 1876 0218,0038,D580,09E0,0000,101A 0000,003D,0180,0800,0000,1124 . 1846 1847 1848 1949 18%0 1872 ) ccQaoccaccac 1144, 1014, ALU N BIT BY SELECTING THE ALU TO DO A¢B AND AeB, AND FsB, WITH SPECIFIC 7818,0238,4180,0800,0000,1142 0001,003C,0100,0A98,0002,1144 CES REGISTER TEST DESCRIPTION 1840 WO 1142, 1143, AS 1839 1871 °018,0038,7580,0A88,0000,1140 VH 1219, $#918,0038,6500,0A80,0000,1018 CES REGISTER ALU N BIT" g4 W W B WS VO WA WG VO WO V6 W G O O W TO UH UG N0 W WS WS 10318 VO UH W 0018,2039,0D03,09F6,02000,10F VO cQcoCccca o 1014, 1019, "TEST AS JHRRENEBRVRNBBRRERERBRVVBRERBBRRRORDBVRBRRDRRBBBOGRRVRVBRBRRRERERAERRRERE W) AREA 1832 1033 1034 1038 1836 1837 1830 Page ? ERROR DESCRIPTION DATAS EXPECTED CES REGISTER RECEIVED CES REGISTER LOOP COUNT <« INDICATES 1887 WHICH DATA PATTERN (SEE THE DATA AT THE END OF THE TEST) 1S BEING USED, SYNC POINT DESCRIPTION SUBTST 1 = SYNCilAe=ALU N BIT GETS LOADED SUBTST 2 = SYNCiBeeALU N BIT GETS LOADED SUBTST 3 = SYNCiCeepALy N BIT GEYTS LOADED JHBRRRBBRBNRBBRBBSEFBB AR R VR RER VPR ERRBRROERFERBERRRBR BB BB RBEBRRBIRRBBRED =0 ICLTO NEWTST(,3] R(P)l.K(,10) ) ADDRESS OF AMX DATA Ril).K(,20] 1 ADDRESS OF BMX DATA CALL,J/UNJAM 3 CLEAR ANY SBI R{2)1.KI,30) D.D,LEFT2 R[3)LD INTERRUPTS ) ADDRESS OF EXPECTED ALU N BIT DaK(+80) )} GENERATE MASK FOR N BIT ) SAVE . $SI77107777707070272077207020777770700777777720770707727772072077F07777771707777 1¢ ; 3 DO THOSE FUNCTIONS REQUIRING THE ALU TO DO AN A PLUS B ’. 78811 RC[OCIK([,6) =0 SUBTEST ICLT8L{1VALR(D) 1884 1885| R{S).D 1886 1888| THE CES REGISTER, DIBYTE).CACHE,P VALR[1) DIBYTE].CACHE,P } | | SET THE LOP COUNT $ FETCH AMX DATA ! SAVE 3 FETCH BMX DATA | | | MICRO MICROWORD LINE MICROSTATE PROGRAM CONTENT NUMBER OPERATION COMMENTS COUNTER (UPC) Figur e TK-0771 4-7 Microtest Sample 4-30 Listing =>>TEST MICRO DIAGNOSTIC 01+02y03, NO. OF WCS V.05 MODULES = 0001 1 04!05!06107_v08!09’OADOBvocDODIOEvOFv10) 11,12913914515916+17» 18v1951As1Bs1Cs 10 1Es1F 1209 21922923524, 257269279289 299 2A1 2B 2F 130931 932+33934135936537,38r3953Ay END FASS MOUNT FLOFFY #2 & TYFE 'UI'I 2E —~—— REFERENCE SECOND TEXT REFERENCE 3E» ¥ MEM CTRLS= 3C,30, 4K 2C» 20 000001 .MIC.}L{ FIRST TEXT CHIF 00000001 00000E08 OPERATOR IEY3F CFU TR= 00000010 ‘UNN;,-E‘-RL|NED P 40141 942+43944y45+46947148949r 44y CTRL 4Ry 1 MAX ADR+1i= 00080000 CTRL 1 MAX ADR+1= 00080000 A4Cy 40, END FASS 000001 TK-0772 Figure 4-8 Typical Error-Free Terminal ERROR: <PC> TEST: <#> SUBTEST: <#> DATA: XXXXXXXX XXXXXXXX XXXXXXXX TRACE: WXY.Z FAILING MODULES: (M8269 (S13)... NOTE: PC IS OCTAL FOR HARDCORE TESTS. OTHERWISE ALL NUMBERS ARE HEX. TK-~0750 Figure 4-9 Error 4-31 Message Format Output The first line items are ERROR, address (PC) of the failing error, the PC is displayed TEST, test. as a and SUBTEST. ERROR is the In the case of a hardcore test six-digit octal address, since these tests are microtest error, executed out of the LSI-11. In the case of a the PC is displayed as a four-digit hexadecimal address since executes TEST the the is it failing section test out number. number sent to execution. SUBTEST is the first items line (Paragraph The are of WCS. the Note that console failing important in this is terminal subtest different during number. referencing the from error-free These program three listings 4.9.2). DATA line item represents test. The number of data test. Generally, in the words data used displayed hardcore during the particular on the particular words are displayed; depends tests two the first word is the expected (or good) data, the second word is the received (or bad) data. However, as described in Paragraphs 4.8.2 and 4.8.3, the program listings contain a header describing the data patterns used. The in TRACE line determining The last line represents cases, the order will involved 4.9 This MODULES. module and output will not be be its module numbers, ID on the The several probability. a bit. bus. program module For content examples are capabilities. 4.9.1 No test its included Error Consider the microdiagnostic or another message is and mainly Message to procedure failure. of this number. numbers listed in cases the consider the in other example, print to the illustrate in out ID BUS. the use program basic of 1In error listings. The microdiagnostic Situation situation where the operator execution using the TEST command. has For initiated one reason execution stops in the hardcore tests, and an not printed. As shown in Figure 4-10, execution section item slot The failure could appear to Rather than printing out all would relationship the output However, number. Bus the isolation for backplane LISTING/ERROR MESSAGE CORRELATION subsection provides basic direction message on fault FAILING failure module the responsible is situation of a grounded extend across all boards related in failing the of is set of modules item the some output item the error stops #4. The operator has a reasonable index 1into the hardcore test listings since section @4 is one of the initial sections executed. Referencing the section number in the hardcore listing Table of Contents, the starts listing on operator line finds number that 777. 4-32 the section @4 description CONSOLE TERMINAL OUTPUT s TEST MICRO DOIAGNOSTIC V.05 01,025,003, . OF WCS MODULES = 0001 LISTING TABLE OF CONTENTS MICRO DIAGNOSTIC HARDCORE TEST TABLE NUMBER INDEX MACRO Mio 20=APReT7T 10137 CONTENTS le S CMPCA le e le s § § SWITCH REGISTER CONSOLE ADAPTER 1D BUS REGISTER le 2 & 42 e 206 le TEST OF S 3e 141 AND MODULE CMPCAM AND BUS MODE DEFINITIONS BIT DEFINITIONS REGISTER DEFINITIONS DEFINTTIONS NAME ASSIGNMENTS SECTION NUMBER 21 Ty CONSOLE ADAPTER REGISTER RESPONSE ('} CONSOLE "TO 10" REGISTER DATA INTEGRITY 4« 206 T23 CONSOLE "MCRTM REGISTER DATA INTEGRITY 6e T~ 356 439 108 TO6 CONSOLE TXREADY 8e S64 S« 284 SECTION NUMBER 104 @2 CONSOLE SECTION NUMBSER "I1D0CS" REGISTER DATA INTEGRITY RXDNE AND TXROY REG DATA AND RXDONE INTERRUPTS @3 8« 9« {10« 10« S6u4 661 777 777 Ta7 ID BUS DATA LINES DATA TA8 vV BUS SELF TEST SECTION NUMBER Q@4 129 CONSOLE CLOCK CONTROL 11« 9021 TOA CONSOLE 12« 975 TOR CONSL ID FROM CYCLE ID INTEGRITY FUNCTION REG CLY CTRL & DATA SECTION NUMRER 85 Tac CONSOLE MAINTENANCE 14e1162 1S+1282 15«1282 1Se1367 16=1394 TOD SECTION TOE SECTION TOF 16=1529 SECTND 171538 171656 181677 191745 T1o SECTION T11 T2 CI18 INITIALIZE FUNCTION NUMBER 49 CONSOLE REGISTER DUAL ADDRESSING WCS DATA REGISTER READ 20=1771 T13 21+1817 SECTION INITIALIZE NUMBER 04 NUMBER 08 THE CONTROL T14 WCS 23«1976 24«2061 2Ue2361 2Se2158 Tie SECTION 117 MICRO STACK NUMBER 08 MICRO STACK T18 MAINTENANCE RETURN DATA 262327 SECTION 26=2327 272372 28«2424 T19 TiA T1R 30262} SECTION 292530 30e2621 J1e2748 ADDRESS REGISTER DATA NUMBER INTEGRITY NDUAL ADDRESSING INTEGRITY OC MAINTENANCE RETURN MICRO STACK MICRD STACK WRITE DISABLE WCS PARITY GENERATOR €S BUS DATA T1D PCS PARITY NUMRER NUMBER wCS 9D DUAL CHECKERS ADDRESSING SECTION TIF 3S=3168 36=3229 T22 SECTION USUB FIELD "RETURN" 363229 37«3365 123 T24 USUB FIELD UJMP FIELD @F WCS DYNAMIC MEMORY UBEN FIELD NUMBER @F USUB FIELD NUMBER INCREMENY INTEGRITY 312807 T20 SECTION T21 INTEGRITY DATA 32-2845 33.29%9 343060 34=3060 STORE WCS ADDRESS REGISTER COUNT LOGIC TiC T1E INTEG RETURN RXCS REGISTER FROM THE ID BUS SIDE NUMRER @é TXCS REGISTER ON THE 1D B&US NUMBER 07 ID BUS REGISTER ADDRESS INTEGRITY 21=1817 118§ PROGRAM LISTING INDEX 13«1070 131079 22«1906 INTEGRITY DECODE "CALL TEST FUNCTION® 1@ "SELECT SPECIFIER" DATA INTEGRITY TK-0770 Figure 4-10 Listing 4-33 Indexing Example [4 4.9.2 During Hardcore Loop and Single Step Setup microdiagnostic execution the error message shown in Figure 4-11 is displayed on the console terminal. Since the error PC is a six-digit number (@000670), it is an octal address and indicates a hardcore test. Referencing TEST: 1C in the hardcore Table of Contents indicates that the test begins on line 253@. Referencing the error PC of @00670 in the program code shows the PC to be at an IFERROR The statement function produce an of error on the line 2554. IFERROR report if a statement failure Usually the IFERROR statement function (in this case TSTVB). Bus signals. expected In data; this example, consequently, Since the hardcore may be too slow to is (Paragraph 4.4.2) is encountered in test. the to is preceded by a check or compare Basically this test is comparing V the an received error was data did not match the detected. tests be of execute out of the LSI-11, a scope loop practical use. An alternative is to use the set step instruction and loop commands of the microdiagnostic monitor. As indicated in Figure 4-11, the operator sets the single instruction and loop flags. the statement following the In this case the loop range is between previous ERLOOP statement (line 2551) and the IFERROR statement (line 2554). each time the operator types SPACE, the At TPC = (00662 the operator reaches time the operator could scope the CS to detect the failing microword has just been Bus.) The operator except SPACE. returned 4.9.3 During to In the exit the from the example, step mode Control C microdiagnostic sent to the section 3A. the error console PC sync point SYNC4C, at which Bus data bits in an attempt bit. (At this point fetched from WCS and monitor Microtest Scope Loop Setup microdiagnostic execution the 4-12 is on test Since can As shown in Figure 4-11, current PC is displayed. is a by has Note four-digit typing been command error terminal. in the test the is driving the CS typed that and shown control in execution (101E), hexadecimal address and indicates a microtest. section number of 3A, and referencing the Table that section, test (of the microtest character mode. message number any Figure stopped it 1is a Using the test of Contents for A5 starts on line 1832. A look at the PC column listing) shows that the error PC is on 1line 1906. By scanning back through the microcode, select a sync point, in this case SYNCIA on 1line 1901. Control is returned to the microdiagnostic monitor via Control C. The operator enters a CLEAR SOMM: <1153> command. This micromatch bit, and produce a command will clear the stop on sync pulse when the UPC equals the content of the microbreak register (i.e., 1153). The operator then enters a loop command. This sequence causes the test to begin looping and produce a sync pulse each 4-34 time the UPC 1153. CONSOLE TERMINAL OUTPUT s S LISTING TABLE OF CONTENTS TEST "isgg.gé?smsnc Y . MICRD DIAGNOSTIC TABLE OF 5§ le le fe te fe 2= 3o ) ] 1011 000A . 0002 FAILING MODULES: C.S. BUS MIC>LOOP ) N (SPACE BAR) —————r (SPACE B3AR) X e— ANY CHAR. TO RESUME FULL SPEED. $C «— ID 5 & 42 1414 10137 MICRO DIAGNOSTIC TEST NUMBE INDEX CONTR-C OL 70 KETURN TO MONITOR UNDERLINED RESPONSE CONSOLE "T0 10" REGISTER DATA 106 TXREADY 7= 439 Sb4 8« S6u Ta? 1D % 661 28 vV BUS SECTION NUMBER RXDONE LINES DATA 104 SECTION NUMBER ToR Tac INTEGRITY CONSOLE IO CYCLE FUNCYION 15=1282 TAD RXCS REGISTER FROM THE ID BUS SIDE SECTION NUMBER 06 151282 TQE TXCS 1Se1367 SECTION 16=1529 SECTNO 17-153s TOF Tie NUMBER ID CIB NUMPER 27 T14 CONSOLE INITIALIZE 211817 211817 22-1906 231976 2Ue2061 2ue2061 SECTION Ti4 T1S T16 SECTION T1Y NUMBER DA ‘ WCS ADDRESS REGISTER DATA INTEGRITY WCS ADDRESS REGISTER COUNT LOGIC MICRO STACK DATA INTEGRITY NUMBER 0B MICRO STACK DUAL ADDRESSING DUAL T18 SECTION NUMBER 26=2327 T19 27=2372 TiA MAINTENANCE RETURN MICRO $TACK MICRO RETURN STACK 118 WCS TiC €S BUS DATA PARITY SECTION NUMBER @D WRITE T4D PCS PARITY TAE wCS SECTION DUAL NUMRER TiF T2@ WCS DYNAMIC MEMORY UBEN FIELD DECODE 34=3060 Si=3960 3S+3168 36-3229 36=3229 317«336S T21 USUB A2ASSA 2534 M@a5S4 25315 2536 890556 INTEGRITY 7 F TESY V o OF THE CS BUS BY FLOATING EXECUTING TRE MICRO=~ BUS FOR PARITY ERRORS, T BP — CHECKS THE ID BUS INTERFACE TO OF THE WCS MEMORY CHIPS THE WCS MODULES, AND THE DATA THE INTEGRITY OF . ERROR DESCRIPTION DATAs EXPECTED V BUS CHANNEL, BIT AND VALUE ' RECEIVED v BUS CHANNEL, ' BIT AND VALUE LOOP COUNT = INDICATES WHICH BIT IN THE 32 BIT GROUP IS UNDER ' ' TEST, 1.E, 1®BIT @, TEST, I1.E, 1% 2=8IT 1, 3=BIT 2, ETC, LOOP COUNT = INDICATES WHITH 32 STYT GROUP 1§ UNDER NOTE: BITS<3110>, HAS BAD PARITY 101X3BITS<63132>, SYNC POINT 2aBITS<63:32>, SSBITS<9S164> T THE EXPECTED AND RECEIVED V BUS CHANNEL INDICATES WHICH 32 BIT GROUP AND IN IT, 1,E, {O2Y#B1YS<3{i30>, 100XEBITS<9S1604>, ToTm T DESCRIPTION T T SUBTST 1| « SYNCUC==TEST PATTERN IS ACTIVE ON THE C8 BUS SUBTST 2 = Yoo Rl TIC! R SYNCUD=<=TEST e L PATTERN IS ACTIVE ON THE CS AUS _ T ’ e e T L T Y T T o T I - g INITTALIZE SUBTEST pe 2538 3 FIRSY I 2ERO THRII THE CS BUS ) J,1,3 R 3 LOOP COUNT FOR THE 3 BANKS 004579 2543 aoesS7te LoO® 2544 00606 Ko1,3 LNIDREG USCOAT,TMPIA2 ) I,1,32 1 LOOP CODUNT 'POR YHE BITS IN A BANK —~ LDIDREG USCADR,TMP1a@ 820614 ENDLOOP LooP G0D63Q 2549 0@e63s 2550 AoR64d 2581 0008646 3 ? K P SELECT LOCATION ZERO INITI THE ALIZE CONTENTS .. 3 LOAD FETCH 3 EXECUTE THE MICRD WORD ERROR 10089 OFLOCAT8 ION oees LDIDREG USCADR,TMP108,J FLTZRO TtMPiORf,1 " FR| 0OP 1 LOIDREG USCDAT,TMP1O} 2552 200654 THE BANK ADDRESS 1 GENERAYE YRE TE&Y PAYYERN ? LOAD 'INTO THE BE(ELTED BANK SYNC POINT LooP RANGE A 2542 2548 UJMP FIELD DATA INTEGRITY FLOAT T Loop 2547 2800620 FUNCTION" /////////////7//////7/)////////////// T1CSt1t 2519 2545 %46 T22 USUB FIELD "RETURN® SECTION NUMBER 10 T23 USUB FIELD "SELECT SPECIFIER" T4 T THE CONTROL STORE (CS) AUS, 2541 B0AASLO CHECKERS "CALL 280556 2540 ADDRESSING FIELD NA AN AR AR R AN SR N AR ://///////////////////////////////////// INCAEMENY BE SECTION NUMRER oFf INTEGRITY ' OISABLE 31=2748 DATA $ GENERATOR INTEGRITY TEST ' 1 OC 302621 32-2845 332959 DATA R RN NN N RO o DATA INTEGRITY THE IR DESCRIPTION ' - 2S+2158 MAINTENANCE LOGIC STORE 262327 _ RN INTEGRITY . 3 ADDRESSING CONTROL AR : : SUBTST1 = FLOAT A ZERO THRU THE CS 8uUs ? T13 THE DATA R AND A 2ERO THRU A MICRO WORD, ' A9 REGISTER PABE 29 SUBTST 2 « FLOAT & ONE THRU THE ¢S BUS ' 98 WCS DATA REGISTER READ BUS R AR AND CHECKING THE ' 181677 3te2807 > NUMBER BuUS 20-1771 3020621 LINE INITIALIZE FUNCTION SECTION T12 STARTING 1D BUS REGISTER ADDRESS INTEGRITY NUMBER CS AN R THIS ' TEST CONSOLE MAINTENANCE RETURN THE AR ' 3 @5 ON W37 CS BUS DATA INTEGRITY R R A ONE ’ ’ CONSL FROM ID REG CLX CTRL & DATA INTEG REGISTER 2C«APRe77 ' SECTION NUMRBER 24 Te9 CONSOLE CLOCK CONTROL 13«1a70 M1O PAGE # e WORD, ’ INTERRUPTS MACRO DESCRIPTION THIS TEST CHECKS ' ? DATA TEST 3 SELF TEST 11 991 {C ? B3 BUS ITEST ) "MCR"TM AND A AR ’ INTEGRITY DATA CONSOLE "IDCS" REGISTER REGISTER DATA INTEGRITY INTEGRITY 8« 28e2424 # T2 SECTION NUMBER 22 TEST INTEGRITY P R 144 ) ? CONSOLE {29253 PAGE AND BRUS NAME ASSIGNMENTS SECTION NUMBER 01 Yo CONSOLE ADAPTER REGISTER CONSOLE RXDNE AND TXROY REG DATA INTEGHITY 191745 INPUT DEFINITIONS To4 Mic> OPERATOR REGISTER T3 171656 o BUS MODULE 108 161394 R HARDCORE DATA 4\ be 356 t4e1162 CS-BUS +SBTTL TiC BIT DEFINITIONS REGISTER DEFINITIONS Se 284 13-1270 —_— - § 12« 975 MIC>SET STEP INST ) TPC = 000662 SWITCH REGISTER CONSOLE ADAPTER 12« 777 18« 777 TRACE: 000700, 000720 TPC = 000654 HARDCORE PROGRAM LISTING 20=APRe77 206 4e 1010 = 000646 M{P CMPCA AND CMPCAM MDDE DEFINITIONS S S 4e 206 ERFK)R:000676]| TEST.1C41 SUBTEST: 1 TPC MACRQ CONTENTS e NO. OF WCS MODULES = 0001 04505506+07,08.0950A:0K,0C DATA: TEST T1C .05 ' HARDCORE MICRO TiC DIAGNOSTIC HARDCORE €S BUS DATA TEST) MACRO INTEGRITY : MiQ 20=APR=T7 18837 PAGE o 29=t o ERROR 2553 PC INDEX =] T 000662 SYNCUCE YSTVE ' TMP1Q3 ) 2554 dgosTQ FERROR 255% pnasTe 2556 203702 2557 panTRe 25%8 g:sc POMT12 Y] 2561 000722 pART22 ENDLNOP CSERR; 30 ) CHECK THAT THERE WAS NO ' PARITY ERROR ? CONTINUE WITH THE NEXT BIT ENDLONP J sKIp SUBTST ? CONTINUE WITH THE NEXT BANK L REPORT $ CS BUS <CSBUS> BIT(S) STUCK SUBTEST l/I/I///////////I///////I/////////////////// //////I//I/////II//I/I/////I//// TI1CS28 Figure 4-11 Loop and Example 4-35 Single MICROTEST PROGRAM LISTING S E CONTENT BL OF TA CONSOLE TERMINAL OUTPUT ; DWM@GA.MCR[400,3262) 2E>TEST ; MICKRO DIAGNOSTIC 01,02,03, NO. V.09 1832 OF WCS MOLDIULES = 0001 DWMB@A,MIC(400,3262] 12113 21°APR=1977 1832 SECTION 3A TEST A 1 1832] PAGE ] : IEHROR:101EJ | TEST: A5 J . DATA: 3 s :; ;E;fiBER -— (IF SYNC WANTED AT THAT ADDRESS) >>> -C TO STOP LOOP 44— CONTROL 1 ; 1881 1 1852 3 4 1858 3 ERROR DESCRIPTION s :ggz ' 18%¢ 1856 s 1859 1 INPUT 1860 s 1861 3 1862 UNDERLINED s 1863 U 1214, e012.,2039,02083,09F8,02000,10F1 10815, #218,0038,6580,0700,0000,10218 U 1219, #018,2038,7580,0A80,0000,1140 U 1141, P818,0038,4180,0000,0000,1142 U 1143, U 1142, 0102,203C+0182,0900,0000,1143 THIS TEST CHECKS THE LOGIC NETWORK ON THE CEH MODULE THAT GENERATE THE ALU N BIT, AND THE MULTIPLEXOR ON THE ICL MODULE THAT FEEDS THE ALU N BIT IN THE CES REGISTER, 2001,803C,0180,0A99,0000,1144 U : 1144, 9#218,0030,D5080,09E0,0000,101A 101A, 7009,203D,2180,0800,0000,1124 1018, 0000,003C,0180,0A00,0200,1145% U U U 1146, 1147, 1148, U U U U 3 SUBTST | = SYNCiAe«ALU N BIT GETS LOADED SUBTST 2 = SYNC{B=eALU N BIT GETS LOADED 1 1 1867 1868 = ICLTB: NEWTST(,3) =g CALL,J/UNJUAM 1869 ;1 181 1 1873 1 s 8 1878 1876 jgee SUBTST 3 « SYNCiCeepALU N BIT GETS LOADED RI21K(,10) ! ADDRESS OF AMX DATA RU1)K[,20) 3 3 1872 R{2)K(,30) ? 1874 D.D,LEFTZ 3 CLEAR ANY SBI INTERRUPTS 3 GENERATE MASK FOR N BIT R(3)LD 1 1 1878 1+ s 1 s 1 1880 188} 1882 188) e 1984 3 DO THOSE FUNCTIONS REQUIRING THE ALU TO DO AN A PLUS B 7T8si: =9 RC(8C).K[,6) SUBTEST 3 DIBYTE)L.CACHE,P 3 FETCH AMX DATA ICLTBL11VALRIR) RC(S)aD VALR(2) U 114C, ;1 1892 DD« SXT[WORD) U 101C, #¢p0,003D,0180,0800,0002,1@FD § 1894 U {14E, 08031,0020,2180,0800,0000,114 U 114F, 081C,2034,0180,0A10,0000,1150 1 ;1 189¢ 1897 s 1899 t 1901 SYNCiAs ALU,LA+LC,CLK UBCC,BYTE] 1 1904 ALULQeD,CLK,UBCC ;1 1893 3 189" U 1150, #810,0038,31803,3D75,0000,115} 1 16898 U 1152, 0000,003C,01980,2928,0000,1151 1 1151, 20002,003C,0180,0A28,0000,1152 fu 1153, @010,8014,01802,0800,0010,1154 U 1154, 0000,003C,31Fa,2C00,0000,119%6 U 1156, 201C,0034,01C0,PA18,0000,11%7 U 11%7, 001D,2000,2180,0800,0010,1158 U =10 1158, #000,013C,0100,0800,0000,101F 1900 1 1902 1 1903 ;1 1908 101E, 0001,203D,0182,29E8,0000,1109 ; 1906 U 1159, 0018,0014,2580,0A80,02000,115A 1 1908 U U R{S)LD VALR(1) DIBYTE).CACHE,P 3 1891 U {e1r, 0009,003C,0100,0A00,0000,1159 115A, 7000,003C,0180,2A08,0000,1188 U 1158, an18,0014,0560,0A08,0000,115C SAVE ABYY R/IIIIIIIIEPIIII L2 E0000 2000000000200 7000000000770200000000172777004100777 1889 1890 101D, 9810,0038,7150,0970,0000,114LF ADDRESS OF BMX DATA ) ADDRESS OF EXPECTED ALU N BIT DuK[+80) 1 1 0802,403C,0100,0800,0000,114D IS BEING USED, . 3 SYNC POINT DESCRIPTION 1149, 9001,203C,0180,29A0,0000,114A 114A, ¢000,203C,0100,0K10,0200,1148 —pdU T INDICATES WHICH DATA PATTERN (SEE THE DATA AT THE END OF THE TEST) 1886 1887 1888 U 114D, ©0001,003C,n180,09F0,0000,101C RANGE LOOP COUNT « 1 s 1 U 114B, 0020,493C,0100,C000,0000,114C LOOP RECEIV%D CES REGISTER lUIQOQQ!Ql...llil!i.l..bl.l'.l.li.'l.b.l.i!'!!l'blll&!li!il!lil.!l!i.&#. 3 1885 ¢001,803C,0100,0AN8,0000,1147 0000,003C,0180,0A00,0200,1148 07000,803C,0100,C800,0000,1149 DATAI EXPECTED CES REGISTER ' 1966 1865 $ U 114%, 04000,803C,0180,0800,0000,1146 H H ¢t 1879 INDEX BE EXECUTING ANYTHIN BUT AN A+ OR A=B, 3 LOGIC DESCRIPTION 3 31 1870 U 1142, 2019,8638,7980,0A90,0000.,1141 PC SUBTST 3 = CHECK THE DATA PATTERNS THAT REQUIRE THE ALU 710 1864 s U 1218, v#ene,2030,0190,0800,0000,113% ERROR BE EXECUTING AN A+B TO0 GET THE CORRECT ALU DATA, SUBTST 2 =« CHECK THE DATA PATTERNS THAT REQUIRE THE ALU TO ~ BE EXECUTING AN A«B TO GET THE CORRECT ALU DATA, y 3 U o CHECK THE DATA PATTERNS THAT REQUIRE THE ALU TO }3 1848 1649 31 OPERATOR | 3 1847 3 CONSOLE PROMPT SUBTST 3 ; :::: : START SCOPE LOOP . H18 1843 1 MIC>RET)<——— RETURN TO CONSOLE a— BY SELECTING THE ALU TO DO A+B AND AeB, AND F=B, WITH SPECIFIC 21;1 ::;rtaus ON THE AMX AND BMX T0 CHECK THE LOGIC THAT GENERATES ' st 1844 $ 1645 1 1846 TEST STARTING 00000003 tc ? 1 00000000 MIC>LOOP) CES REGISTER ALU N BIT® CES REGISTER ALU N BIT 3 TEST AS 3 :::? 3 INDEX 00000200 *— 7 ).Qil.6..........0.0.!.l".l'IG.l"l".."..llll0...!.QO!Q...'IQ!'Q!!.QIQ! s s 1839 ) 1842 MIC>CLR SOMM: 1153 "TEST AS Page ! ::;g ! TEST DESCRIPTION THIS TEST CHECKS THE ALU N BIT IN THE CES REGISTER, THIS 1§ DONE s 1838 LEiIBER u SUBTEST: 1 33 s 1838 18'1911011371[)11[‘71Ev1Fr2012112217 !24!25726v27128!2‘712ArQByQC!ZDIQEr ) FAILING SECTION 1 1 1834 04!057'067071081091091081()(:!0['10Ev0F710111712!13114115716!177 DFy30,31932+33934935936537 387399@ MICRO 31(241) Microcode file TEST AS CES REGISTER ALU N BIT 14135 20=APRe1977 1 1907 y 1909 3 1910 wmp SAVE 3 FETCH BMX J SAVE . DATA ) FETCH EXPECTED N BIT DATA RC{OL)..D ) SAVE DaeRC [PE] D.NOT,D DWDAND ,R([3) . ] IDICES]I.D,D.RC(GE] s=p ) DI{WORD).CACHE P ERLOOP _ SET THE LOP COUNT . 3 GENERATE INITIAL VALUE OF N BIT } MASK 3 INIT THE CES REGISTER LABLR([S5] LCLRC(S 3 LATCH AMX AND BMX DATA Q.. ID [CES] 0.0, AND R3] 1 MASK 1? ERROR2,RC(ADILG LABLR[®) y EXECUTE THE TEST 1 CHECK | y ALU N BIT FAILED IN CES REG RlO1LLAGKL, 1] 3 INCREMENT ADR OF AMX DATA RI11LASKI 1) 3 INCREMENT ADR OF BMX DATA LABLRI[1) TK-0775 Figure 4-12 Microtest 4-36 Scope Loop Example As shown followed loop and 4.9.4 During 4-13 in Figure 4-12, the operator has Microtest Single Bus Step Setup microdiagnostic execution the error is example, entered by a RETURN (RET) command. This sequence returns control to the console program. printed on execution the terminal. on section stopped As in Paragraph 4.9.3, indicating a microtest. A message console test the look error at the that the error PC is on line 1948. use the single bus step capability. At As a Control breaks shown in the in the C test Figure previous 3A. PC 1is a four-digit number section 3A listing indicates this point it is decided to A scan backward through the microcode indicates a possible 1loop between SYNC1B (line 1943) and ERLOOP (line 1936). A point in the loop is chosen to stop the microtest, in this case UPC 116C (line 1949). The operator enters SET SOMM: 116C, which sets the stop on micromatch bit and loads 116C into the microbreak register. A loop command is then entered which When the loop reaches UPC 116C, UPC on the console terminal. At this point, the initiates the operator enters time and operator UPC 1is bus command). Each cycle 1is executed the the execution microtest the bus halts cycle in the loop the operator As the operator has exited in typing any previously Fiqure 4-13, the 1loop. prints the mode (set step types SPACE, displayed on terminal. At any point current conditions. shown of and a single bus the console may from scope step mode the by character other than SPACE. The program control flags set are cleared. The HI flag is set to restore the normal default case. stop on micromatch A CLEAR SOMM bit and the CONTINUE 1is performed sequential test (i.e., is then performed to clear the microbreak register, then a to begin normal test execution at the next A6). If the operator feels that the problem has been cleared, it is probably over rather than to begin at the 4-37 more practical next test. to start the tests MICROTEST PROGRAM LISTING TEST HEADER AREA CONSOLE TERMINAL OUTPUT TABLE OF CONTENTS =arTEST — 1832 SECTION 3A U 1149, TEST A5 U 1144, U MICRO DIAGNOSTIC V.05 01,02,03, NO. OF WCS MODULES = 0001 04705706707vOBvO?rOfirOByOCrOUrOErOF!10!11912!13!14115!161177 18519y 1Ar 1By 1Cs 10y 1Ey1F 1209219 22923924925926927+28929r 209 2K 2F930r31932+33+34935+36937,38,39,34, 2C» 201y 2E » U t14C, U U U 114D, 101C, 1210, {ERroR: 1026 [ | TesTias | susrest:2 ) ) TEST . DATA: 0001,203C,0180,09A8,0000,114A ¢000,303C,0100,0A10,0200,1148 0808,403C,0180,0800,0000,114C INDEX : - MICROBREAK MATCH UPC = 116C 0082;403(’-0180'0!0000000'1140 9081,003C,n1088,09F0,0000,101C 7007,003D,0180,0800,0000,10FD €4810,9038,7180,0970,0000,114L ) 1892 ; 1 s 189) 1894 1098 t14E, U 1150, 7910,0038,3180,3D73,0000,11%1 v 11:§. eooo.galc.oisa.aoze.aooo.1:52 3 U 1183, 0010,8014,0100,0800,0010,115% t 1981 U U 1156, 1157, 3 190) U 11508, 001C,0034,031C0,0A1¢,0000,11%7 #91D,2000,0180,0800,0010,1158 1 1904 U U 101F, 1017, 0001,203D,0180,09E8,0000,1189 02000,003C,n180,0M00,0000,1159 3 1 1151, 08a1,00208,03190,0800,0000,114F 061C,2034,2180,0A10,0000,115%0 0002,203C,0180,0028,0000,1152 1159, 018,0014,05080,0060,0000,11%hA 1154, 1158, MGB0,003C,0180,0000,00020,11%8 0a18,0014,0580,0A88,0000,115C DaNOT,D 3 1908 1 ; 1 MASK ALU,Q=D,CLK,UBCC } CHECK ERROR2,RC(AD]..0 LAB_R(2) ? ALU N BIT FAILED IN CES REG ) THE INCREMENT ADR OF AMX DATA INCREMENT ADR OF BMX DATA y INCREMENT ADR X LooP U 115¢C, 9000,003C,0180,0A10,0000,115D 1 U 1150, 0018,0014,0900,3490,0000,115E § 1912 RI2)LASKE, 2] LABLRI2) v 1155. 2010,8030,0180,0960,0700,135F ; 1913 D.!C[?C] U 118F, 0019,8000,0580,09E0,0010,1160 1 1914 RC [oC).DeK[,1],CLK,UBCC,BY ) CHECK U 1020, 2000,003C,0180.0000,0000,101B 3§ 1916 J/ICLTBLY 3 CONTINUE 1 1915 INPUT ' 1:19 1 1920 J 1;;: 1 1921 ANY KEY LEAVES STEP MODE U 1021, 7010,0038,0900,09E9,0000,1022 U 1022, 7900,003D,0180,0000,0000,1124 TEST 3 UNDERLINED Kt oL — z? =p THE OF EXPECTED DATA €0 P COUNT VL1717 7007000770200007200007008070020707700700000070770007027747272000070007047 ¢ 3 NOW CHECK THOSE PATTERNS REQUIRING THE ALU TO DO AN A MINUS B " 11 1 1924 ; 1925 U 1023, 000¢,003C,0180,0000,0200,1161 RESTORE NORMAL FLAGS 0wQ,AND,R[3] LAB_RI[1) RI31LAGK(,. 1) (SPACE BAR) MIC>SET FLAG HALTI LATCH AMX Auotsnx DATA EXECUTE 1909 1910 UPC = 116F :::’ 3 ) QuID(CES] 3 191} N BIT INIT THE CES REGISTER ALULLA+LC,CLK,UBCC,BYTE z? =9 GENERATE INITIAL VALUE OF MASK RIG)LLAGKL, 1] (SPACE BAR) —_— 7 LCSRC(S] SYNC1A3 1908 1906 1907 3 LAB_RI[S) 1900 1 1902 t R([3]} ID[CES).D,D_RCIAE) §19899 : :::; 1C_<— CONTROL-C TO GET COMMAND MODE MIC>CLR FLAG ALL ) THESE 2 STEPS SAVE DD AND UPC = 116E @—— s®mp 1898 OPERATOR X FETCH EXPECTED N BIT DATA } DD« SXTIWORD]} 1896 (SPACE BAR) X ) RC[OL).D ERLOOP DSRC [AE] 1897 VPC=1160 UPC = 1170 SAVE 1 ; 9000,013C,018¢,0800,0000,181E } D(WORD).CACHE, P 3 1 U 1160, 7000,013C,0180,0004,0000,1020 MIC>SET STEP BUS VALR(2) 1891 114F, U U MIC>SET SOMM: 116C RC[S).D 1090 U U MIC>LOOP 1609 1 ) U 1154, 0099,003C,31F0,2C00,0000,1156 NUMBER t U U ; 1148, $ 1926 U 1161, #0002,803C,0100,C000,0000,1162 ; 1927 TES2: =@ RC[EClLK[,2] SUBTEST 1 SET THE LOOP COUNT DIBYTE}LCACHE P ) FETCH AMX DATA ICLTS8L21VALR(e) - wc>co~r) U FULL SPEED, NEXT TEST — 1163, 00002,203C,0182,0A08,0200,1164 1 1929 VALR({1) U 1165, @001,003C,0180,09A8,02000,1166 ; 1931 RC{3).D U 1167, U 1168, ; 1933 3 1934 U 1164, 0000,803C,0180,C000,0000,116% U 1166, U 1169, ‘U —o{U_ . RANGE U MICROMATCH —»{U U U ERROR PC INDEX 0000,003C,0180,0010,0200,116? 06802,403C,0100,0000,0000,1169 0001,003C,0100,09F0,0000,1024 DIBYTE]JLCACHE,P 1932 DaD,SXTIWORD) . BCLPEL.D 0000,003D,0102,0800,0009,1aFD 1 1164, 0801,0020,0180,0000,0000,1168 1 §938 116C, 0010,0038,3180,3070,0000,1160 4 1 ID (CES) 1 1941 LABR{S 116D, 116F, 0000,003C,0100,0A20,0000,116CL 0000,003C,01080,0928,0000,116F U U 1171, 1172, 001C,7034,01C¢,0418,0000,1172 9010,2000,0100,0800,0010,1173 3173, 0000,013C,0180,0800,00 1026, 0001,203D,0180,09E8,0000,1109 #010,8000,0100,0000,0010,1178 0000,203C,31F0,2000,0200,1171 3 1936 ; 1943 1944 ; 1 226 =g ERLQOP DaRC [OF] ' D.NOT,D 194; 1 ) VALR([2) 1024, 1937 } FETCH BMX DATA DIWORD)LCACHE,P 1 193% 1075, 0010,0038,0186,0970,0000,116A __ 1167, 10, U t 0602,403C,0180,C000,0000,1168 U U »>{U 1 193¢ D DRCTQE) ] ALU_LA=LC,CLK.UBCC,BYTE] §948 FETCH EXPECTED N BIT SAVE y GENERATE INITIAL 9 INIT CES THE Q.0,AND,R([3] ALU.Q=D,CLK,UBCC =0 ERROR2,RC [0D] .0 DATA ] VALUE ? LATCH AMX AND BMX DATA EXECUTE 1 1 MASK CHECK 3 ALU N OF N BIT REGISTER ) 0LIDICES]) 1945 1946 9 3 y 1 | LCLRC(S SYNCiBs SAVE THE TEST BIT FAILED IN CES REG TK-0776 Figure 4-13 Bus 4-38 Microtest Example Single MACRODIAGNOSTIC 5.1 DEFINITION OF PROGRAM CHAPTER 5 DESCRIPTIONS TERMS Module -- The diagnostic programs are written in a modular format. Each module (file) is a part of the program assembled separately. Modular programming allows the development of large programs in which separate parts share data and routines. Assembler VAX-11 -Macro accept one language Linker The MARS assembler (which runs on assembler (which runs on a VAX-11l) or and -- more produce The source modules relocatable VAX/VMS linker a PDP-11) and the are programs that written in object modules and the cross linker one or more native code object modules produced Linking consists of three basic operations. 1. 2. Allocation of virtual Resolution of memory MACRO and assembly symbol accept by the tables. as input assembler. addresses intermodule symbolic references (global symbol s) 3. Initialization of Program Defined Symbols are either internal or the contents of a -- Program defined external (global) memory image. symbols (and to a source labels) program module. An internal symbol definition (and reference) is limited to the module in which it appears. Internal symbols used by the diagnostics assembler. A global are temporary symbol can be definitions defined in one that are source resolved program by the module and referenced by another. Global symbols are preserved in the module and are not resolved until the object modules are into an executable program by the linker. Program Sections sections (.PSECT) program developer. defined program the assembler. Through —-- The within In program assembler creates a number of program a module, according to directives by the addition, section object 1linked is sectioning virtual memory allocation established by the program any placed the code that precedes the BLANK program in program developer the first section controls by the of a program. Any program attributes section directive are passed on to the linker. Thus program sections can be declared as read-only, non—-executable, etc. Refer to the VAX-11] MACRO Language Reference Manual for an explanation of the various program section attribute functions. In the diagnostic section. programs, each 5-1 test is given a separate program 5.2 OVERVIEW OF The macrodiagnostic written in VAX-1l1l supervisor) which are native assembled Each program sections format MACRODIAGNOSTIC programs and code. and a and routines set of supervisor. contains that are the of and one conventions Note PROGRAM diagnostic the supervisor programs These modules are separately module the Each consists of modules. program. the THE 1linked more program organized that separate then or them to described the to a This MACRODIAGNOSTIC section PROGRAM describes the LISTING program 1linker this The common interact in are those assembled by the MARS assembler and linked by linker in compatibility mode. The format will change native assembler and linker are used. 5.3 the files, sections. according enable listings by are (and with chapter the cross when the DESCRIPTION 1listings in general terms. Illustrations and examples are taken from the MBA RH788 program. The formats of the other listings are similar. diagnostic Each a program created the by listing the program begins linker constitute with user information program. The separate the of the rest and modules listing. The called the header, defines symbols and labels routines that are called by other modules. The follow contain the test routines. User Information -- The beginning of the listing, link map that make first up module, and provides modules which user information, which comes includes the following items. at the Program identification Copyright statement Program abstract Hardware and software requirements Prerequisites to running the program Load and start instructions Program description History of program maintenance Link Map -- The link map shows the virtual the total program image in the program synopsis. Figure 5-1 shows this synopsis memory allocation of section allocation for the MBA diagnostic listing. The program according to attributes program section the and section. allocation order the The synopsis in which base, end, base lists the program sections they appear in memory. A list and are for address 1is 1length the virtual given address of each of the first location in each program section assigned at link time. This number must be added to the relative addresses given in the module listings to determine the wvirtual addresses of specific instructions the base of because the the program assembly section. 5-2 addresses are all relative to VIRTUAL MEMORY THIS AT - VIRTUAL MEMORY STACK SIZE VIRTUAL 12843 BY BLOCK LIMITS USED _—e N e e 11 ON LINKER HOLES HOLES OF OF BYTES RYTES BYTES BYTES HOLES OF OF OF NF 182 HOLES HOLES SECTION CSTSTCNT>? 2 >3 CARGLIST>1 <SBUFFERS> SCLEANUP>: <DISPATCH>S CDISPATCH_ X>3 <HEADER,CODE>: CINITIALIZE>: CSUMMARY>s <TEST ARNARSFF ApARRUAR 173 T7R | fea132 Qra132 BYTES BYTES BYTES ALLOCATION Wy ly apgya SYNOPSIS!? RASE END LENGTH , WRT ,NOWRT pooepgra 20201208 AERRONDQ pe000000 ,NOWRT Q204284 prgn028 22000287 nA020082 eoe00004 PARR0000 20001831 PAAAO3IA8 ATTRIRUTES <$ABSS> <SSHEADER>: ABS Np200 427s2 NAME <, X4,6 268 NUMBER OF P=SFECTS DEFINED? NUMBER OF GLORAL SYMBOLS: PROGRAM VERSION apvTo 8 12 16 2» 24 32 FXERLTM 212%¢& BYTES OF OF "ESCAA 20«SEP=T78 Se3 (BYTES)?: 4 HOLES HOLES HOLES (OCTAL)t (BYTES): LARGEST FREE HOLE SIZE? NUMBER OF HOLES FREES 47 IMAGE 1 DYNAMIC MEMORY AVAILABLE MEMORY CROSS OF DONE R PAGES): IDENTIFICATIONS DYNAMIC WAS LIMITS: (PDEC, DISK ALLOCATION ALLOCATION 021> <TEST_r@2>: <TEST_ ee3>: STEST,CRu>} <TEST _@G05>: <TEST_0rb6>: <TEST_ 007>: <TEST _ 008> <TLST_ 029> STEST_ P10>3 <TEST_ Q2t1>: CTEST_ 012> CTEST 213> <TEST_ 014> €TEST 215> <TEST _Dle>: STEST 017> NORPIC, NOPIC, NOPIC, USR, CO\, ARS, EXE, RD RD LCL,NOSHR,NOE XE, RD LCL,NOSHR,NOEXE, LCL,NOSHR ,NQEXE,NORD NOPIC, USSR, CON, FEL, LCL)NOSHR, NOPIC, USSR, USSR, CON, (CON, REL, NOPIC, JSR, REL, NORPIC, SR, coN, NOPIC, USR, NOPIC, NOPRIC, USR, SR, NOPIC, NOPIC, NOPIC, 'SR, ''SR, U8R, CON, CON, CON, REL, kel , NOPTC, USF, NOPIC, ISR, NOPIC, USSR, SQPIC, USSR, NOPIC, ISR, NOPIC, NOPIC, NOPTC, USSR, USR, -USR, CON, CON, ARS, FEL, O0OVR, ExE, REL, CON, EXYE, LCL,NOSKR, LCL,NOSHR,NOEXF, ExF, LCL,NOSKHR, LCL,MOSHR,NOEYE, LCL,NOSHR,MNOEXE, EXE, LCL,~OSHR, HFEL, COM, LCL,NOSHR, REL, LCL,KOSHR, CON, REL, REL, REL, rONn, EXE, s NOWRY Q0002200 ARARRAZ00 RD , 2Pa00288 BBAA1ABS PRPPA1ELS P0RB25FF APRAA266F PRAA2BUF WRT RD ,NOWRTY 20021 ARC RD , WRT ¢a002002 RD , WRT 0P2226007 ,NOWRT 22202670 RD KD RD RD ,MOWRY ,NOWRT , WRT , WRT ,NOWRT Q20202850 2000Q2A00 0@2@2E3C 20203294 222a3220 RD ~RD pPe2867 PPAR2E3A 200023091 220n0600 rac@oe7e 280001E0 peeoeos18 200003438 A00Ba256 LCL,NOSHR, EXE, EXFE, FXF, RD ,NOWRT 20003400 A0CP3698 2R22829C REL, LCL,NOSHR, EXE, RD ,NOWRY 2ORrQ@380Q 20020188 CON, REL, RD ,NOWRT 20103400 REL, LCL,NNSHR, LCL, NOSHR, EXE, CON, FD RD RD ,MNOwWRT ,NOWRT ,NOWRY QR2PQu2en 222044002 20004600 A0AP3987 2APRU1S2 BRDRU2AT 22203290 P000000A 2eQ2335S eaven1se a@rae7s3 220000A8 CANRAIE APRALTT3 Apeee174 KFL, | €L, MNOSHFR, ExE, EXE, EXF, CON, REL, LCL,MNOSKHR, EXE, RD ,NOWRY 202204802 PRAARSLIFC HSR, conN, HEL, LCL,MOSHR, EXE, RD ,NOWRT PP20520Q CON, RPEL, ,MCWRT 2Q425CaQ ARORBSADY ‘eaoensDs CON, HEL, €OV, LCL, NOSHR, LCL,NOSHR, EYE, RN CON, REL, LCL,NOSHR, WS8R, COMN, REL, EXE, RD ,MNOWRT 2002680272 NCPIC, SR, CON, EXF, RO ,MOWRT 20QpeCee NORIC, NORIC, NOPIC, 118R, JS®e, USR, CON, coN, CON, Felo, LCL, NOSHR, LCL, NOSH®, LCL,HOSHR, LCL,NOSHR, LCL,"0SHR, ExE, RD ,NOWRY 200@70020 EXF, RD ,NOWRT 22407800 NOPIC, USSR, CN0M, NOPTIC, USP, NOPIC, USR, NORPIC, wEL, REL, ReEl, 2EL, POABLSE PB000B9FD v2ARRSENR anpan2ecC A2AALTOD PAeUBT79E AARBOASY PRABRGF2F AEOBT6HLS Pea08330 EXE, RD ,NOWRT R0727C0OR NORATAE B@RBBFFC FXE, RD ,NOwWRY Q20290002 A2AN91SA8 ereeaasa 28080616 t300022F 0OOBI3FD P30071159 TK-1118 Figure 5-1 Program RH780 (MBA) Portion Section Diagnostic 5-3 of the Synopsis, Program The link map also 1lists the global symbols and their assigned Note that symbols used as labels point to routines values. diagnostic supervisor, if their values are over in the 10000. Figure 5-2 shows a portion of the global symbol absolute program section in the header file of the table for the MBA diagnostic program. The link map is a part of the listing created not a part of the actual program in memory. first file in the macrodiagnostic of a Module -- Like all module begins with Header header Statement, and a Revision program by the linker, but It always precedes the listings. the modules in the Contents, Table of program, the Copyright a History. The declarations section in the header module contains global symbol definitions for register bit names, data patterns, masks referenced by the program, and Macro definitions. This section constitutes the beginning of the program code. The own storage section in the header module contains program labeled data, such statements, format and text program and addresses, drive as containing the ASCII texts of error and status messages. The header module also contains code that generates the hardware report and print routines, and software parameter tables, initialization and clean up routines, and interrupt and exception service routines. The assembler prints a symbol table and a program section synopsis for the entire module following the last program section in the module. Test Modules -- The remaining modules in the program contain the tests, which are the main body of the program. Each module begins with a Table Maintenance definitions. of provided by the each test Contents, History. A symbol assembler module. Copyright Statement, and Program macro with begins code program The table and program section synopsis are Notice following that each section. 5-4 the last program section for test begins a new program *ww FILE:s Seq, 0 ESCAA1,0RJy1 NAME €, ABS TITLE® RH7BO, HFADER ALIGNMENT > BYTE IDENTs RASE @ 5,3 20P=SEP=1978 END 11104 LENGTH AAAAARCD ARQAPARRA 2PNRAGND GLORAL SYMBOLS DEFINED:e SENV PRR2RRQY $MO A202D0A1 ASSA AASS RRAGAASS ADAPTER,_ CODE QrARRR2n ALL M0OAASSA ALL,ONES QARAFFFF ASR,OFFSET ATTENTION AAARAYY b Reeiaone ATA BLKSCSBI PeARBO1C ATTN BLKSND,COMD 2402418 {earaapn pecnceel LT RR? BCR BRQ 2anviuaL2 NQPAPA1S 22022210 20000016 BR1 VR0 1 8RY BR7 npeeRRaty eceed3a17 AYTER2 CAR CRTED_READ, DATA DATA_XFER_DONE DISABLE_LOG DPE DRIVE_OFFSET DRV, INITMASK DTE DVA ERR FaoF BRS BYTE® NAFFaRep RYTEZ N200AR1C 20209020 ARARATAR PAPRARAN BYTE,COUNT_MSK @00RFF@Q BOAGFFFF DATA_XFER_ABRT 20001000 LLLLECT aepp229a DATA_XFER_LATE 0Q¢PPARQD pMD DEFAULTY aeReanpy poce P2Qea800 Ae2122 ARAPERGR ARPARABA peAARAN2 ERL DR DRV_ERRMASK NS, M8k DT, BUSY 80002000 eR0A4N0R ERR, CONF ARAGAAL A ENABLE_PS 2200 Pr2N8 P0020820 EXT _REG_OFFSETY FATL NORQFF NARAGAL3 HP® A, CHANNEL Arpaang 4 HPER, DRIVE ArACANR 2 HPSQ_DEVICE eAR23200 IMAPP NPT, NEVICE Qveaa01D QU 0000024 HPSL IIRVEC deRrPR24 IMRCP A0R8 PUA2AQ1E aee2823 ILF aeeeae1c 80020001 HP$A,DEVICE HPSL, VECTOR IMBDP INVRT MA,CPAR 4reen9en INVRT MR, DPAR -A00A0012 BARLRAAPD LOWBITS MSK I0,PAGE BAARAATZF MAINT,MODE BUIFFFFF MAP QPAAC22A MAP,PTR_ MSK 1 PATTRN MAP, OFFSET A2R20809 MASS,CNTRL,PE MAP PE 0rP20000 MASS,CTOD MASS_ECP AAAL AAQ AORALRR HPSR,SLAVE IPLR MAP LILITLL OFFFFBFF 00022004 INT (SEQ, TIMEOUT napanla2 70200002 P02A0R1 4 FERR @Q@anaqu MANUAL eoeceean nNeR DRIVE SEL _MSK NRY DT,ABQORT nARADA21 INTERRUPT ENBLE pa2000a4 fRRRNJ10 geruons8n enran1180 22001000 HP$8, BR HPE$B, TR CR Jgoenoon PgPRAFAAF FORCE_MEMERR 200213 @e000e! 6 @AMAPAFF FFRaaren CPF CSP RR3 BR6 BYTE1 INVRT _MAP, PAR INVALID MASS,DATA_PE 80200218 p2C02a1F 20002000 200003000 ace0200s enaoeale 00 IFERD paeeeo4e . AR0PA08A MASS,EXCP 222400 AARUQADN ABANAM D MBDIB, SEL MBE_CR1 22802000 MBE _ER MASS wCLK MERE, ASR MBE DRR MASS_FATL MBE MBE , CR?2 APA802AR NA0AR0QTS A000p214 22R0QYN8 MBE, DTR 20020218 MBE, SR NARNAARY MBE , MR 2002081 C MASS_,RUN MOL NEXUS OFFSET NIBRBLE? NIRBLES NON_XIST, DRIVE AAAAPAAC MELK 2PA31000 puannnng »SR AAAA20009 AOPRRAFAQ MIRRLED NIRRLES PAFRR20D NIRBLFG MBRE PARAM MISSED, XFER FROPAA1A MULT, TX AUNANAQF ACAAF 3N NIBBLEY NIBBLE4 AF NIBBLE?Y e LI LT aoaendae PN2QRR87 22020100 p8areean 200200FQ e@eFee0p FA2@80000 occC PF_FIELD 0no40v@0 NONP vApraeL9 PrRL0R9 APAGAARA aneeean ARQ0v0R1Ss Are02e0n PAGE_ BYTE_ MSK PGM_INIT @@20R1FF PIP oPY PF WINTH POWER , DOWN AUBrrpAQ POWER_UP L IULLITY NO,RESP_ CONF 4aea2eeo 20000001 TK-1119 Figure 5-2 Global Symbol Absolute PSECT Portion Table of the of for the the Loader File of the RH784 (MBA) Diagnostic Program 5-5 DIAGNOSTIC PROGRAM AND SUPERVISOR INTERACTION 5.4 Whether a diagnostic program is executed in the user mode or in the standalone mode, supervisor its relation to the diagnostic is basically that shown in Figure 5-3. Once a diagnostic program has been loaded and the diagnostic supervisor has been loaded and started, program control moves to the boot routine of the supervisor. and sets routine up This the checks routine clears vector flags, mail boxes, The boot registers to a known state. processor to space, determine operator the whether typed has a Control C and sets up a map of memory and I/0 addresses creating P?¢ and block Pl and routine. page the tables. process It initializes then control block, the CLI system then calls and The begin routine changes the processor mode prompt the control the begin to kernel and calls is ready for (the command flag should be set). The CLI types out the symbol, DS>, indicating that the supervisor commands. When the operator types in a command (e.q. START), a parser routine in the supervisor is activated to decode the command and call the requisite action routines, clear the command flag, and then call the dispatch routine. The dispatch routine forms the heart of the supervisor. It begins by clearing the error count and setting the pass zero flag and then calls the initialization routine in the diagnostic program to be executed. The initialization routine initializes the unit under test and sets up conditions in the CPU and on the SBI which are necessary to the diagnostic program. The initialization routine then questions the operator concerning the unit to be tested, creates a hardware parameter table (P Table), tests for end of pass, and returns control to the dispatch routine in the supervisor. The dispatch routine then calls the first test. At the end of each test, control returns to the dispatch routine. At the end of the last test in the program (or the last test selected by the operator), the dispatch routine 1in the supervisor calls the initialization routine determines whether in or not the program. diagnostic This routine the end of the current pass has been reached. If the end of the current pass has not been reached, the called, beginning another first test routine in the dispatch section of the supervisor is test sequence. If the end of the pass has been reached, the program calls the end of pass routine in the supervisor. The end of pass routine in the supervisor determines whether or not the last pass to be run has been completed. If so, the cleanup and summary routines in the diagnostic program are called, the CLI command mode is set, and control passes to the begin routine which calls the CLI. The CLI prints out the DS> prompt symbol and waits for operator input. 5-6 DIAGNOSTIC DIAGNOSTIC SUPERVISOR DIAGNOSTIC PROGRAM DIAGNOSTIC SUPERVISOR @@ START c [ = BOOTSTRAP PROGRAM — — - CALL SERVICE @ FIRST | ROUTINES TEST AND SUPER RETURN FROM SERVICE INIT ROUTINE ROUTINES | l | ROUTINE CALL SERVICE TEST N | PASS ROUTINES RETURN FROM L__J SERVICE ' FIRST ROUTINES L (COMMAND MODE) 1 —t—— | BEGIN | D OF PASs OUTRNE YES ] COMMAND LINE INTERPRETER ROUTINE CLEAN UP | ____ROUTINE | {CLI) SUMMARY | _ _ROUTINE_ WITH OR DISPATCH INTERRUPTED TEST ROUTINE PROGRAM INIT R(;U—TIN—E BUWLD P |G, e NEXT PASS TABLES, INITIALIZE DEVICE TO BE i GO TO BEGIN SERVICE SYSTEM ROUTINE ROUTINES ; (PRINT, ETC.) GEEES L| CALL CLI e : ROUTINE TO INITIALIZE FIRST TEST aEEED TESTED YES NO \“/ D CONTINUE YES RETURN TO TEST D L-S SET COMMAND | £ CONTINUE START RESTART TK-0507 Figure and 5-3 Diagnostic Diagnostic Program Supervisor Interaction If the last pass has not been completed, the end of pass routine checks to see whether the operator has typed control C. If the Control C flag is set, control returns to the CLI. Otherwise, the end of pass routine calls the begin routine in the supervisor to initialize the system and initiate the next pass of the diagnostic program. Note that when the operator types Control C, he does not cause an interrupt routine to be called. The Control C merely sets a flag. The status of the flag is checked periodically when the tests in the diagnostic program call various service routines and at the end of pass. a ANALYSIS OF A SAMPLE TEST: RH78¢ (MBA) TEST 3, SUBTEST 1 5.5 Listing Column Format Description 5.5.1 Figure 5-4 shows the program listing for the MBA RH789 diagnostic program (ESCAA), test 3, subtest 1. The sixth column from the left contains the relative address of each instruction. These numbers begin at © with the beginning of each program section. Note that the (36080_. address ), offset containing section program the of Test 3 found in the link map, must be added to the relative addre%g to find the virtual memory address of the instruction. seventh The the from column contains 1left the 1listing line numbers. These numbers begin at @ for each module of the program. Note that the line number increments for each line of the source module. The sixth column shows the program counter, containing the relative address. The relative address increases according to the amount of memory space required for the instructions and operands. Line numbers The eighth lines entered by the program are present only for developer. Macro expansions do not have line numbers. programmer column from the left as symbolic addresses. contains labels used by the The ninth column from the left contains instruction mnemonics and Macro calls. Note that (line 317). Macro calls themselves assembly time, the the require no memory space (the relative address does not change), and that in the Macro expansion which follows, the line number 1is not incremented At assembler program responds to the Macro calls, expanding the Macro according to the definition listed at the beginning of the file. Column ten contains operands for those instructions contained in column nine; and it contains instruction mnemonics and parameters for the Macro expansions. The eleventh column from the left contains operands from the Macro expansions. Column five contains the op codes contained in columns seven and eight. 5-8 (hex) for the instructions Ru780,TESTS 04 . TEST 21 11=JANe 1978 INITIALIZATION TEST 229C n29c 284 SSBTTL SSSSATTL LT 288 3((3)) 286 SRGNTEST 1€ aepanane 2003 DATA ekyc po2n na2n PRAARADAPEF 294 ¢ THIS TEST CHECKS FOR STYUCK AT ZERO BITS IN THE RHT88 CONTROL REGISTER A CHECK 18 ALSO MADE TO INSURE THAT THE REGISTER WILL CLEAR VIA THE DeINPUTS OF THE CONTROL REGISYER PLIP/FLOPS, nege 298 296 3 297 3 Y022 298 30 MOVL nn29 306 ERRPREP RHCR,M8G,1,FMT_CONTR REG,S$A0,L_ MSG 4029 nege 309 #ode 318 1p8) 311 0aSa 34 DF DF ©nes one8 wo6A 206C noecC 340 3 TEST e _ 108 343 314 MOVAL FMT 318 316 CR(R2) 208 R4 SERRHARD. S T0 R2 PREPARE PUSHAT FA 108 CALLG 1MS, ewDSSCKLOOP CALLG $8S, e¥DSSENDSUA 318 208 SCKLOOP 319 INIY WRITE 3 READ 3 3 SKIP IF NO ERRORS CLEAR EXPECTED RESULTS - AF 0p8Y 1 3 $1,LUN, MIR,PRINT SBE MIR TO HANDLE ERROR ONE’S VIA 0°8 FROM D INPUTS CONTROL TO CONTROL REGIST REGISTER 3 REGISTER O#DSSERRMARD s SCOPE (LOOP? SENDSUB, 73,81, X8 »P8F I LISTING INST LINE MNEMONICS OPERANDS AND FROM MACRO SPECIFIER OPCODE | NUMBER (DECIMAL) | MACROS PROGRAM EXPANSIONS MACRO COUNTER EXPANSIONS 1(HEX) LABELS AND COMMENTS OPERANDS 6 y 3 CLEAR VIA D INPUTS #1 #33M, 5 ADDRESS #¥DSSBGNSUA CR(P2),R3 BEOL CLARL 317 8$8S, $PGM_INIT,CR(R2) #°XE,CR(R2) LUN 4 RH788 CONTRL REG,REG, STRING 81sL MOV INST 3 #1,REG.NO MOVZBL CLRL OPERAND 2 MOVZBL PUSHL CALLS OPERAND MOVE $BGNSUB SPECIIFIER 1 1 PUSHAL EXTENSION DeINPUTS RWCR, M8G,REG, _NAME PUSHL (HEX) THE CLEARING VIA DeINPUTS | EXTENSION ADR,R2 LILIET'S 14 FR pa8a FA VIA . CALLG 0e8F SPECIFIER CLEAR 21 Q4 AAARANAA’EF OPERAND BIT, 2072 PORY OPERAND SPECIFIER EACH Ap78 oD f28F 809ANARN OF . RH,CUR wnde eagF INTO T3.811¢ 8 13 D4 3 g sem n@38 94 D@ ONE®S EACH BIT IN THE CONTROL REGISTER ERROR IF SELECTED BIT I8 NOT SET unly 13 D4 WRITE WRITE REPORT MOVAL 2003000R°8F FA 3 307 38 . ALGORITHMg ALY F 2000°C2 CY TEST 302 3ey 304 AOPATCe POAADANR*OF DESCRIPTIONt na22 Rl.r-¥] AQANAGAN’EF 20000RAR*9F MASK 3 3 3 0200ANAR*9F AOAANAARTER ARGUMENT TABLE TERMINATOR, 291 292 293 D046 ARARAARNEF ENTRY TEST neg2 ¥ na22 BIZ'YY hWAUG ABNOPARAALEF 3 ap22 DE 1D S4 ZFwer> 299 94 anamec? TEST 321 21 53 3 3100 PRAPAANAEF ?000°Cc2 [ nna2 NE PACARBORTEF «LONG JWORD AR22 PARAAAANTEF POQPAANRCEF CDEFAULT,ALLY> nnee PRARNARACEF TEST>,<PAGE> 3 290 np22 22 TESY 8AQ 289 7022 9 (3) NOWRT z49¢ 288 URR2 SAQ REGISTER PAGE, Page 287 *a2?2 N2 TEST_ 383, MACRO X0,3=¢ G033 TEST,. 00321 an22 52 003, <CONTROL +POECT nai1e 291¢C ViXeiy <CONTROL REGISTER SAQ TEST> «8BTTL TEST 33 CONTROL REGISTER : e29c ge1c 13306841 7 8 9 10 11 12 TK-0736 Figure 5-4 Diagnostic Subtest RH780 Program 1, (MBA) Test Listing 5-9 3, Columns one through contain operand within P four contain the hexadecimal one and code for the operands specified in columns ten and eleven. Columns two and four specifiers. Columns three contain operand specifier extensions. Numbers followed by an apostrophe (e.g., go00000ed"') are the machine code for symbolic operands. They are modified by the 1linker at 1ink time. (MARS is a one pass assembler. Forward references, with the exception of branches link sections, and symbols global until resolved be cannot time.) The twelfth column contains comments describing the functions the instructions. Each comment is preceded by a semicolon. 5.5.2 Analysis Of Typical -- 311 mask. Its value according end of to the the mask provided. (00000001) module. Lines CR is #PGM.INIT test. Its value is destination in the the symbol for the can be found in the symbol table at the the symbol (offset from the MBA base register) MBA under bits sets instruction BISL The Line of (00000004) for the relative address of the control register of the is also listed in the symbol zero of table. This value is added to the contents of R2, the base address of the MBA under test, to produce the physical address of the control register. control register. setting bit Line that 317 -- follow zero The The INIT, bit thus sets is a Macro call. indicates the function the that performs. SERRHARDS, it instruction comment, are in line arguments 317, to be used in the The call. symbols The five lines that follow line 317 show the expansion of the Macro. These instructions push the arguments on the stack and call the DSSERRHARD subroutine in the supervisor, which sets the error flag and prints an error message based on the stored arguments. 5-10 5.6 5.6.1 Each (MBA) RH780 Diagnostic test provided depends and RH784 SAMPLE Detailed SUBTEST (Direct I/0) Flow in by on test DIAGNOSTIC a given diagnostic program relies on subroutines the diagnostic supervisor. The diagnostic program thus the supervisor sequencing for services functions. The as well as operator initialization should be able to references and subroutine calls back and forth between the diagnostic program being run and the supervisor in order to use the listings. follow The general strategy used throughout the diagnostic programs involves writing and then reading back data directly (with MOVE instructions) in order to exercise the logic circuits or device functions under test. Data retrieved is compared with data expected. If the comparison indicates a failure, an error routine takes appropriate action and sends a message to the operator. Subroutine 1 of test 3 of the MBA diagnostic is representative of this strategy. This subtest determines whether the control register of the MBA under test can be cleared after each bit in the register has been set. When the diagnostic supervisor calls test 3 of the MBA diagnostic, the test initialization code moves the base address of the MBA under test to general register 2. This register is then used to index specific MBA registers. The ERRPREP Macro then stores information concerning test 3 in a buffer area for use in error messages. Subtest 1 begins supervisor, point, look as with shown a call to the DS$BGNSUB entry in Figure 5-5. In to order point find in this the entry in the global symbol table in the program link map (Figure 5-6). DSS$SBGNSUB equals 00010830, an address in the supervisor. Note that the first two characters of the symbol (DS) indicate that the symbol points into the diagnostic supervisor. The global symbol table in the 1link map for the supervisor shows that the entry module (ESSAAll) defines the symbol (contains the code for the entry point) (Figure 5-7). The names of the supervisor modules suggest their functions (e.g., entry, loop, print). The DS$BGNSUB RBGNSUB, module of sequence call a return as the for print entry shown point in contains Figure supervisor 5-8. (Figure correct order. routine, which only one This 5-9). instruction, subroutine RBGNSUB A discrepancy to the CLI. If the subroutine calls the KB-CHECK checks causes displays an error subtest sequence is is the a in the jump the subtest subroutine message, correct, and the to 1loop to then to RBGNSUB routine to check for Control C. If the operator has typed Control C, control returns to the CLI. Otherwise, control returns to subtest 1 which, at this point, begins testing the MBA logic. 5-11 DIAGNOSTIC SUPERVISOR ENTRY ROUTINE I $DS GNSUB RO UTINE SUBTEST NO PRINT MODULEl l I OF MBA l UNDER TEST l ERROR LoOP MODULE | l CALL BGNSUB PRINT ERROR cu THE MBA I ! I TO CONTROL REGISTER (CR) ENTRY MODULE] | CONT ROL HARD REGISTER RERR HARD — MODULE RINGLBELLAG IFBELL FL I STORE ERROR INFORMATION SET | DSSPRINTF — . : RPRINTF ENTRY PRINT MODULE —— PRINT MODULE | RPRINTOUT PRINT ERROR MESSAGE ! TEST3 SUBROUTINE LUN # MIR MODULE FAILURE J l I ol | I vo| 1 || I l I YES _~ L 0oP AFTER ERROR CALL ' | | I CORRECT NOJ| | SAVE PC | I I CALCULATE l l ZEROS CALL ERROR ROUTINE —— MODULEr READ NO . SET ERROR FLAG ERROR l I FIRST CLEAR DS$ERR INTERPRETER YES | WRITE ONES L= ] LINE | A INITIALIZE RETURN TO SUBTEST COMMAND IRCKLOOP |ROUTINE CALL CKLOOP l l J | - MESSAGE, CALL CLI DS$CKLOOP PREPARATION oK | (45" RY SEQUENCE MODULE ¥ ENT MODULE I BASE ADDRESS l MBA RH780 DIAGNOSTIC PROGRAM DIAGNOSTIC SUPERVISOR SETUP N CALL TESTg DISPATCH MODULE MBA RH780 DIAGNOSTIC PROGRAM ' LOOP 1 i YES I | I I | I | I r LOOP ADDRESS RETURN TO I ® |I BEGINNING OF SUBROUTINE 1 REND SUB SUBROUTINE I l ' l l l i | CALL DS$ENDSUB TK-0506 Figure 5-5 Diagnostic Subtest RH780 (MBA) Program Test 1, Flowchart 3, MIR MDP MIR MSI MS 1 MCP MSI MCP, MDP 0@4PA66E=R PIQARTR4=R MIR _MDP QA@OAAA{CeR MSR,SNAP MSI MCP MSI MIR _MCP, MDP NO,UNITS AST, INITY REG_NO RH@ RH3 RH& RHCR _MSG RHMAPR MSG @22209A8=R MIR MS] MIR, MST MCP AREPP6AR=R QRQen741=R MST, MCP MIR,MSI, MCP MIR MSI_MDP_MCP ©Z@7@AB2=R BRANVAS9eR MST, MIR MST MCP, MIR @Z20029C3=R APQCGABA=R MSI _MIR_MCP PONRO9EA=R An@R22B3=k NUMBER_ RUFFER "NBN1953=Rk REC, MG 720020548eF REG_STRING AcOPA2F2«R NODRIVE PAAPPSU2eR PPRAA1BF{=R @ePPnSUuC=R PACAG2ER=R PTBASE REG, _NAME REPORT,BUFFER C22002BY=R P20A0544=R 2020034pe=R 000002 295=R NAPRAB28D=R RHI A¢A0Q299«R PP0PA291eR RH14 RH2 P7222Q229DeR PAAPP2A5«R RH7? RHS 23Q21910eR @20n1942«R PCARZ2A9=R RHCSR_ MSG RHSP _ MSG RHBCR, MSG @A 1915«R @2nn1924=R 222021933«R RHDR_MSG RHVAR_MSG 2202193B=R P000192B=R PCR20P2A1=R RH,ADR,TARLE RH_TRLVL QPR0P28DeR RH, RRLVL AP0PQ2AD=R 00V SFY SAB MSG QPP 1ABS=R AABI1BCE=R SUFFIX, PTR ARARASS4eR TEMP TIMOUY_ RET,_ PC PRAVA2ET=R UNEXPECTED PPQRARR2 P, TABLE TIMOUT EVT FLAG 2000@2E6~R WAIT, TIME ACBRR2EC=R P2AE=R 2 <SHEADER> ¢ PAGE 9 PRAPA2AR PPORAN2BY 3 < LAST> PAGE 9 PAGPBERD QQPPBLHRE QAPARRAD 4 CSTSTCNT>t LONG 2 Qar2A284 S €$ABSS> BYTE @ UARARANY APPNARAR AArALRRAR GLOBAL DSSABORT DSSCNTRLC GGOIGGZQ BG910978 CQRAVA2B4 SYMBOLS eeR123n42 era1npBe reo10100 DSSENDPASS DSSERRMARD DSSGETMEM DSSINLOOP DSSMOVPHY DSSPRINTSB DSSPRINTX DSSSETIPL DSSSHOCHAN DSSWAITUS SYSSBINTINM SYSSCLREF SYSSGETCHN: SYSsaIow SYSSSETIMR SYSSWFLAND ergieace 20212p9n AQ0170AQ a0Q12a58 DSECKLOOP ona100C8 20020288=«R P00818D9=R 2A002055C=R PP0018EU=R CPVARAND DSSCVTREG DSSELOGON RH,CUR,ADR SA41,MSG DEFINED1= DSE®ASKADR DS®ASKSTR DSSBREAK DSSERRDEV DSSERRSYS 2000P6D2=R 2PQGQ@773=R DSSESCAPE DSSASKDATA geoie080e DSEASKVLD DSSCANWAIT eee10788 eeeipo7e DSSCLRVEC A0010168 DSSELOGOFF oepi10108 pes1ncye NSSENDSUB angileadDa DSSERRSOFT eP21095n oee10e38 DSSGETBUF 2po10008 poeio120 Pa012132 DSSGPHARD 20012048 aeni1@a148 peo12218 DSSMMOFF DSEMOVVRTY DSEINITSCH ece1n158 poaiatue DSEMMON DSSPARSE eeaieise eeoi1p088 PeA130ES D8SRELBUF Pen10128 DSSRELMEM 02010138 PeR100ES ea210178 0Ba1@190 22210068 2rP108258 era10298 oeaia4cCa aea10209 povia4L2e 0R21024R8 6 <DISPATCH>] LONG 2 7 <DISPATCH_ X>1 LONG 2 . DSEPRINTF peeleoro DSESETMAP eonie18d DS$SUMMARY 0210028 SyssaLLOC SYSSCANCEL SYsspaLLoc SYSSGETTIM SYSEREADEF SYSSSETPRT SYSSWFLOR 00710238 @eN10260 pea10208 Q0214378 20310300 Aea1043e orad1n49@ AQAN6TA APAR26T70 QACEORQD ©3422850 20002867 PACANQLS DSSPRINTS eo21017e0 oroi1e0F8 DS$SETVEC eor10160 DSSWAITMS ooo10060 SYS$ASSIGN peo10250 SYSSCANTIM SYSSDASSGN SYS$Ql0 SYSSSETEF SYSSWATITFR 20010268 P0o102ER nQB103C8 vopiedLee 00010478 TK-1120 Figure in the 5-6 DS$BGNSUB Listed Symbol Table in the ESCAA Link 5-13 Map 1I-ESSAA=4, 24 Map 30=AUG=1978 DMA13(34n,421ESSAA EXEPUeT SyraoL VALUE DEFINED BY LY Y STovoeoeBDe® L X T Y XX ) DRASUCB? DRASUCBY PPN 1BYEB=R 202 1B588eR DSSABORTY PIN10P20=R ENTRY, ESSAALL DSSABORTWAIT DSSAB,BPTINSY DS$AQ, SSEND DSSAG, SYSSRY ”AQ10073«R 0P012FCBeR PDINTFFeR 2201920R=R ENTRY_ESSAALY DEBUG,ESSAAS ENTRY_ ESSAALL ENTRY ESSAALY DSSASKDATA DSSASKLGCL DS$ASKSTR DSSASKVLD VP 10080=R PAP{AR98=R ANR193AQ=R NAA1708BeR ENTRY_ ESSAALL ENTRY_ESSAALL ENTRY_ESSAALL ENTRY, E8SAALY DSSAA_BPTADDR DSSASKANR DS$aX, SOFTPCB DS$A_PRGBGN B SSBREAK DSSCANWATT DSSCHANNEL DssckLoOP DsscL! DSSCLRVEC PNA12FDBeR *2210090eR AIBGIETNO=R 22049200 Juuu%agion P1310088«R 200170 70=R YAR1A180=R AN010040=R A¥A1388%«R N7H19168«R I0BASE_ ESSAAYLY 10BASE_ESSAA4LS KERN SSAAIS ENTRY ESSAA ENTRY_ESSAALY ENTRY_ESSAALL ENTRY _ ESSAALL ERROR_ESSAAL? LoOP KERNEL _ESSAA1LS KERNEL ESSAALS MEMMGT _ESSAA1B LOOP DSSGA 27013588«R SCB,ESSAA2S DS$GA,_PBASE OSSGA,TBITVEC DS§GB, BYTEBUF ENTRY, ESSAALL ENTRY_ ESSAALL KERNEL ESS8AA1S PARAM ESSAALS P0013190-R DSEGETBUF DSSGEYDATA DSSGETLOGICAL P2210120R 20210080«R 00010098eR DSSGETVIELD P0010088«R DSSGL _ BUFCNY DSSGL_ BUFLEN ENTRY_ ESSAALY P2013S68«R 20010090«R 200100A2eR P0212E08eR 20013188«R DISPAT _ESSAALR VERSION, ESSAA3S SCR, ESSAARY DSSGETADDRESS DSSGETSTRING ENTRY, ESSAALY 20013584<R P3213S8CeR UBAINT _ESSAASS DISPAT, ESSAALD ENTRY _ ESSAALY 2N013168eR 20213164=R APT CLOCK_ESSAAS KERNEL ESSAA1LS A1 0AD8=R DSSGA,LASTADR D8SGA, LOOPADR LOAD ESSAALG APT FLAGS ESSAALUY AAR180DA=R DS$GA, CHMKVEC DEVALC_ESSAA4D DEBUG_ESSAAS DSSERRSOFT QAd@13160eR ] CANCEL _ESSAA3? ASTDEL ESSAA1Y PASSGN,ESSAAZS CHMK ESSAAY 10POST ESSAAS2 CHANNEL _ESSAA3 SCB,ESSAA2S DSSERRNARD DS$GA, CHKLPPC START,ESSAA2S DEVICE ESSAA9 ASSTGN ESSAAZSG MEMMGT,ESSAALB ENTRY_ESSAALL 20@1318C=R MEMMGT _ESSAA18 DEVICE,_ESSAAS ArA10AC8=R BREAKVEC LOOP SCBLESSAAR3 DSSERRDEV DS&GA, BUFPTR Sequence PAGE ESSAALS CHANNEL,ESSAA3 START,ESSAA2S ENTRY ESSAAL} ENTRY_ESSAALY ENTRY_ESSAALL ENTRY ESSAALY P0R100CR=R P78190S0-R ERROR,ESSAAL2 DEBUG, ESSAAS CLI_ESSAAS Ve 10028«R AARIAB10-R woe10038«R DSSERRSYS DSSESCAPE GIOREQ,ESSAAS] ENTRY_ESSAAL] DSSDOSUMMARY DSSENDPASS DSSENDSUR P1016621=R Frame L1 SCB_ESSAA23 LODMAP ESSAA4T SCB,ESSAA23 LOOP TOSRAM,_ESSAAL® KERNEL _ESSAALS KERNEL ESSAALS ENTRY _ESSAA1LY DSSENTRY { X@§,20 ,,, PARAM, ESSAALQ KERNEL Fiche ENTRY_ ESSAAL] nAAInaT78=R 20A19080=R BY DEVICE_ESSAA9 DEVICE ESSAAS ERROR,ESSAAL2 FRKCTL ESSAA4L DEBUG,ESSAASB DSSCNTRLC DSSCVTREG REFERENCED LINKER 29131 SCB, ESSAA2Y CHMK ESSAAU KERNEL _ESSAALS CONSOLE ENTRY_ESSAALL ENTRY_ESSAALY ENTRY_ESSAALL PARAM,ESSAAL9 ENTRY _ESSAALY ENTRY ESSAALY ENTRY_ESSAALYL BUFFER_ ESSAA2 KERNEL _ES8SAALS START, ESSAAZRS DEVICE_ESSAA9 PARAM,ESSAAL9 MEMMGT _ESSAA1S PARAM,ESSAALS PARAM,ESSAAL9 PARAM,ESSAALS KERNEL _ESSAALS MEMMGT ESSAA18 PARAM,ESSAAL9 PRINT TK-1121 Figure in the 5-7 DSS$BGNSUB Symbol Supervisor Listed Table in Link Map 5-14 the 11 10 I1»ESSAA=U, B4 ENTRY_ESSAALY Pe=08 ENTRY POINTS TO THE DIAGNOSTIC SUPERVISOR, DIAGNOSTIC AND STARLET SERVICE ENTRY VECTORS, 22-AUG=1978 ENTRY POINTS TO THE DIAGNOSTIC SUPERVISOR, nale 171 3+ 2932 172 ;3 2030 7% amid " 174 PARCARDACEF NRABPQARTEF AACABADREF ¢230 176 + WORD _ 3 17 332 FA3A 177 178 JMP RBGNSUB H oe3a 182 JMP RENDSUB Haan 18% Py 184 JALIGN QUAD 2602 ~"ALQ wun 1RS DSSCKLOOP:? 186 WORD *Me>» ;s CHECK LOOP ENRTY POINT, 3 ENTRY MASK 17 #9342 187 RCKLOOP s HaU8 1R8 yA48 2048 189 19¢ ABAR 17 f0aQ 17 QU8 ©04A ensn “0Se K»aAsSa ¢ase 53452 "Egs8 A0008 30 24 17 17 2020 17 20@0° AOPBONA2°EF 17 191 Jmp LALIGN DSSINLOOPS? 192 LWORD JmMp FMo» 19% 194 +ALIGN QUAD 195 DSSESCAPE1? 196 . WORD RESCAPE 199 JALIGN QuAD 221 . WORD mey» JALIGN QUAD @aSA 2¢5D 202 2¢3 AQSE 274 QASE 22s CA6n 227 ASBW RET KB, CHECK 206 DSSWAITMSs «WORD vy JMP DSXEWATITMS JALIGN QUAD 2ge2 208 PAGA 209 0068 210 @ReB 212 nnes SMe» JmMp 198 24? DSSBREAKS NP6n RINLOOP 197 0758 9nsS8 QUAD 211 DSSWAITUS:: « WORD me» @06A na7Te 213 214 JMP DSXSWATTUS naTa 216 JALIGN QuUAD 215s anTe 217 $O78 229 20078 An78 w270 w872 AR78 @27A 218 219 DSSCANWATITS? DSSABORTWATIT: «WORD JMP EMe> DSXSCANWAIT 221 <ALIGN QUAD 223 .VECTOR DSXSCNTRLC 224 Jmp DSXSCNTRLC+2 222 DSSCNTRLCSS 3 MASK SMe» 2QT@ APARQARRACEF U ENTRY o ¥ORD 17 _ BEGIN SUBTEST ENTRY POINT, 181 POPe GALPNANACEF 'y § 180 DSSENDSUB:: 2208 APAAPAOAEF 'y “Me» 7338 WASA FFAZ® <ALIGN QUAD 2000 PAZA Sequence 3528 Page 6 Cte) PROGRAM CONTROL SERVICES, 175 DS$SBGNSUB:? 2030 NPRAJBAQ°EF 4,2.1 Fiche 3 Frame J9 VAXeii MACRO X8,3=6 wAza For/a ANARAAARCEF :e 08322106 § ; 3 3 END SUBTEST ENTRY POINT, ENTRY IN MASK LOOP ENTRY ENTRY MASK POINT, ¢+ ESCAPE ENTRY POINT, 1 ENTRY MASK H 3 BREAK FOR DYNAMIC 3 CHECK f WAIT MILLISECONDS SERVICES., t SAVE NO REGISTERS KEYBOARD . ENTRY POINT, 1 ENTRY MASK g WAIT MICROSECONDS ENTRY POINT, 3 CANCEL WAIT ENTRY 3 ENTRY MASK POINT, 1 ENTRY MASK s *x10078 TK-1122 Figure 5-8 Entry DS$BGNSUB Point 5-15 I7-ESSAA=y, Y Msp OMALt[340,401ESSAA,EXEs 46T I0=AUG«1978 SYMBOL VALUE DEFINED BY REFERENCED BY ..--.. [ X LA 2 L L PREADVBLK 28Rr17170=R PRYSC, ANA3AA0Y 1] uw X X . X - RBREAK A0 RckLOOP RCTRLC P2215394=R PUA1SOSBeR . READVBLK 1SAT buR 2 X 7 X 2 3 K J CONSOLE SYSVECTOR LOOP ' PARAM,ESSAATY LooP KERNEL _ESSAALS PAR17170=R CONSOLE B0R152CER LO0P REKRDEV A3n1436F=R ERROR_ESSAAL? RERRHARD PAN14859=R ERROR,ESSAL12 RERRSOFT RERRSYS RESCAPE RGETADDRESS AAU108U3eR PAB1UBBReR APR1524C=R @NN1SSFE=R FRROR_ESSAA12 ERROR_ESSAAL12 LooP PARAM, FESSAA19 RGETSTRING PYA1STT79eR PARAM, ESSAA19 RGETDATA RGETLOGICAL RGETVIELD RGPHARD RINLOOP RPTEADR RTYPEMSG Sct_BasE SCB_IMAGE RIN1S47CeR BAN156A2«R RAA1SSUY=R PMN15RBBeR PPY153BCeR P2217C61=R AIN1SDRbeR 0 K & 24 K X X 2 X X 8 2 ENTRY,FE ENTRY ESSAA ENTRY ESSAATL ENTRY, ESSAALL ENTRY_ESSAALY PARAM ESSAALS PARAM _ESSAA19 L0oP ENTRY_ ESSAALY ENTRY, ESSAALL ENTRY_FSSAALY MEMMGT _ESSAALS QIOFNT ESSAASZ PRINT CLI_ESSAAS DISPAT_ESSAALD SCB,ESSAAZ] STARY _ESSAAZS SGNSGL MPAGEDYN SS$_ARDRT PAARAAY D #331C3IEN=R ASTDEL ESSAAL CLOCK, ESSALs KERNEL _ESSAALS KERNEL ,FSSAALS @ru{C3CC=R pUPrAR2C KERNFL FS8SAA1S SYSVECTOR MEMMGT ,ESSAALS TMDRVR ESSAASY S§$ ACCVID 888 ,B8ADPARAM S$S$,BREAK AAAAAARC PaAQANALY PUNAaYLY SYSVECTOR SYSVECTOR SYSVECTOR ACPFDT_ESSAA3S ACPFDT_ESSAA3S DEBUG,_ESSAAB 88, CANCEL 88$,CMODSUPR AYArA8IP 2A02B41C SYSVECTOR SYSVECTOR CANCEL _ESSAAZY DERUG,ESSAAS AAGANL24 AAAGRL2C NAA3ZRRA 1 SYSVECTOR SYSVECTOR SYSVECTOR DEBUG,ESSAAS8 DERUG _ESSAAS DERUG _ESSAAS SYSVECTOR CONSOLE SS$ , CTRLERR SSS DATACHECK SS$_DATAOVERUN SS§ _DEVFOREIGN SS8 _DEVNOTMOUNT 888 DEVCFFLINE 88§ _DRVERR SSS_ENDOFFILE SS$ _ENDOFTAPE AZEIA6S 1 PURURESY BARAARSC @0n2p83A prAR@an6d ASTDEL _ESSAA]L SYSVECTOR SCB_ESSAA2S KERNEL _ ESSAALS CLOCK_ESSAAG KERNEL ESSAALS DBDRVR_ESSAA39 TMDRVR, ESSAAST DBDRVR_ESSAA3S SYSVECTOR SYSVECTOR TMDRVR ESSAAST TMDRVR_ESSAASY ACPFDT _ESSAA3S SYSVECTOR ACPFDT _ESSAA3S SYSVECTOR GIOREG, _ESSAAS] SYSVECTOR SYSVECTOR DEBUG_ESSAAS QIOREG, ESSAAS] DMDRVR,_ESSAASI DRDRVR,ESSAASY DMDRVR,ESSAASS DRORVR, ESSAASY DMDRVR_ESSAAS3 DRDRVR,ESSAASY ICPOST _ESSAAS2 TMDRVR ESSAAST DMDRVR ESSAASY aau2paTC PANAN8TA A2000878 I0OPOST _ESSAAS2 MEMMGT ESSAA1LS MEMMGT _ESSAA18 SYSVECTOR SYSVECTOR PARAM_ESSAAL9 SCR,ESSAARS CHMK ESSAAL 26AAAGBY PRAAAPBC J ENTRY_ESSAALL WA318AEA=R PAPRAVE Y S§8 , CONTROLC ¥ ENTRY, ESSAALY ENTRY_ESSAALY ENTRY_ESSAALY ENTRY ESSAALL SCH$QAST SEC, TICK 8S$,CMODUSER Ss§ Compar SS$ , CONTINUE 16 ENTRY, ESSAALL PARAM, ESSAALY PARAM,ESSAAL9 SYSVECTOR {7 QIO ESSAAR? ASTDEL _ESSAAY A9IP3INc PAGE ENTRY_ESSAALL APN1B9FU=R SS$ BUFRYTALT Sequence . SCHSASTDEL SGNSC, IRPCNT SGNSGL , TRPCNT Frane E2 DER!IG, FSSAAR KERNEL _ESSAALS SCB_ESSAA23 APR18A13=R {1 X@2%1,20 ,,, 1 NPALESRAR P2A16807%=R SCHSNEW| VL Fiche QIN,_ESSAA22 UB i A LINKER 09131 DBDRVR_ESSAAZY TMDRVR ,ESSAAST ACPFDT _ESSAAZS TMDRVR_ESSAASY TK-1123 Figure the 5-9 RBGNSUB Symbol Diagnostic Table Supervisor 5-16 Listed in Link Map in the Subtest 1 zero the of initializes control the MBA register, under the test by writing initialization a bit. one The to bit subtest then writes ones to the control register, writes zeros, and then reads the register. If 2zeros are not returned from the control register, the subtest calls the DSSERRHARD entry point in the supervisor. The DSSERRHARD code is in the supervisor entry module, ESSAAl]l (see the supervisor link map). DSSERRHARD causes a jump to RERRHARD, which is located in the error module of the supervisor. RERRHARD sets the error flag, flag is set, and calls the DS$S entry this one points, rings the DSS$SPRINTF is bell entry located in if the point. the bell Like entry on error the other module and contains only a jump instruction. The jump transfers control to the RPRINTF routine in the print module (see the supervisor link map). print RPRINTF, in turn, calls the RPRINTOUT routine, also in the module. This routine prints out a message on the operator's terminal number indicating (LUN) RPRINTOUT RERRHARD, the wunder test test, and subtest and the numbers, failing the logical module name unit (MIR). returns control to RPRINTF, which returns control which returns control to ESCAA test 3, subtest 1. to At this point, the testing and error reporting portions of subtest 1l have been completed. The subtest then calls DSS$SCKLOOP (in the control module of the supervisor). This entry point causes a jump to the RCKLOOP subroutine, which is located in the loop module. Unless the loop and error flags are both set, control returns the subtest, which in turn calls DS$ENDSUB in the supervisor terminate If the subtest loop and 1 and start the next error flags are both to to subtest. set, the loop address is calculated and the RCLKLOOP routine causes a jump back to the beginning of subtest 1, at label 10$. Note that if the loop is the first loop after the error call, the test and subtest numbers are checked. If one of these numbers is wrong, control returns to the subtest as if the loop flag were not set. After the first 1loop, the subtest will be repeated continually. 5.6.2 RH788 Diagnostic Sample The error messages generated Error Message by the RH788 diagnostic vary, depending on the type of error detected and the type of the failing test. However, in all cases the error message will identify the failing module (or bus signal) and the nature of the failure. Expected and received data are printed when meaningful. For example, if bit 2 (IE) of the MBA control register is set, the error message printed will look like 5-17 that shown in Figure 5-14. **xkxx***MATNDEC PASS 1 TEST HARE ERROR 3 ZZ-ESCAA-5.0 SUBTEST WHILE 1 TESTING RH780 ERROR MBA: 1 DIAGNOSTIC-5,0%**kxkk* 1-JUN-1978 FAILING 10:53:30.70 MODULE: MIR(M8276) (RHCR)=00000004 EXPECTED: ZERO RECEIVED: IE XOR: I1E TK-0780 Figure 5-10¢ ESRCA Sample Error Listing Use the test, subtest, and error number to look up the relevant ~code in the program listing. Notice that test 3, subtest 1, error 1 is the portion of the program discussed in the previous paragraph. The program sets the maintenance bit in the control register. It then writes ones to the control register, clears the register, and reads the register. Since bit 2 is stuck at one, the received data and the expected data do not match. After listing the failure, the program continues with succeeding tests. The operator may, at this point, shut down computer to change the MIR board as directed, or use diagnostic the supervisor failure 5.7 more commands to set up a (DIRECT Detailed Flow 5.7.1 The RP@X/DCL Repair Diagnostic (ESRCA) peripheral that diagnostic programs cluster diagnostic accesses registers on the unit bit instructions and the programs, the by the channel services initializing disabling a diagnostic of the interrupts, determining adapter However, I/0. repair the of the Like the diagnostic with move RPOX/DCL and repair the MBA diagnostic on services supervisor. In to aborting error representative direct a particular, perform such function, setting map registers, and SAMPLE SUBTEST test directly, like. supervisor channel, is wuse I/0), RP@X/DCL under diagnostic relies more heavily than provided scope loop and monitor closely. RPAX/DCL REPAIR DIAGNOSTIC set the the the it uses functions enabling defeating parity, the as and and status. For example, when the dispatch routine in the supervisor calls the first test in the RPOX/DCL repair diagnostic, the test routine gets the address of the device under test and then, of arguments, calls for channel entry point in the supervisor. passing a list services through the DS$SCHANNEL Figure 5-11 shows the code for test 1, subtest @, errors 1-3. Figure DSSCHANNEL calls DSXSCHANNEL, which subroutine, which builds a channel 5-18 5-12 shows the subtest flow. in turn, calls the BLDCDB data block containing the 52 WYFE pOPPRQI0 DATA, 20113 VOFE nlve p@ae D8 1102 eled TEST, 00113 EF 7F €109 oo 0D wloF 200N °CF 0000400 CJ') 00000000 ° 9F VOVRVOVB°EF 84 53 22020000 *9F edop2e0a’EF 62 61-S MOVL 91t} TEST 3 ENTRY PUSHAQ CH_STATUS PUSHL #72 PUSHL w113 w119 DRIVE CALLS #4, TF 0123 a0 07 DD DO ¥129 «128 00008000 EF 24 PUSHL 00 FB w120 0133 PUSHL CALLS 15 E1 148 109 PUSHL 213a 1ia 111 BBC DRIVE %4, ®#DSSCHANNEL #CHSSV MBACPE,CH,STATUS, 208 3 et42 PUSHL w144 PUSHAL W=MSG, MCPE 2000°CF D0 ©14B PUSHL W#SDRIVE PUSHL #SER CALLS ¥33SM, PUSHL CALLS DRIVE %1, #NDSSSHOCHAN FB ©14E 0NVBA0QDEF DD FB FA #4155 @158 0162 9F 21 aF PI8B 11 31 E1 2c 2y DD @14C v1eD TR 016D 117 w17S 118 w17S RR AT 2081 ~ CALLG BRW A RN RN R AN RN B8C 1283, OwDSSERRHARD ewDSSCKLOOP TEST 0201,.X AN RN AN PUSHL DF @177 PUSHAL W=MSG_NED ¥17B ®17F PUSHL PUSHL w*DRIVE #SER a4 F8 00URAAVD’EF "1 DO FB 2000002007 9F FFeB CF FA 2157 31 ©18E 198 195 B19E {, SUBTEST @, CALLS $0S,_SHOCHAN,S PUSHL CALLS 12p $08, CKLOOP 121 $08_ EXIT w19t CALLG R RNRIRNNRAARRRRANRR CHECK FOR NONeEXIST, DRIVE ,WSDRIVE,w*“MSG, NED D0 DD TEST ) #¢ 22 tyy R AR AR #CHSSV MBANED,CH, STATUS, 258 $DS_ERRHARD,S 119 y EXIT TEST | AR NA RN N RN R AR FEBF CF geeoooRe’9F CHECK FOR CONTROL BUS ERROR wg @008 °CF ul8l v181 4188 1188 y PARITY 133 TEST {, SUBTEST 0, ERROR | O1leA 174 ADDRESS ®9 OF Ui14E DRIVE’S GET #CHCS_ STATUS pD DD 3 MASK CH_STATUS 1) 81 TERMINATOR OMDSSCHANNEL CF 24 TABLE RPCS1(R2),R3 3 GET CONTROL/STATUS $DS,_CHANNEL,S DRIVE,CHCS_STATUS,STATUS ,CH, PUSHAR w42 0141 MOVL ARGUMENT #CHCS,_INITA PUSHL 0000000 °EF opeooeeR’9F oooeeeRe’9F 1081t 3 “l120 #123 FED® 08000000 °kF FB 196 9 JWORD FMe> W BASE_ADDRESS,R2 09 2B aovaoece’9F eAea0eee’SF DD oD LLONG ERROR 2 #3$M, SwDSSERRMARD DRIVE DRIVE #{, owDSSSHOCHAN 108 143, #wDSSCKLOOP TEST BRA TEST 001 . X sy 'EXIT TEST 1 TK-1124 Figure 5-11 ESRCA RP@X/DCL Test 1, Subtest 4, Program Listing DIAGNOSTIC SUPERVISOR ESRCA RPOX/DCL REPAIR TEST I, SUBTEST O ( START ) Y GET ADDRESS DISPATCH ROUTINE ENTRY MODULE OF DRIVE UNDER TEST CHANNEL MODULE l BLDCDB ROUTINE -I I | | HARDWARE |11 I GeT P-TABLE DS$ CHANNEL GET UNIT # I l CALL . N l \ DS$CHANNEL (INIT) ERROR NO l I | BUILD CHANNEL I INDICATE I DATA BLOCK l l I |B || SUCCESS FUNC STATUS @ INITA | GET STATUS OF DEVICE CHAN. I Q Figure 5-12 ISNEITTMBA SYSTEM . . | ] a U ESRCA RP@X/DCL Repair Flowchart TK-0747 Diagnostic (Sheet 5-20 1 of 2) Test 1, Subtest @, DIAGNOSTIC SUPERVISOR ESRCA RPOX/DCL REPAIR TEST |, SUBTEST O READ RPCS1 OF DRIVE CALL DS$ CHANNEL (STATUS) DS$ERRHARD (PRINT ERROR e TYPE) ERROR1 VES CONTROL BUS PARITY ERROR DS$SHOCHAN (SHOW MBA REGISTERS) - ' ERROR 2 NON- EXISTENT L DRIVE DS$CKLOOP (LOOP IF LOOP = FLAG SET) AND SO ON DISPATCH | ROUTINE < (CALL NEXT TEST) TK-0748 Figure 5-12 ESRCA RP@X/DCL Repair Flowchart Diagnostic (Sheet 5-21 2 of 2) Test 1, Subtest @, P-Table and address, determines and the whether adapter the address; channel is clears an MBA the or flag a word; UBA. When control returns to the DSXS$SCHANNEL routine, the function argument passed from the calling program (ESRCA) is evaluated, activating one of several function subroutines. In this case, the INITA subroutine sets the initialization bit in the MBA control register. Control the then RPCS1 returns (control to the status) calling program register of the (ESRCA), unit which under reads test with a MOVE instruction (direct I/O). The test routine then calls DSSCHANNEL again, this time passing a different function argument (CHCS$ STATUS). The DSXSCHANNEL routine 1is executed again, activating the CHC$ STATUS subroutine which stores the unit and adapter status in the location labeled CH_STATUS. Then when control returns from the DSXS$SCHANNEL routine to the test routine, the data in location CH STATUS is compared, bit by bit, with expected data patterns. If an error is detected, the test routine calls a series of supervisor routines (DSSERRHARD, DS$SHOCHAN, DSSCKLOOP, and DISPATCH) to print out error information, loop if the 1loop flag is set, and return to the dispatch routine if the loop flag is not set. 5.7.2 Test 1, RPPX/DCL Repair Diagnostic Sample Error Message subtest @, detects this control bus failure by test, program error 1 of the RP@PX/DCL diagnostic parity failures on the failure, subtest, the error, Massbus error failing identifies (Figure 5-11). unit, When the the identifies message and error type. In addition, the message includes an MBA channel status dump, showing the contents of the pertinent registers, Bit 17 control Other the the status register is set, indicating error message formats display expected error and the relevant failing in registers Disk the Detailed Flow Reliability queue instructions directly the Massbus (as I/0 to the Diagnostic MBA and (QUEUE program diagnostics. read and received data and I/O), SAMPLE SUBTEST the RP@X/DCL, depending on test. DISK RELIABILITY DIAGNOSTIC 5.8.1 of the in Figure 5-13. parity error. contents of 5.8 The of as shown write diagnostic (ESRAA) Instead peripheral does), is the representative performing of device program move registers builds an argument list containing device and transfer parameters and pointing to the data to be transferred and the function to be performed. The program then calls the queue I/0 services of VMS or the diagnostic supervisor. In this way, the program transfers information to and from the peripheral device under test without the channel, the device, use of exclusive requiring computer system. Figure 5-14 shows the listing for ESRAA subtest @, error 12, the first of the data transfer tests. 5-15 shows the program flow for the same routine. 5-22 or the test 1, Figure ** PROGRAM: ZZ-ESRCA RPPX/DCL DIAGNOSTIC, REV 4.1, 46 TESTS. TEST 1l: QUALIFICATION TESTS kkkkkkkk ZZ-ESRCA RP@X/DCL PASS 1 TEST DEVICE FATAL MBA CHANNEL 1 SUBTEST WHILE STATUS @ DIAGNOSTIC ERROR TESTING 2 DBA@: CONTROL POOB0020 (X); MBA CR:[20010004] Bose0008 (X) ; MBA SR: [20010008] 00820000 (X) ; MBA VAR: [2001000C] MAP(80) : 4.1 kkkkkkkk BUS (8:26:20.26 PARITY ERROR DETECTED DUMP MBA CSR: [20010000] MBA - 1@-MAR-1978 POBBB200 (X) ; MCPE Pe000800 (X); MBA BCNT: [20010010] Po00PB0a (X); TK-1265 Figure 5-13 ESRCA Sample 5-23 Error Message LZ=ESRAA=S, 2 DATA TRANSFER 5,2 DATA TRANSFER 7345 109 312 311 3t2 313 314 318 316 317 3118 319 ©»IAsS 32e A3 325 3InS w3us 1315 “30s 23ug r3as #3238 a32s n30S wiaNg 039S 1345 N32% n32S ©? 305 3328 Sé6 2A AB 3C 2305 1348 28 AB 94 (32D 12 B2 ©316 ©3i8 11 32! BA 7323 79 AB S7 2S AB 2QA°8F o8 POORBRRLI°EF 241F B8F 09 P0Q0MAN]1 °EF 1215 8F 9A 91 309 311 2319 341 &i32C w»32E 033s ©341 NUMBER OF CYLINDERS s R6 T MAXIMUM NUMBER 0OF TRACKS R7 = MAXIMUM MUMRER OF SECTORS RA = CURRENT CYLIMDER s t NUMBER 3 R9 = CURRENT TRACK NUMBER s 1 $ R10 = R11 = DEVICE CHARACTERISTICS POINTER jee 181%: 182%: 19081 CURRENT SFCTOR NUMBER . MOVZWL MOVZBL MOVZBL cMPR OSKCSw_CYLNDR(R11),RS DSKDCER_TRACK(R11),R6 DSKDCSB, SECTOR(RI1),R7? $RMR3, DSKDCSB_ TYPE(RIL) ; g 3 3 PICK UP PICK UP PICK UP IS THIS BNEQ MOVW 1818 #LSTSECT _RM,e 3 $ NOPE GET LAST 1828 3 SKIP LASTSW, _SECTOR : LASTSw, SECTNR 3 MOV W BLSTSECT PP,= + CLRL R CLRL CLRL BRB MOVL AOBLED LAST MAXIMUM NO OF CYLINDERS MAXIMUM NUMBER OF TRACKS MAXIMUM NUMBER OF SECYORS AN RMO3? SECTOR IN CYLINDER SECTOR FOR RP ¢t CLEAR LONG WORD BUFFER INDEX R8 R1O : ¢t CLEAR CURRENT CYLINDER CLEAR CURRENT SECTOR ¥PATTERN],BUFFERY [RO] 3127,Rq,190% t s WRITE PATTERN WRITE S12 BYTES MOVL QIOPTRLIST[R2),R4 3 R4 MQve MOV MOV R9,QI0SB TRACK(RY) R12,0108B,SECTOR(RY) R8,0T08W_ CYLNDR(RY) 3 3 s WRITE TRACK VALUE WRITE SECTOR COUNT WRITE CYLINDER : MOVL MOVB Q0% Pe(RY) EF.LISTIR2],QINS _EFN(R4) 3 WRITE EVENT FLAG NUMBER YI0E WRITEPBRLX,= 3 SET FUNCTION 3 WRITE NI0S FUNC(R4Y) ) Do 11374 9@ 2383 384 +387 438E 359 w395 v3ios 362 361 Py 2371 v374 a4 24 A4 APVOPAAATEFUR AC A4 2R 0020200720 °9F .14 FA °GF 64 FA 238E 48 63 E8 7€ TE 7€ 52 S8 59 54 oD B@ 90 92 9398 w39 239D AJAe .} Sa FB E9 J3A3 A3AA Q178 3f ARPRANANTEF L2 Q387 23AD ¢3RO 6E FA 238» 13R7 365 k7Y 367 0002RP0N°GF 64 FA 387 22 63 E8 s2 ac DF DF Db DD ulPF a3C1 w3Ct #3Ct a3CY 03CD *3CF A4 FB 0301 4301 AAAQPBAPCEF WAARZAAAEF AF FA pra8 31 AF Disk FA MOVAL MOVL MOvVL 3 BEGIN AT LAST TRACK BUFFER]1,QI08 _ P1(R4) $512,Q0108, P2(RY) DSKDB PTRLIST{R2),= RLBC 208¢%¢ BRwW CALLS Rp, 205% (SP), ,R2,BLANK,e PUSHAL BLANK PUSHL R2 BEER PUSHL 369 $0S . CKLOOP CALLG 2058 205%, @3IEN 372 3E3 371 RRW buRS $DS,CKLOOP CALLG +3E3 2128y Reliability @, TEST §, t CHECK FOR °*C ISSUE QIO REQUESY BRANCH IF ND ERRRORS CMECK BAD BLOCK FILE 3 BRANCH IF NOT 3 ##DSSBREAK DUMP STATUS PUSHAL DUMP_STATUS 3 WRITE DIAGNOSTIC BUFFER ADDRESS s GET NEXT BLOCK ERROR 303 : ; RETRY s REPORT IN BAD BLOCK FILE CHECK FOR “C WRITE COMMAND (RY4),G*SYSSQIOW CaLLG (R3),2108 3 BRANCH IF SUCCESS $NS,EPRHARD,S sy #2,CHECK BLOCK (YT t0IO0W, G (R4) BLEBS TO QIO ARGLIST RS,=(SP) R9,=(SP) R1A,=(8P) $DS BREAK CALLG 3168 POINTS s PUT BUFFER ADDRESS IN QI0 ARGLIST 3 WRITE BYTE COUNY $DS BREAK CALLG (5P), #xDSSBREAK $SQIOW, G (RY) ] : G SYSSQIOW (RUY, CALLG aLes (R3),210% 3 CHECK _BLOCKS R2,R8,R9,R10 ¢+ PUSHL R2 2, w3DA (ESRAA) Test 1, Subtest Error 12 Listing 5-24 2ras #1,06,R9 MOVw Move »Ova 362 363 364 (4) ’ sSUBL3 349 12 ’ 347 3s5@ 351 3152 353 3154 35S 356 357 358 198 USAGE: 346 3¢ 5-14 MAXIMUM 349 236C Figure = A34e R® CA RS wlaa 0382 235a 58 gdgaAvR’9F ¢ nDe 0E D@ aaaa’ca DS REGISTERS €3 2362 367 DNA°F ;s a1 99 Page AND READS 344 99 20202 WRITES,WRITECHECK, 348 5A 202uAANQ’QF MULTI«SECTOR nv3du S9 0GPRNAAN9F BEGIN 4342 348 Sequence r ¢t D4 AAMD°CU 23 Frame D16 04 20CA2UAR°EF4Q WRGAAGBYCEF 24201200 8F 0MCANR2°EF 1 MACRO X0,3=6 58 29AA°CY 0020072 a2 343 VAXe{] SA 59 1C 20 339 10:52344 s4é 336 337 338 3ag D4 DO F3 54 A4 a4 321 322 323 324 3125 326 327 328 329 330 331 332 333 334 318 4324 1] P0QQ@ABU’EF U2 ASTPAASTN BF Sa ROAAYRTF B8F EC 56 31-AUG»1978 TESTS Bk¥2.3-1 59 Fiche TESTS ESRAAB QA TESTS QUALIFICATION TESTS 2Z-ESRAAS,0 SUBTEST CALLS #838M, 275% 205%, 3 ERROR DUMP STATUS 12 O¥DSSERRMARD ##DSSCKLOOP 3 o¥DSSCKLOOP 3 GET NEXT LOOP BLOCK TK-1127 VMS AND DIAGNOSTIC SUPERVISOR l ' C 3 DISK RELIABILITY ESRAA TEST 1, SUBTEST O, (ERROR 12) DATA TRANSFER TESTS SET POINTERS START TO CYLINDER O SECTOR O LAST TRACK DETERMINE NUMBER OF CYLINDERS TRACKS : > \Qi/J SECTORS BUILD G170 DETERMINE DRIVE ARGUMENT LIST- TYPE BUFFER ADDRESS BYTE COUNT I I COMMAND l INTERPRETER I LINE TRACK SECTOR WRITE PATTERN 1 (A570A570) CYLINDER INTO A BUFFER ADDRESS 512 BYTES EVENT FLAG # DIAGNOSTIC BUFFER B FUNC = WRITE Y ES - Ql/O SERVICES WRITE PATTERN 1 TO NO I FIRST CYLINDER ISSUE FIRST BLOCK LAST TRACK Q1’0 | REQUEST LOAD DIAGNOSTIC BUFFER LOAD 1/0 STATUS | BLOCK (10SB) L i | \3 SUCCESS ISOB YES CONTENTS I NORMAL NO ¢ FAILURE DS$CKLOOP l CONTINUE WITH { NEXT | PART OF TEST 1 (READ PATTERN JUST WRITTEN) TK-0682 Figure 5-15 ESRAA Test 1, (Sheet Subtest 5-25 1 of 3) @, Error 12 Flowchart ESRAA DISK RELIABILITY VMS AND DIAGNOSTIC ——_— ] el LOCK SUPERVISOR ROUTINE M oeresr | | ' ) SECTOR ROUTINE READ | l BAD BLOCK FILE SUCCESS HAVE | FIRST 5 SECTORS | BEEN READ GET (NEXT) l COMMAND ADD2TO WORD FROM SECTOR COUNTER BAD BLOCK LINE FILE INTERPRETER NO END OF 9T-§ ISSUE BAD BLOCK Q1/0 REQUEST (RETRY) Q I/0 SERVICES WRITE PATTERN 1 LOAD 10SB _ LAST SECTOR AND DIAG BUFFER ! DUMP STATUS PRINT ERROR MSG BAD BLOCK OF CYLINDER, NO DSS$SERRHARD YES FILEIS TRACK. SECTOR oK WITH ITEM FROM BAD BLOCK 0 - l — DS$CKLOOP J L Figure Subtest 5-15 ESRAA Test 1, @, Error 12 Flowchart (Sheet 2 of 3) VMS AND DIAGNOSTIC ESRAA SUPERVISOR DISK RELIABILITY SET POINTERS FOR NEXT BLOCK A 4 STATUS DUMP NO L . PRINT COMPLETION TIME COMMAND YES LINE AC INTERPRETER NO DISPATCH ROUTINE TK-0584 Figure 5-15 ESRAA Test 1, Subtest @, (Sheet 3 of 3) 5-27 Error 12 Flowchart The first test, supervisor, various when sets drive up a it is called pointer commands to (drive by the the dispatch routine I/O clear, status seek, offset, and reset). Test 1 then performs an before beginning the data transfer tests. In the a write to the on data the then the disk portion of 1, the data pattern (AS570A570) to is loaded into an argument pack builds in the drive under a target diagnostic function to block on the buffer be disk address, performed. Then, The area containing the byte count of the data the test. buffer 1list test oscillating tests of pack the data after tests memory. the address (track, be of checking up block program the data the location cylinder), number, for test written The sector, flag NOP, sets first to in event in the seek program to be transferred, the and recalibrate, a transfer disk buffer, of transfer block Control and C, the the program calls SYSSQIOW. If the program is being run in the user mode (VMS being run in the standalone similar routine in the SYSSQIOW routine then places mode, supervisor. the SYS$SQIOW SYS$SQIOW environment), If the program is the call to SYSSQIOW invokes a routine in VMS. call builds invokes an a I/0O packet from the parameters passed from the diagnostic program and then (if in VMS) checks the privilege of the calling process (the diagnostic supervisor) through internal data structures. The by a device completion driven of the event flag). status message the examines diagnostic 1/0 packet interrupt post When is to routine then adapter (on performs MBA stored in and I/0O the loads or into post final UBA) event completes the the and 1I/0 waits setting of function, for the formulates it a I/0 packet, and loads the register contents. The the I/O post queue request diagnostic register the adapter processing I/0 by for processing flag, registers, status drive drive inserted in a queue the (indicated driver and is with initiate clears function the that (IOSB), posting I/0 controller buffer the packet routine, is and a requested. processing contents, and The I/O device and and with buffer software sets status the event flag. With the control. (IOSB) event The to completed flag set, diagnostic determine whether successfully. the calling program The then or not IOSB has program checks the (ESRAA) I/0O the requested the format shown in 00 16 15 STATUS BYTE COUNT DEVICE-DEPENDENT DATA TK-0743 Figure 5-16 1I/0 Status Block 5-28 Contents Block function 5-16. 31 resumes Status (for disks) was Figure If the low order of the test indicating bit success, of the (label the 210$), where reads the data just written If the low order bit CHECKBLOCK routine located in the of it IOSB to the blocks program GETBBFSECTOR routine (refer to the all, the returns queue the IOSB 1is set, loop flag and then calls the to the next routine I/0 request is retried. set, in the Figure (module 1link load block sector on the disk pack. at the not module the read tests code turn, be of a branch is reliability calls longword portion to the disk pack. the (refer load first program does 6) map). 5-18) control to If the load block which of This (Figure If the load test 5-17), the routine, which block test is disk 1in reads the where the file cannot 1, file has been read successfully, the routine checks through the item in the file to see if the address of the block which cannot be written to is already noted in the load block file. If so, the load block file OK, and control access is the next block list, and attempt to returns on again calls write the to test the disk, SYS$QIOW, pattern If the failing block address calls the into 1, which builds a sets up new queue pointer I/0 as previously explained, the next on is not block listed the in the load to argument in an disk. block file, the CHECKBLOCK routine returns control to test 1 which, in turn, issues a second queue I/0 request (after checking for Control C). If the request fails again (IOSB status code = @), the program status DSSERRHARD block information. checks the each into the queue (read routine in the supervisor, and diagnostic buffer contents After detecting loop flag. I1/0 request block on the successfully, the block If disk just the a failure loop flag indefinitely. pack until before going written, finds to beginning 5-29 this set, Otherwise, it on of is at label dumps other type, the the one check which and the program program repeats program checks that the the error it next 210$). can write function I12-ESRAAS,2 ESRAAG MAP, BB 5,0 BAD BLOCK FILE ROUTINES “AP RAD BLOCKS ZZ-ESRAASS,D BAD BLOCK FILE 200713029 Av29Q BFFC 2900 eang 22 DD ea DD 24922 wwed 20UPR@3IA’EF 2030 PAN°9F 18 070080AG°9F 20000070 °9F Se s3 24 2% sS4 38 s7 58 2A Seé "o 40 2A20e Q@0E aa1s 148 BLRS “a18 149 $DS_ERRSYS,S PUSHAQ PUSHL #1 CALLS #4, w218 PUSHL 21 A w320 PUSHAL PUSHL DD F8 eun23 6C FA 242C AC AC 9A 9A A33 a3y 3IC 2038 3y TEST SUBTEST 3, 2%t 153 MOVZBL CALLG ONDSSERRSYS (AP), exDSSABORT s PICK UP MOVZBL TRACK(AP),R3 ;s PICK UP TRACK CYLINDER(AP),R4 OPTF 154 ¢+ PICK UP CYLINDER MOV LUNCAP), RS 56 a2 D4 9A 3 PICK 143 BpYS UP LOGICAL 158 156 CLRL R6 3+ CLEAR MovzeL #2,R7 158 MOVve DSKDC_GWDLIST+u[RS],R8 s “psSp PUSHL 70 @048 157 RS s PUSKH PUSHL CALLS Ré 42,GETBRF SECTOR s ;s PUSH SECTOR READ BAD BLOCK 163 BLBS Rp, SCAN 3 BRANCH CMPB #8,R6 3 HAVE $ TAKE 3 ADD wYs” 2pS2 159 160 e2 FB Se¢ 4apns4 E8 weSB 161 162 @26t 164 BEQL CHECK wueld adeeb 165 166 ADDL #2,R6 PR6A 167 S6 na 9A 7068 168 11 11 2aeR 169 Se DD *ved 172 NUMBER OFFSET ADDRESS OF DRIVE CHARACTERISTICS BLOCKZX SUCCESS FIVE FAJLURE 2 TO 108 3 #%8,Ré : 3 CHECK PUSHL RS s PUSH LUN SECTOR 8R8 20¢% CONTINUE SECTORS BEEN EXIT SECTOR MOVZBL # SECTOR IF FIRST RRB SCANg 108 LUN READING INITIALIZE SECTOR BLOCK READ COUNTER FROM PREVIOUS BD EsF a2 171 PUSHL k6 s PUSH FB 1974 E9 2¢78 172 173 CaLLS BLBC ¥#2,GETBAF SFCTOR RO, U408 ;s ¢+ READ NEXT SECTOR IF FAILURE TRY NEXT BLOCK DA Rl 13 aA@7E 7086 ¢8R 175 176 177 a2 Se 9A BY #ATR Q8D 174 MCVZIBL 228 178 #2,R7 s IGNORE MOVL @RBF POINTER{R7),R2 :+ PICK #=1,RE s CHECK BEQL 40% : IF EOF CMPW Re, Ry s IF CYLINDERS 24 12 #2990 179 28 12 ED w92 180 ]2 Sv CMPZYV BNEG AR9S Ing #0097 181 BNEQ 108 ; THEN #499 182 cMPZV #24,%8,R@,R3 : IF 53 5@ 16 12 +79¢C ¢A9E 183 BNEG RAAD $DS_ RELBUF,S : THEN 184 29 DD vAAQ ~9AR uasa 52 31 9A ARy 18% 11 F3 284 17Be WARND ueRE 186 187 INg e S6 13 8BF c9 we 1RA 4rse ADDL AB Sé 91 HACY 1R9 Ab 19 ¢0nCs 190 zaC? 191 CHECK cMPB BLSS RLOCKZX? 59 Co D4 a4 Ing PUSHL PUSHAQ PUSHL TF wAC? 192 EAC9 193 wCe 194 WL A 198§ WACA 196 $AC A 197 2uCA 198 #1,BRBF POINTER ¥ #3, MOVZIBL s AND ADBLEG #127,R7,228 : IF CLRL THWE FILE BLOCK FILE MATCH BRANCH BRANCH TRACKS DON®T MATCH BRANCH #9 BBF_POINTER CALLS #1,R9 BRB BAD OF ITEM SECTOR DON’T IF SECTORS DON®T MATCH 12 DD FB OF NEXT THEN ED 21 ”3 END TRY WORDS FILE s 18 dA22CAINTEF LONG ;s 10 29302002 °9F TWO BAD BLOCK #16,%8,R9,R2 e8 wvean FIRSY FOR LOOP NUMBER CMPW UP READ? COUNTER -1 AIBNAIA’FFUT FFFF 8F 31 AANQ2ATF INDEX PICK UP NnD pD HESE INITIALIZE UNIT COUNTER ; SS 56 91 SECTOR 1282 13 s7 SECTOR DB ce 11 sS4 #E$M, MOVZwL 22 E8 sS7 enDSSGETYBUF SECTOR(AP),R2 64 59 1) SUCCESS? BBF_POINTER $DS_ABORT Sé 43 s BUFFER AC o8 PPPPOQCAEF ALLOCATE #9 CALLS 150 151 152 9, ; MSG_ _NOMEM LUNCAP) SSER ERROR 1 PUSHL 125 9028 92cC 167 -] o LUN(CAP) ,MSG _NOMEM DF 231 POINTER RA, 2% DD g 58S @8 #1,BBF PUSHL PUSHL 2paC DD Secguence Page “M<RP,R3,R4,R5,RE6,R?,R8,R9,R10,Ri1> DD AA200UBPL°EFUS BOPARPCACEF +WORD $DS, GETRUF,_S TF 26 AC 58 146 147 FR E8 ne Frame L13 X@,3=6 (3) 24 52 AC Fiche 1 VAXe1f MACRO (2351123} 144 +«PSECTY CODES 145 CHECK_BLOCK1 21 ARYA0AQQ EF 28 31=AUGe1978 ROUTINES exDSSRELBUF CHECK,_ BLOCKX s INDICATE EXIT ALL SUCCESS BLOCKS SECTOR NOT CHECKED #2,R6 s BUMP Re,DSKDCEB, SECTOR(RB) 12% ¢ : CHECK FOR LAST SECTOR CONTINUE READING IF NOT COUNTER RQ s ELSE : EXIT INDICATE BY INDEX AND LOOP TWO LAST SECTOR FAILURE CHECK , BLOCKX: RET «SBTTL GETBRF_SECTOR ROUTINE TK-1126 Figure Routine 5-17 Code 5-30 CHECKBLOCK 2BCA Se 53 54 OAVRUINRUEF Y2 "o evee’cy nA A4 AC ARRARIRQNPEF eaaa’cy 1C [e-S 28 Bl 273 274 27s 276 277 278 279 289 281 2R pe 70 DE a3 *ACC A3 A3 BAANCAIRPCEF WODF WREL 2aca A3 21 72D ].) e68 269 270 271 272 4erc Na GANA NAES “WAES WAED AR’ cy N4 HWOFS 20 A4 AC NeNa AF fd A4 Y POORAVARPEF ANFRA 012y GETBBF,SECTOR:: LUNCAP),R2 Mova DSKOC_QWDLIST+4[R2],R3 MOVAL 11 2A ac a4 2112 aC A4 “c AROABNR BF 2117 c83 55 “118 WOLIBNARPEFG2 284 *123 28§ MOVAQ “128 286 “wi2F MovL 287 $O10W, G 136 *137 288 289 THE POINTER ? R4 3 WRITE } ; WRITE <=« : RIOPTRLIST[R2),RA s MOvVL BRISL LOGICAL POINTER TRACK YO UNIT TO LOCAL RS,QI08,I0SR(RY) (RY) CALLG RET PUT, BADBLK _ (R4),G"SYSSQIOW s BUFFER WRITE WRITE 3 UP ADDRESS SECTOR BYTE WRITE PICK ROUTINE ; PICK $ WRITE t : CHARACTERISTICS QIO ARGLISY READ TO INTO READ COUNT EVENT QIO ISSUE @10 ARGLIST IN QIO ARGLISY FLAG PTR y WRITE ASSIGNED CHANNEL ¥10S,READPBLK, QTOS_FUNC(RU) j WRITE READ PHYSICAL ¥108M_INHERLOG,QIOS,FUNCCRU) 5 INWIBIT ERROR LOG 10STATUS,BLOCK[R2],RS NUMBER YO DRIVE WRITE CYLINDER TO READ Q10S, CHAN(R®), Q108 CHANCRY) MOVL «SBTTL UP UP #512,0108,P2(R4) EF.LIST[R2),0108, EFN(R4) MOVL 1 2F PICK PICK SECTOR 01088, (AP SECTORCR ), Y) MOVL AQ Y QIOSW,_CYLNDR(RY) BBF _POINTER,GIOS,PI(R4) MOVA A8 P0002VAQ°GF #1,08KDCSW,CYLNDR(R3),= MOVZWL WPAPAPRAOACEFYD ss QIOSB, TRACK(RY) MOvL A4 3 ; #1,08KDCSB, TRACK(R3), SUBW3 sa A4 ARGLIST,R4 susR3 08 1@ “M¢R2,R3,R4,R5,RE> «WORD MOVL UP I0SB CODE ADDRESS 108B ADORESS QIO FUNCTION REQUEST INTO QIO ARGLIST EXIT TK-1125 Figure 5-18 GETBBFSECTOR Routine Code 5.8.2 Test Disk Reliability Program Sample Error Message Subtest 1, Error @, 12 of the disk reliability program identifies bad blocks, on the disk pack under test, that are not in Figure 5-19 entered in the bad block file. The message shown numbers. The error jdentifies the failing test, subtest, and ers (MBA regist l message also includes a dump of the channe registers in this case) and the RM@3 registers. register are set, Notice that bits 12 and 15 of the RMERl er is @. The bad indicating a data check error. The startingas cylind by the contents shown block is located in sector 1, on track 4, of the RMDA registers. TEST 1: QUALIFICATION TEST DRA1l QA BEGUN AT 2-FEB-1979 14:26:18.54 Y TESTS ** ESRAA *% ——- 5,2 khkkkkkkk VAX DISK RELIABILIT ERROR 12 2-FEB-1977 14:26:20.52 Kk kkkhk PASS 1 TEST 1 SUBTEST # HARD ERROR WHILE TESTING DRAl: FUNCTION INITIATION SUMMARY: FUNCTION ATTEMPTED: WRITE DATA BUFFER ADDRESS RANGE: FROM: 00000388 ATTEMPTING BYTE COUNT WAS: 512 STARTING DISK ADDRESS: CYLINDER: @ TRACK: 4 TO: 000060587 SECTOR: @ FUNCTION ABORT SUMMARY: 000 UNDEFINED SYSTEM STATUS VALUE = po000 ; ADAPTER CODE = 20 (X) 90000020 : MBACSR MBACR MBASR MBAVAR MBABCR MBAFMAP MBAPMAP RMCS1 : : 20000004 30002009 : @830 09008388 00800000 8OG0OBET 80000 0OF2 : : : : RMDS : RMMR : RMER1 RMAS : @028 ; MWR, MSCLK 0000 9401 2814 : : RMSN : 8846 : 2000 RMOF RMDC RMHR RMMR 2 RMER2 RMEC1 RMEC?2 : : : : : : : ; DVA, FUNCTION = WRITE DATA ; MOL, DPR, DRY, vV RMDA RMDT RMLA PAGE BYTE ADDRESS = 188 (X)= 0000 (X ; MAP POINTER = #1(X),= @888 (X), SBI BYTE COUNT COUNT BYTE US MASSB ; BIT 2, BIT 1, BIT @ 5, BIT 6, BIT 7, BIT ; BIT 31, 4, BIT 1 BIT 5, BIT 6, BIT ; BIT 31, BIT 7, 11Co 80080 : ; IE ; DT_COMP 0040 1890 2000 13FF 0000 #9836 2000 : DCK ; ; TRACK = P4 (D), SECTOR = g1(D) ; MOH, DRQ, DRIVE TYPE = RM@3 ; SECTOR = @1(D) ; SERIAL NUMBER = 8846 (X) ; FMT22, ECCI ; DESIRED CYLINDER = 000604 (D) ; ; CNT/CYL, BUS IN LINES = 1FF(X) ; ; BURST LOCATION = #836 (X) ; ERROR BURST = 08008 (X) Figure 5-19 ESRAA sample Error Listing 5-32 TK-1237 CHAPTER CPU The CPU cluster exerciser programs (ESKAX, ESKAY, and the common to all three pPackage ESKAZ). instruction programs. test ESKAX, done contains set test, the tests. timer The cluster mode clock exceptions return halts cluster exerciser control first and exit second tests the and the memory or set tests. of the three will programs fatal is not test, mode the three and is test failures; error map of messages: and code as the a classes of The first ESKAY, instruction test types errors). quick program program, Figure 6-1 programs. handle module common the This management interrupts; from native separate are is package. The corresponding (resulting (CITS), program, exerciser diagnostics three three entry allocations exerciser of the module 6 PACKAGE consists exerciser. instruction providing unexpected SBI contains the memory errors, the and ESKAZ compatibility showing and the EXERCISER modules, services verify portion of the cluster includes the compatibility mode part Two CLUSTER safe for the easy to follow as the code for other diagnostic programs. However, the error messages which the programs generate are detailed and, for the most part, self-explanatory. The operator should understand the genera l structure of each use of the all test and the error message formats in order to facilities provided by the cluster exerciser programs. 6.1 CONTROL MODULE control module in the cluster exerciser progra ms serves as interface between the programs and the diagnostic supervi sor. module performs the following functions: The Program initialization Execution Print out pass, if of all of a module errors exist Initialization variables Set up of tests and all When the exception, control it and out an up one for detects error 6-1 pass message reinitialization of all unexpected). module prints in summary fielding (expected clean twice vectors handling Proper and of at and and unexpected as end pertinent exceptions an the interrupt message the The shown of each control exception interrupts interrupt in Example or 6-1. ESKAZ (MEMORY MANAGEMENT AND ESKAY ESKAX PDP-11 INSTRUCTIONS) (NATIVE INSTRUCTIONS) (QUICK VERIFY) ESKAXO00 10236 CONTROL ESKAX00 10236 CONTROL ESKAX00 10236 CONTROL ESKAXO1 18000 CITS ESKAXO1 18000 CITS ESKAXO1 18000 CITS TIMER AND CLOCK TESTS MEMORY 3822 10000 ARITHMETIC, LOGIC. AND MANAGEMENT ESKAZO2 TEST 01 ESKAYO2, TEST O1 COMPATIBILITY MODE FIELD INSTRUCTION ESKAX02, TEST 1 ESKAY 03, TEST 02 BRANCH, CRC, AND QUEUE COMPATIBILITY INSTRUCTIONS 13500 ESKAZO3 TEST 02 gggzw EXIT ESKAYOS, TEST 04 BRANCH. CRC, AND FIRST PART DONE ESKAX04, TEST 2 ' QUEUE ESKAYO6, TEST 05 OPERAND SPECIFIER FLOATING POINT DEPENDENT ESKAY 07, TEST 06 DECIMAL STRINGS ESKAY 08, TEST 07 EDITPC OPERATORS ESKAYO09, TEST 08 SB! VERIFICATION 17155 ESKAXO0S5, TEST 03 CHARACTER STRING INSSTRUCTIONS ESKAY10, TEST 09 PRIVILEGED INSTRUCTION EXCEPTION, ESKAY11, TEST 10 MEMORY VERIFY ESKAX06, TEST 04 TK-0737 Figure 6-1 CPU Cluster Exerciser Package Memory Allocation 6-2 hkdkdokkk CPU CLUSTER EXERCISER -- 9.0 PASS 1 HARD ERROR TEST UNEXPECTED ERROR$ WHILE 4 TESTING ERROR CPU: 1 . . . EXCEPTION . . SERVICE ROUTINE EXCEPTION 00000030 SUBTYPE# PC SUBTEST 00000001 VECTOR# PSL 6 khkkkkkk 00000006 83Cg0000 0000110D Example 6-1 Unexpected Exception Error Message Refer to Chapter 2 of the VAX-11 KA780 Centra l Processor Technical Description for a discussion of vectors and subtypes. When the machine check vector is asserted, the exception handler attempts to log out relevant status registers on the stack before pushing two longword parameters (summary and length) on the stack (Table 6-1). In addition, the subtypes for vector 4 (machine check) are listed in Table Table 6-1 Summary 6-1. Summary Parameter, Length Parameter for Vector Parameter Subtype Byte o0 CP Read Timeout/SBI g2 CP TBUF Parity 23 CP Cache @5 CP A Instruction Buffer TBUF Parity & Instruction Buffer Read Data gA Instruction Buffer TBUF Parity gc Instruction Buffer Read Data @D IB Read oF IB Cache @ Read Parity Data Error Error Fault Substitute Parity Fault Error Error 6-3 Fault Fault Error Timeout/SBI Confirmation Error Fault Substitute Error Fault Substitute Confirmation Fault Fault Fault Fault 4 Table 6-1 Summary Parameter, Length Parameter for Vector 4 (Cont) Summary Parameter Subtype Byte 0 Fo@ CP Read Timeout/SBI Error Confirmation Abort Fl CS F2 CP TBUF Parity Error F3 CP Cache Parity Error Abort F5 CP Read Data F6 CP Parity Error Abort Abort Substitute Abort (Not Supposed To Be Here) Abort Byte 1 This byte will be a nonzero value if a CP timeout or CP error confirmation interrupt is pending. Bytes 2 & 3 These two bytes must be zero. Length Parameter Byte 0 The number of bytes logged out are exclusive of this parameter. Byte 1--3 These three bytes must be zero. When an unexpected interrupt or exception occurs, information is pushed on the stack by the exception handler as shown 6—20 6-4 in Table Table 6-2 Information by Mnemonic Meaning SP: Length ID CPU Bus Stack Address Parameter Summary CES Pushed on the Exception Handler the Parameter Error Trapped & Status acC UPC Virtual Address/ Virtual Instruction Buffer Address D Interface Data Between Paths P8 and (Bytes 1 & 3) Memory TBER® Translation Error TBER1 Translation Error Buffer Register 12 ¢ Buffer Register 13 1 TIME.ADDR 1A PARITY Cache SBI.ERR SBI Parity Error Register 1E Register 19 pPC PSL Note that handler. accessed. information The EIH on module the must stack be iS not saved breakpointed by before the exception this data is (CITS) COMMON INSTRUCTION TEST SERVICES MODULE 6.2 module This implement a consists table-driven test method for that routines software of group a of a majority of the VAX-11 instruction set. CITS interprets the contents of a specially coded test table and executes tests of VAX-1l1l instructions. CITS is also function and memory part done first the of tests for used management. A copy of each of these test instructions is coded in executed, the test data is the Before (RN). mode deferred register placed somewhere instruction test in memory, and 1is the registers are loaded with the addresses of that test data. After the test instruction is executed, the contents of the registers and the contents of the test data area of memory are checked. There are four main routines in CITS that do the work of executing tests: CITS DECODE, CITS SETUP, CITS EXECUTE, and CITS CHECK. 6.2.1 This and CITS DECODE routine generates other the for directions entry, table test one decodes in three a of table routines cases, to use. into the These directions are lists of addresses and other variables placed in the parameter blocks of the CITS data area. CITS SETUP 6.2.2 CITS SETUP moves the test data from the common data pool The buffer. operand location the operand buffer 1is data are of the data a standard referenced during execution of the test instruction. The locations to used be background destination for A5, hexadecimal pattern, in operand, whether source or destination, by each with byte. each Also, is preceded and followed CITS_SETUP pattern. background the of longword a filled loads registers R@P--R6 with the operand addresses to be used by the test instruction. PC and initial The PSL calculated by CITS DECODE are PSL and pushed on the stack by CITS SETUP along with a return address. The return address save to to a routine the exerciser's points the result registers. 6.2.3 CITS EXECUTE enables CITS EXECUTE exception handler to react properly for the current test. It passes the address of a CITS unexpected exception handler and enables validation of the exception of trace trap being tested, executes an REI to start the test. from the console. 1if any. CITS EXECUTE then A NOP instruction precedes the REI and can be used for scope sync if the microbreak address is set up correctly When the test instruction finishes, the test subroutine returns to a result-saving routine. The PSL and registers R@--R6 are saved in the execution parameter s the exception handler Interface Data block, as are the contentof Block (IDB). Also saved is an indication of instruction branched, if it is a branch instruction. 6.2.4 CITS_ CHECK CITS CHECK checks the results checks the source operands directions and addresses of instruction and background its into put 6-6 whether the and also execution, pattern. It uses the parameter block by CITS_DECODE to exceptions control (whether registers R@--R6, CITS_CHECK also to make sure CITS checking. an and memory checks that It exception the the checks happened data. longword background branches, and When before pattern at the the checking memory and each after has not PSL, right PC), data, operand been disturbed. CHECK keeps a list of all errors found during one test case. This complete list will be typed out when the test module using CITS makes the $DS ERRHARD call to the diagno stic supervisor. 6.2.5 CITS_ SUBTEST CITS_SUBTEST is most tests of table, order the calling and a CITS 6.2.6.1 Message is extended error numbers; the preceding four supervisor printout for that case addresses CITS It routine that processes CITS error a routines reporter is used complete Subtest and the the referenced; examples executes supplies number; in the proper necessary. when NOP test, subtest, and error code of the failing op operand detailed Troubleshooting a test data; Features instruction etc. Refer interpretation. just -- SCOPE before the SYNC REI instruction. Putting the microaddress of 8E into register 21 will cause a sync pulse to be generated microsequencer board (M8235) each time a NOP is execute d. To loop on a failure with SCOPE SYNC, >>> D 8E >>> START /ID 21 SET DS> START to —- to the ID on Bus the perform the following steps: 10000 (DIAGNOSTIC DS> by test Messages test 6.4.2 CITS_EXECUTE CITS. Heading -A standard diagnostic supervisor (by the supervisor). That is followed by an typed instruction; Paragraph control call the Error heading subtest that the calling 6.2.6 6.2.6.2 common SUPERVISOR STARTUP) IE1,LOOPD /TEST: N (WHERE 'N' IS FAILING TEST NUMBER) ETC. ~ Halt Before the test-case (CITS CASE) content executed. of the is Failing Test Case -executing always CASE HALT. incremented If This -- At 1loop, these the the and beginning case compared are equal, a of number with HALT the is feature allows the operator to stop before execution of a particular case, in order to examine registers, e.g., deposit the hex case number into CASE_HALT. needed, Then Run the test until use CONTINUE until either set a breakpoint 6-7 the halt you get to or is the deposit a executed. (If right subtest.) byte of zero (a HALT) You in have CITS SYNC and now stopped type CONTINUE just before to get the REI instruction of interest. Use the console whatever operation you wish to perform and desired. , to to that the HALT. test to set continue up as Figure 6-2 shows the sequence of events followed by CITS in the execution of ESKAY@3, test 2, the arithmetic, logic, and field instruction test module. 6.2.6.3 Unexpected Exceptions in exception occurs during a test, CITS containing error exerciser the case exception number handler. and the This -If an unexpected will print a header CITS printout information £from the only occurs while CITS is handling unexpected exceptions, i.e., only during the execution of the five 1instructions before the test 1instruction and approximately through the three instructions after it (Example 6-2). If an exception occurs outside of that set of instructions, then the error typeout is not handled by CITS and will not have a case number heading. kkk*%k*% CPU PASS 1 HARD ERROR ?2 TEST ERROR IN TEST SUBTEST 1 TESTING ERROR KA@: CASE NUMBER: —- 9.0 25 @ *xkkkkkk INSTRUCTION TEST ERROR 25 EXCEPTION 00000004 SUBTYPE# PC EXERCISER 00000001 VECTOR# PSL 2 WHILE UNEXPECTED ERROR$# CLUSTER 00000000 (QOl1FOQEQD 00000003 Example Refer to unexpected 6-2 Example Unexpected 6-1 exception Exception (Paragraph error message 6.1) in CITS, for format. an Error Message explanation of the ‘ 6.2.6.4 Result Register Errors -- If the contents of any of the registers R@--R6 are not as expected, CITS prints out initial, expected, and actual values, as shown in Example 6-3. 6-8 DIAGNOSTIC SUPERVISOR ESKAY 03 START CASE = CASE +1 COMMAND LINE INTERPRETER YES L DEPOSIT OO0 IN CITS SYNC (HALT) NO INIT CITS DECODE (DECODE CASE) ' DISPATCH ROUTINE L i CITS - SETUP — TEST 2 CITS EXECUTE ' CITS - SUBTEST STEP ' THROUGH INSTRUCTION CASE =0 L REI, POP PC, POP PSL, EXECUTE INSTRUCTION RETURN FROM EXECUTION CITSCHECK ERROR YES PRINT ERROR = MESSAGE NO NO TK-0755 Figure Test 6-2 Case Execution in 6-9 of ESKAY@3 3 PASS 1 kkkkkkkk CPU CLUSTER EXERCISER -- 9.0 kkkkkkkk ERROR 17 SUBTEST 4 TEST 2 @ HARD ERROR WHILE TESTING KA@: INSTRUCTION TEST ERROR ? ERROR IN TEST CASE NUMBER: 17 ? REGISTER CONTENTS ERROR INITIAL EXPECTED ACTUAL R poP05404 po0038040 P00038840 R1 90005414 po038000 p0008000 R2 po0@P5418 0p000000 0o000000 R3 Poo00000 00005476 p0005476 R4 gooBB000 p0000000 Po000000 - R5 goe00000 0o0P0000 po0000300 R6 000000080 00000000 go000000 Example 6-3 Initial data shows the Result Register Errors values start of the instruction. loaded into the registers at the If the longword 6.2.6.5 Leading or Trailing Background Errors -- chang ed during is nd opera an before or the longword after 1longword the means g Leadin error. execution, CITS reports the ecimal Hexad . data) the than ss before the data (lower addre AS5A5A5A5 is the standard background pattern. —-- When CITS detects a data error, part of Data Errors in the the error typeout is an operand number. That is, ta number the of order o-righ left-t the to g range 1 to 6 correspondin instruction operands for the instruction. For example, in a MOVL ation destin the and 1 d operan called be the source longword will 6.2.6.6 longword operand 2. access If the incorrect operand is not of a writable or modifiable read-only type, then the error message includes the statement: operand overwritten. error If the incorrect operand is writable or modifiable, thenle the 6-4). message includes the statement: incorrect result (Examp 6-10 *k*k**** CPU PASS 1 TEST HARD ERROR CLUSTER 2 SUBTEST WHILE ? ERROR IN ?2 INCORRECT EXERCISER TEST 7 TESTING CASE RESULT KA@: NUMBER: OPERAND EXPECTED ACTUAL Co000009 40000000 Example Example errors, 6-4 the ERROR 6-4 —-- 9.f 10 @ *%kkkxx INSTRUCTION TEST ERROR 190 2 CITS Detects a Longword Data Error shows incorrect longword data. For word and byte format is the same except that a word is typed as data four hex digits, and a byte as double-floating word typeout, two hex digits. In a quadword or the lowest addressed longword is the first line of data typed. That is the longword containing the sign and the exponent for the double-floating case. (In the quadword case, the sign is in the longword typed on the second line of data, Example **k*k*%%* CPU PASS 1 HARD ERROR 6-5.) CLUSTER TEST 2 SUBTEST 1 WHILE ? ERROR 2?2 INCORRECT EXERCISER —- TESTING KA@: OPERAND EXPECTED ACTUAL 00000000 996740D6 PO000000 8 6A2E99E Errors etc.) ERROR 91 IN TEST CASE NUMBER: RESULT, in are Example 6-5 string data displayed in 9.0 CITS *kkkkkisx @ INSTRUCTION TEST ERROR 91 2 Detects (character Example 6-6. a Quadword string, : Data packed Error decimal string, *kk%kk*%%* CPU PASS 1 HARD ERROR TEST CLUSTER 2 SUBTEST WHILE ? ERROR ? INCORRECT IN EXERCISER —— TEST 1 TESTING CASE RESULT, ERROR KA@: 38 .« .ASA5%39%4E39... FROM START Example Each only byte OF TEST ERROR 4 ACTUAL BYTES ¢ 44 EXPECTED @ **kkkk*x INSTRUCTION NUMBER: OPERAND 44 9. STRING 6-6 CITS Detects a String Data Error is typed as two hexadecimal digits. The expected data the good value of the byte that did not compare. The data shows five bytes of the result string. The beginning shows actual of the string is to the left, the end is to the right. The left hand two bytes (four digits) are good result data; the byte between asterisks (*) is the one that failed to compare; and the right two bytes are the start of the rest of the (uncompared) string. The last line tells how far from the beginning of the string the bad byte is. 6.2.6.7 PSL Errors -Result PSL errors are typically wrong condition codes. The condition codes are the right-hand hex digit of the PSL. The E in the second from right-hand digit indicates that the decimal overflow, floating underflow, and integer overflow traps are enabled (Example 6-7). This condition is always true when the *#kkkkk** CPU PASS 1 HARD ERROR ? ERROR ? RESULT test TEST IN CLUSTER 2 WHILE TEST PSL instruction EXERCISER SUBTEST 1 TESTING CASE is ERROR KA@: NUMBER: being —- 9.0 50 0 executed. **kkkk** INSTRUCTION TEST 50 ERROR EXPECTED ACTUAL PO1FPOES PO1FOQE] Example 6-7 6-12 PSL Error ERROR 6.2.6.8 branch, Branch failure Errors -When testing to branch when expected or expected produces **%kkk%x CPU PASS 1 HARD ERROR ) ERROR ") TEST EXPECTED message CLUSTER 2 TEST 4 BRANCH KAg: NUMBER: DIDN'T 1. Exception An message error 2. trap fails CPU CLUSTER PASS 1 HARD ERROR WHILE ) ) TEST ERROR INCORRECT 1 g *kkkdsk# INSTRUCTION 6-8 or Branch Trace TEST ERROR Error Trap Errors is produced if to occur all. at IN 2 EXERCISER -~ SUBTEST TEST 4 TESTING CASE NUMBER: EXCEPTION an expected exception or PBOBA25F5 PB0602566 EXCEPTION ACTUAL PO1FBOBES PO1FOBE4 In Example of the 6-9 both exception. a valid trace 2 **kkkkk @ INSTRUCTION TEST ERROR Exception Error 2 PSL EXPECTED Example 9.§ PC ACTUAL INCORRECT ERROR KAQ: EXPECTED time 9. 6-8. The PC and PSL of expected exce ptions and trace traps are checked. If an error is detected, a messa ge like that in Example 6-9 is typed. ¥*kk%x*x* ? —- Example HAPPEN Expected trace in 1 Example 6.2.6.9 that ERROR TESTING CASE like EXERCISER SUBTEST WHILE IN a instructions that may a branch taken when not 6-9 the PC Expected and In the Example 6-10 trap occurred. 6-13 PSL were only the incorrect PSL was at the wrong at time the CPU CLUSTER EXERCISER —-— 9.§ #%*x%**k% pPASS 1 ERROR 127 SUBTEST 2 TEST 2 *&k&kk¥x 0 HARD ERROR WHILE TESTING KA@: INSTRUCTION TEST ERROR ?2 ERROR IN TEST CASE NUMBER: 127 ? INCORRECT TRACE TRAP PSL EXPECTED ACTUAL PO1FQOF @ PO1F@OF8 Example 6-19 Trace Trap Error If the extended error printout 6.2.6.10 Extended Printout --addit ional data will be typed out flag is enabled, the following on error detection (Example 6-11). [1.] INITIAL CONDITIONS: PC 0#0@8@4873 PSL @01F@OFF OP CODE —-- 74 WITH REGISTER INDIRECT OPERANDS [2.] [3.] INITIAL REGISTERS R@-R6: RO POBOACOH4 R1 PO0POBACl4 R2 000 R3 9B0BAC2D R4 PPIGBAC39 RS 000 R6 00000000 SOURCE OPERAND DATA: OPERAND 1 FFFEAFFF FFFFFFFF OPERAND 2 FF OPERAND 3 Poe04080 00000000 Example 6-11 Extended Printout 6-14 Notes for 1. Example 6-11. This is the first line of the extended typeout. PC is the location of the test instruction, which can be examined if the user wants to see the hex code. PSL is the value of the PSL before exXecuted. OP CODE is the example is 74 REGISTER of 2. 3. 1; The INITIAL the test was executed. These All R1 the REGISTERS the actual registers source (read of OPERANDS has instruction are the value EMODD. INDIRECT operand by hex = the the instruction instruction, means that address of R@ which has operand the 2; typeout tells where were memory when of addresses in contents listed above the the the in is the address etc. operands of instruction pointed to (2). or modifiable) operands Longword are typed. Formats: Byte XX Word Longword XXXX XXXXXXXX Quadword XXXXXXXX -- Low Address XXXXXXXX -- High Strings XX, XX, Left XX, side In the preceding VAX-11/780 example of we Longword XX,...,XX printout Long strings are continued the Address is lowest are printed 16 for as lines have the Architecture Handbook many following or the further help.) Operand 1 MULR (RO) Double Operand FFFFFFFF 2 MULRX (R1) Operand Byte 3 FF MULD (R2) Double 00000000 The and 5th Operands 4th Operand 4 INT (R3) Operand 5 FRACT (R4) are address bytes as per byte. line and needed. operands. (Refer to instruction card for FFFEAFFF 00004080 Destinations: Long Double 6.2.7 How To NO-OP a Test Case If it is necessary to bypass a test case while waiting hardware ECO or a microcode ECO, refer to Example 6-12. 6-15 for a 105 INSTRUCTION : OPERANDS :SUB: 0 2C9 950 951 952 953 954 2C9 955 TB 2C9 91-9 ;CASE ; SUBD2 e 2C9 2C9 946 947 948 949 s 2C9 2C9 2C9 2C9 2C9 P8FQ9D62 2C9 28 g1 g1 2CC ;DIF: 1.0 ;CONDITION I_SUBD2, EXP-DIF: INITIAL: CODES CC_NzVC, CC_ ¢, D8 D12, ~ .BYTE I SUBD2, <-C<I_SUBD2>>, .BYTE DP 2CD .BYTE DP D2 2CE .BYTE DP D2 6-12 Case Example D12 Instruction 105 SUBD2 l.0 EXPECTED: 1111 D8 D2, DP D2 0009 <I16*<CC_NZVC&15>+CC_@&15>> Load ESKAX.EXE Look up Set the the base address of the PSECT <. BLANK .> in the 1link map of this program for the module that has the data for the test case to be No-Oped. console base register VALUE) . Find the TB line sure you are in 'Examination Count the bytes. of 2C9 number That of the the right test right place (Example location (E single bytes of would be to 3 for 2C9) this that case value and (i.e., examine In Example 6-12, D 2C9 Set R: the relocation should following give the where back 0). 6.3 R: make @8F@9D62. line that has three example. 303FC, register to 6-12). Deposit a new longword, at the address just examined, the count from the pPreceding step follow ed by @3FcC. examined. it SE to 2C9 zero is the when made address finished up of just (i.e., SE ESKAX DESCRIPTION 6.3.1 This Compatibility Mode Entry/Exit Module (ESKAX@2, Test 01) tests the conditions generated when the central module processor enters conditions and and leaves functions the are compatibility mode. tested. The following ESKAX Test 1, Subtest 1 -- This subtest performs illegal entries in compatibility mode expecting and checking for reserved operand faults. The bit settings in the PSL that will cause reserved operand faults, shown Table in Table on an attempt to enter 6-3 Reserved PSL Operand Faults and PSL Compatibility Mode Entry Bit/s DV<7> Nonzero FU<S6> Nonzero Nonzero Nonzero CUR MOD<K25:24> PRV MOD<23:22> Not = 3 Not = IS<26> 3 Nonzero FPD<K27> in Table 6-3 Bit Condition IV<5> IPL<20:16> conditions mode, - on The compatibility 6-3. Nonzero are tested 6-17 one at a time. Settings are The following two examples are typical of ESKAX test 1, subtest _, messages. error *xkkx%kx* PASS 1 CPU CLUSTER EXERCISER —— 9.@ TEST 1 SUBTEST 1 ERROR 2 HARD ERROR WHILE TESTING CPU: **%kkkx% 21:25:41.22 19-JUN-1977 EXCEPTION INCORRECT PC FROM CM ILLEGAL ENTRY VECTOR TYPE CODE EXPECTED PC ACTUAL PC PSL ENTRY MNEMONIC 18 NONE g@e0a7D74 PeP@7D76 83CPPA8A DV Example 1 ESKAX Test 1, Subtest TEST 1 SUBTEST 1 ERROR 2 HARD ERROR WHILE TESTING CPU: 1, Error 2 khkkkkhk CPU CLUSTER EXERCISER -- 9.0 kkkkkkkk PASS 6-13 19-JUN-1977 21:25:53.04 EXCEPTION PC FROM CM ILLEGAL ENTRY INCORRECT VECTOR TYPE CODE EXPECTED PC ACTUAL PC PSL ENTRY MNEMONIC 18 NON gaa@7D74 @@9087D54 83CPA040 FU Example 6-14 Interpretation of ESKAX Test 1, Subtest 1, Example Error 2 6-13. is the reserved operand fault vector expected. 1. 18 3. The 5. EXPECTED and ACTUAL PCs are self-explanatory. 2. 4. There is no type code pushed on the stack. state of the PSL to cause the DV is the PSL bit that was nonzero ESKAX Test 1, Subtest (Table 6-3). 2 -- Compatibility mode trap upon a valid entry into compatibility mode Table 6-4 fault was 83C@0g0d84. instructions (Table 6-4). Compatibility Mode Trap Instructions Op code Mnemonic 200003 BPI pa00a4 I0T 104000 EMT+0@ 104400 TRAP+0 6-18 —- mode Compatibility reserved into compatibility mode HARD a valid entry 6-5). Op code Mnemonic 000000 HALT 000001 WAIT P00035 RESET 000230 SPL 306400 MARK @75000 FADD 875010 FSUB 275020 FMUL @75030 FDIV 170000 FP11 Error Messages kkkkkkkk CPU CLUSTER EXERCISER -- 9.0 TEST 1 SUBTEST 2 ERROR WHILE TESTING PASS 1 upon Compatibility Mode Reserved Instructions Table 6-5 Typical (Table instructions ERROR 3 CPU: khhkkhkk 19-JUN-1977 EXCEPTION PSL 21:29:30.40 FROM COMPATIBILITY INCORRECT MODE TRAP VECTOR TYPE CODE EXPECTED PSL ACTUAL PSL TRAP MNEMONIC 30 1 83Co0000 83C00002 2003 BPT Example 6-15 ESKAX Test 6-19 1, Subtest 2, Error 3 Akkkdhkx CPU PASS 1 HARD ERROR MODE TRAP TEST CLUSTER 1 SUBTEST WHILE TYPE 30 2 TESTING CODE *kk%kx*** 1 HARD ERROR WHILE MODE TRAP TEST 1 3 19-JUN-1977 kkkkkkkk EXCEPTION PSL 21:29:42.21 FROM COMPATIBILITY PSL ACTUAL 6-16 83C0P00B02 ESKAX Test EXERCISER SUBTEST 2 TESTING PSL ERROR CPU: 1, Subtest 2, -- 9.0 3 19-JUN-1977 TRAP MNEMONIC go04 IOT Error 3 *kkkkkk* EXCEPTION PSL 21:29:54.02 FROM COMPATIBILITY INCORRECT VECTOR TYPE 30 3 CODE EXPECTED PSL ACTUAL 83CP0000 Example Interpretation of 1. 30 is 2. A type 6-17 of Referencing IOT code show is Subtest 3 -(PSL<4>) set for for an an is pushed Chapter shown This upon 1, Subtest and 2, TRAP MNEMONIC 8800 EMT Error a as 6 well TRAP vector on of typecode the the of 2 expected. stack. system reference indicates an equivalent as the hex ACTUAL PSLs are self-explanatory. subtest tests the T-bit trap by entry into compatibility mode: of that does not that does trap. having trap NOTE a IOT manual fault. the octal the T-bit 6-4). instruction instruction Both 3 6-16 2 that (Table EXPECTED Test compatibility mode code SPL 83C00002 ESKAX Example the would a. b. CPU: EXPECTED CPU CLUSTER PASS 5. ERROR 9.0 83C00000 Example 4, 2 -- INCORRECT VECTOR 3. EXERCISER and b cases NATIVE mode. 6-20 are serviced in Typical Message Error kk*%k**x* CPU CLUSTER EXERCISER —- PASS 1 TEST 1 SUBTEST HARD ERROR WHILE 3 TESTING ERROR 4 CPU: A 9.0 **kkkxkx 19-JUN-1977 T-BIT TRAP NOT EXPECTED EXC VECTOR TYPE CODE MNEMONIC @BCO 30 NONE TST RO Example 6-18 ESKAX Test Interpretation of Example 6-18 1, 21:32:86.80 TAKEN Subtest 3, Error 4 (this printout is for Case B): 1. This instruction, which was to execute and then T-bit trap, was 'TST R@' with TRACE PENDING prior execution (PSLKLTP>). take a to its 2. The is 3. 30 is the vector expected to field the T-bit trap. 4, No type the hex equivalent code is of the pushed octal on code for 'TST R@' BC@. stack. Subtest 4 -- This subtest performs an RTT/RTI instruction with the T-bit set in the PSW image on from the stack by the RTT/RTI. Typical Error khkkkkkx the which is to be popped Messages CPU CLUSTER EXERCISER -- TEST stack, PASS 1 1 SUBTEST 4 HARD ERROR WHILE TESTING ERROR 3 CPU: PC 9.0 kkkkikkk 19-JUN-1977 21:33:43.60 FROM RTT TRACE TRAP INCORRECT VECTOR TYPE 30 NONE CODE Example EXPECTED PC g00068508 6-19 ACTUAL PC gP0B8408 ESKAX Test 6-21 1, Subtest TRAP MNEMONIC P00 6 RTT 4, Error 3 *kk%k*** CPJ CLUSTER PASS 1 HARD ERROR WHILE TEST 1 EXERCISER SUBTEST 4 TESTING ERROR CPU: —- 9.0 3 19-JUN-1977 PC FROM ***%kk*% RTI 21:33:54.7¢ TRACE TRAP INCORRECT VECTOR TYPE 30 NONE CODE *« e Interpretation UunwNn - PC ACTUAL 00008508 Example . EXPECTED 6-20 of 30 is No type The The RTT hex Test 1, 000 2 Subtest to field the the stack. instruction was under test. equivalent of the octal code and 4, MNEMONIC | Error RTI 3 6-19 the vector expected code is pushed on EXPECTED TRAP PPo08408 ESKAX Example PC ACTUAL PCs are T-bit for RTT trap. is 6. self-explanatory. Subtest 5 -- This subtest performs checking of 0dd Address errors while in compatibility mode. This is accomplished by executing a PDP-11 MOV instruction with unaligned SRC and DST operands. Typical Error kkkkkkkk Messages CPU PASS 1 HARD ERROR TEST UNALIGNED CLUSTER 1 SUBTEST TESTING SOURCE CONTENTS TYPE 30 6 CODE ERROR CPU: -- 9.0 4 19-JUN-1977 ODD EXPECTED 6-21 CPU CLUSTER PASS 1 HARD ERROR WHILE TEST 1 VAL ACTUAL SOURCE VECTOR TYPE 30 6 TESTING ERROR CPU: CONTENTS CODE 21:35:17.19 TRAP CAUSED VAL 1, Subtest MNEMONIC 17DF UNALIGNED 5, —- 9.@ 4 19-JUN-1977 ODD ADDRESS TRAP Error 4 ****k¥k* 21:35:29.58 TRAP CAUSED CHANGE EXPECTED B Test EXERCISER 5 ADDRESS PO OE ESKAX SUBTEST khkkkkkk CHANGE 20 0A Example UNALIGNED 5 WHILE VECTOR ***kk*k%* EXERCISER VAL 0A ACTUAL VAL 200K TRAP MNEMONIC 17DF UNALIGNED DST Example 6-22 ESKAX Test 6-22 1, Subtest 5, Error 4 Interpretation of 1. 30 is 2. A type 3. The the of position The the hex under 6-22 compatibility mode code caused 4. Example 6 of is the on the expected. stack. destination address on a boundary failure. equivalent test pushed TRAP vector is of 17DF the octal code (this translates VALUES are for the instruction to @13737 in PDP-11 code) . 5. EXPECTED and ACTUAL self-explanatory. NOTE On Subtest 6 R4 JSR R4, Typical trap neither SRC nor -- performs This with a subtest register destination, checking of illegal i.e., or RS Messages CPU PASS 1 TEST HARD ERROR TRAP INCORRECT CLUSTER 1 TYPE 30 5 EXERCISER SUBTEST WHILE VECTOR 6 TESTING CODE ERROR CPU: EXPECTED -- 9.0 3 19-JUN-1977 PSL PSL 6-23 ESKAX Test 1 HARD ERROR TRAP INCORRECT TEST 1 SUBTEST WHILE VECTOR TYPE 30 5 TESTING CODE 6 ERROR CPU: EXPECTED 3 PSL PSL 83CO0000 Example 6-24 1, PSL Subtest 9.0 6-23 INSTRUCTION TRAP MNEMONIC p044 JMP R4 6, 19-JUN-1977 FROM 3 21:36:43.64 ILLEGAL ACTUAL 1, Error kkkkkkkk PSL 83000000 ESKAX Test 21:36:32.03 ILLEGAL 83D000P0D CPU CLUSTER EXERCISER -- PASS FROM kxkkkhkk ACTUAL 83C00000 Example kkkkhk*k Address should change, since should not go to Error kkkhkkkk 0dd DST initial values the instruction completion. instructions JMP an Subtest INSTRUCTION TRAP MNEMONIC 39045 JSR 6, Error 3 (R5 DST) Interpretation of Example 6-24 1. 30 2. A type code 3. The instruction that failed was the JSR R4, RS5. 4. The hex is 5. is the vector of 5 expected is equivalent to pushed for on field the the stack. the octal TRAP. code of this instruction @965. EXPECTED and ACTUAL PSLs are self-explanatory. ESKAX@2 (test 1) is executed in the user mode for test purposes. However, the module is serviced in the kernel mode, and control is returned to the kernel mode on completion of the module. The operator should note that testing of the T-bit operation with servicing done in the compatibility mode has not been covered. 6-24 6.3.2 First Part Done Test (ESKAX@4, Test 2) First Part Done (FPD) is the name of bit 27 in the PSL. It provides a facility for interrupting certain potentially 1long executing instructions during processing and resuming them later. Only a few instructions are interruptable in this sense. Most instructions acknowledge interrupts before their execution, or acknowledge them in mid-operation by backing up to the beginning and pretending that they have not yet started. A few instructions, however, are potentially so lengthy that this is not feasible. These are the character and decimal string instructions, POLYF, POLYD, and CRC. Each of these instructions writes a control block into the general registers. Should an interrupt be requested during processing, the current state of the operation (i.e., what it is doing and how far it has gotten) can be saved in this control block to be retrieved after the interrupt is processed. The instruction then sets FPD in the PSL, and acknowledges the interrupt. Upon return from the interrupt, the FPD bit is set in the PSL, so that rather than restarting, the instruction restores its state from the point at which it was interrupted. 6.3.2.1 Possible implementing restore a the First state anywhere fault) and operation in Part Done Failures FPD capability must it does anywhere some it cases able -- to for interrupts. complex, and it The microcode correctly save a memory reference checks is be 1s and (which may cause The state possible of the that the microcode does not save or restore everything correctly. If the instruction is later resumed, the state of the machine e.g., 1in the form of contents of general registers, may well have been changed by the instructions executed in the interim, and will thus be incorrect. This will cause unpredictable results, most likely in the form of incorrect data written, wrong lengths and wrong condition codes, and will be easy to detect. The instructions may also and failing registers to are instruction. checking still set FPD. used This fail This as by saving would arguments condition will the interrupt routine clear, the original arguments 6.3.2.2 First Part Done Test in be in state normally to (perhaps appear the are modified restarting detected make correctly) when in certain the that of the test by if FPD is timer is unchanged. Procedures —- The interval used to generate interrupts during the testing of each instruction, in order to check the microcode and the taking of interrupts. Although each instruction is interrupted constantly during execution, After having it been is eventually tested with run to completion. interrupts, the instruction's ability to handle page faults is tested. An instruction may have up to six operands; twelve pages are set up to hold them, allowing each operand to be placed near an independent page boundary. When the instruction begins execution, each page is 1invalid. As it attempts to access its operands, 6-25 the instruction 1is repeatedly faulted. Each fault validates the page referenced, so that the instruction progresses, but this alone does not ensure that it is tested fully. As each page is referenced (and faulted) the first time, all process only As the tests once, an other all the test example, pages the holding cases. operands Since each instruction manages consider the testing are page to of made has a invalid. first This reference finish. an instruction with two string operands and instruction accesses one non-string operand in which the the non-string operand first, and then processes (e.g., the strings CMP3). First, the non-string operand is referenced, faulting the page containing it. Upon restart, the instruction fetches the non-string operand without problem, and begins processing the strings. Since each operand is located just before a page boundary, the strings will cross the boundaries. As the instruction progresses, it will attempt to reference the first page of the first operand, the first page the second page of the first operand, and of the second operand, the second page of the second operand. Because faulting in a page signals the test to invalidate all the other string 6-6. Page of 1 references and validations Table Page Faulting with Page 2 6-6 Page 3 Page for the first time pages, however, the proceeds First as shown Part Done in Table 4 I I I I ;All the FAULT I I I ;The first \'4 I I I I FAULT I I ;and ;The is made valid. first page of operand \' I ;faulted ;Page ;3 is \' I FAULT \" \" I I I I I I \' \' I I FAULT \'4 \' \' \' \" I FAULT I I I \' FAULT I I I \'s \" I pages start page in, is and invalid. faulted the rest 2 is out. 1 is refaulted, and page left valid. ;String 1 processing reaches ;page 2, all others faulted. ;Page 1 is not needed now, but ;Ppage 3 still is needed. ;String 2 reaches 1its second ipage ;faulting page 4 for first ;time. I I FAULT \' I I \'; A ;Page 2 is still needed, ;is faulted back in. I \' I \'4 ; The instruction CITS routines The first part done test execute, and check instructions to test, the and uses the results the data is completed. set up, of instruction tests. with which to test them, The are stored in a table. The table entries they begin as shown in Table 6-7. 6-26 and are of to variable help length, and Table «.BYTE 0 .BYTE 2 @ .BYTE .BYTE 7 .BYTE g The 6-7 First Part Done Test Table Entries ;the op code of the test instruction ;the op code's complement ;initial condition codes ;resultant condition ;operand specifiers faulting Section uses codes the Interface communicate with the exception and of the IDB is shown in Table 6-8. Table 6-8 First T-Bit Exception Count Subtype PSL of exception PC of of User Block handler. Done Format Part IDB and (IDB) The to format State Bits exception PSL of PC Data interrupt latest latest T-bit service Number of T-bit trap trap routine arguments address (zero) The service routine address points to the code that implements the faulting algorithm. The exception type and subtype are loaded with the values for translation-not-valid faults. This test Control also Block interfaces (TCB). Table 6-9 The with TCB First the format Part CITS is Done routine shown TCB Test Unused Exception Subtype Operand 1 address, or 0 Operand 2 address, or @ Operand 3 address, or @ Operand 4 address, or 9 Operand 5 address, or @ Operand 6 address, or @ 6-27 through Table General Current Table in 6-9. Format Address T-bit trap a Test The current The TCB instructions. table test Table 6-10. Table 6-18 First Part Done TCB Passed to test table of is shown CITS_REDECODE to and CITS DECODE to passed the into points address in ’ CITS DECODE TCB: TCB_INST ADDR: . LONG /) ;current @ ;unused TCB_T BIT: TCB_SUBTYPE: TCB_EXCEPTION: .BYTE .BYTE .BYTE g @ /) TCB_OPERANDS: .BLKL 6 Typical Error ;optional operand addresses Message *xkkkkkkk ERROR TESTING WHILE 19-JUN-1977 ERROR 212 SUBTEST # TEST 2 PASS 1 ' CPU CLUSTER EXERCISER -- 9.0 *hkkkhkk HARD .BYTE test table address ;trace trap expected flag ;exception subtype ;expected exception vector CPU: An unexpected 21:41:22.03 of type fault occurred. Fault code Referenced address PC PSL goo0s0000 @PB1F7F8 g00@33DDY 00000 0EB Table Test number case 1 1 TCB's address Test table address Current entry address @o08a8F9C paaaoATC g@eaeATIC Example 6-25 Interpretation of ESKAX Test 2, Subtest @, Error 212 Example 6-25 The printout is representative of the first part done test, which interfaces to the CITS portion of the program for its data pool as follows. 1. This test format interfaces is shown with CITS in Table 6-10. through the TCB whose In this example, the first address of the TCB is 8F9C. current test The starting address longword of the 2. table The TCB) of A7C. 6-28 the address (which 1is test table within is given as A7C. the first CITS is 3. CITS contains number of a number cases (or of distinct Table 1 represents BASE Table 2 represents DECIMAL Table Table 3 4 represents represents A summary First of Done are using FP We b. The C. We d. The address for DATA CASE The address of the €. Table DATA execution is Table 6-10). f. Examination CURRENT of the from of CASE this contains for so our table is far on the data. A7C. 1 is (whose next ADDRESS concerning A7C. BLOCK format n guiding is locations this shown starting (in this the instruction case A7C) in with the will under test above give test as lst byte is the op 2nd byte is the op 3rd 4th byte byte is is the the INITIAL condition code (N,Z,V,C). RESULTANT condition code (N,Z,V,C). The next n bytes The number instruction a where: 1. follows: 4. CITS CONTROL B8F9C ENTRY information 1 address using table data) presented follows. a. are of instructions information Test starting each pieces instructions EDIT PC instructions FPA instructions the Part tables; code of the test instruction. code's complement. represent of operand under test. operand specifiers. specifiers depends on the The starting address of the area where the test instruction is placed (residing) while undergoing test is the PC of 3DD@. 6-29 A Second Error Message **kk&¥¥a kkkk%k%%* CPU CLUSTER EXERCISER -- 9.8 Fault Code Reference address PC PSL Po000000 @PPL1FFF8 90@83DDO PP3O30EB Table number Test case 1 1 pASS 1 TEST 2 SUBTEST # ERROR 213 19-JUN-1977 21:41:22.03 HARD ERROR WHILE TESTING CPU: Page fault on non-test instruction. TCB's address Test table address Current entry address @e008F9C gaeaoeATC 00008 BATC Example 6-26 ESKAX Test 2, Subtest @, Error 213 Interpretation of Example 6-26 The REFERENCE ADDRESS of 1FFF8 represents the address which caused the FAULT CODE of #@. The breakdown of the FAULT CODE is as follows: Bit Position Meaning ) g = 1 = 1 1 = 2 @ = 1 = translation not valid access control violation fault occurred during virtual reference to the PTE of the stored process virtual address read access write or modify access begins by setting up the test The interrupts portion of the testCITS routines named CITS DECODE instruction and data, using the and CITS_SETUP. PSL of the test CITS_SETUP returns with the PC and initiala copy of the test test saves instruction on the stack. The ess may progr its instruction's PC and general registers, So that val timer service be observed. Then the test jnitializes the inter routine. 6-30 It then sets up instruction, Since the a timer which state is of interrupt and interrupted the executes an REI to the test immediately. instruction is contained in the registers, if they are unchanged since the previous 1interrupt, the instruction has not progressed. This condition results from interrupting too soon. In this case, the interval timer is increased, and the test instruction is resumed. In the other instruction Next, a modify case, has when divide-packed the state the instruction wait time, When the checked of test interrupts test instruction and There are Class 1 -- Unexpected Class 2 -- Exception begins. four the instruction any errors instruction internal test. and Once general instruction any under started, and the progressed. are classes is in that The timer instruction has been then set is changed, an might up the attempt to be used by for the new results are resumed. completed, been tried, selected, errors that exceptions or executed registers test have 1is of is have the reported. faults table registers or interrupt the and may next the entry testing in of the that occur. interrupts. identifier reports, which simply state ERROR IN These occur testing TEST of CASE NN. when an an exception instruction, and or interrupt they the exception report. They exist the test in the exception test errors Class 3 case -- instruction tested in which Instruction testing. ESKAY®@5 are solely occurs immediately to inform the during the followed by operator of occurred. describe incorrect results from The instructions tested are a subset of those TESTOP4 and ESKAY@6 TESTHAS5, so that the instruction test errors are identical between those tests and this test, ESKAX@4 TEST@2. This data is 6-31 in module ESKAX@3 FPD DATA. Class 4 —- These errors are first part numbers 208 through done specific (Example 6-27). They have error specific information, The interpretation of 209. Each reports the table number, and the test table numbers is as follows: Table Number Meaning 1 Floating-point test case error number. table Decimal string test table 2 3 EDITPC 4 Floating-point test (Executed table test with table FPA enabled if an FPA table to exists) The test indicate case a single kkkkkk*** PASS 1 HARD ERROR number indexes into —- 9.0 2067 . CLUSTER EXERCISER 2 SUBTEST #§ WHILE appropriate test. CPU TEST the TESTING ERROR CPU: **kkkki . . EXPECTED . . TIMER INTERRUPTS DIDN'T OCCUR. VALUE PASSES -30 TABLE NUMBER TEST 1 CASE 115 TCB'S ADDRESS TEST 18E0 TABLE ADDRESS CURRENT 9F6 Example OF6 6-27 ESKAX Test 6.3.3 SBI Verification Module The verification SBI diagnose faults on will differentiate caused by isolate the selection a of nexus. the ENTRY ADDRESS test the SBI between The is 2, Subtest (ESKAX@5, error to Test Error 207 3) and partially nexus connected to it. Error reports faults on the SBI proper and faults appropriate designed @, printouts repair problenmn. 6-32 exercise will 1level serve as diagnostic guides to to further With the will be exception of the reproducible via mode For 1interval timer asynchronous operation of interrupts from the interactive looping. the setup subtest, errors interactive mode, due to the exerciser, only errors introduced are guaranteed from further to by be reproducible. Note that the point test failing of before devices failure. UBE verification - SBI - - that MBA or test checkout nexus - the failing The SBI checkout, or the for deselected that MBE checked are This means is -- can -- MBEs or of the composed UBEs testing UBA fails attached UBA checkout SBI can sustain and that interrupts following configuration Verifies data SBI can sustain and that interrupts that occur data each transfers MBA checkout -- Verifies are not parts. register of each at the that at the UBA incurring proper each transfers occur selected without on the errors BR level. selected MBA without incurring proper BR level. on the errors SBI interaction -- Verifies that all UBAs are capable block data transfers in a controlled sequential mode operation. capable of completion MBE sustaining without checkout selected that data are and interrupting SBI Checkout on all transfers existing and UBEs of of are interrupting on errors. -- Verifies MBAs at in a accessed. UBE checkout -- Verifies 6.3.3.1 an MBA or UBA. Verifies be if that capable of all existing sustaining completion without Subtest —-- The SBI data MBEs for transfers errors. checkout subtest will perform reads and writes to the configuration register of each nexus on the SBI as defined by the hardware P-Table. This subtest will set up the Hardware Interrupt Request Table (HIRT), which will contain an entry for each UBA and/or MBA responding to a read of its configuration/status register. This table will be used by all subtests within the SBI verification test. A nexus that does not respond will not be entered into the HIRT and, therefore, will not be used in the following subtests. No response from a nexus is treated as an error. 6-33 The SBI checkout subtest uses check the validity of the receiving nexus on the SBI. The primary with a manner purpose of this the CPU silo comparator register to commands and responses from the subtest is SBI. will detailed check of that error information the the It provide isolate printed selection of the proper diagnostic, further isolate the fault. ~ to will which the field faults in aid may user such a the user in the then be run to Silo Compare Servicing -The silo compare service routine will read back the SBI silo and compare the contents with the arguments supplied in the 1IDB (interface data block). Null cycles between command issue and read reply are checked for continuity of function, i.e., TR 1lines not continually asserted. No checking will be made for the number of null cycles. On completion status set and the stack if it interrupt compare A return causing of register on is silo be read back, the checked for clear. appropriate information is set. The fault bit silo register this the will then compare will be made routine will bit The in error will be placed will be reset be the CPU SBI flag will be on the if set. cleared and the invocation of the SBI error The silo cleared. to to bit fault the be point executed. 6-34 of interrupt 6.3.3.2 UBAs UBA Checkout that exist in checkout subtest. Each will UBA access from memory space. This subtest 1. 2. be the set SBI will DDP and to and check the correct 3. The map 4. Purging 5. A data can be operates to are a being can be only be qualified wraparound will be by mode run for the SBI so that into SBI result in mapped UBA capabilities. operational. initiated by the accessed. accessed adapter and and used correctly. correctly. nonexistent error been space following vector registers in memory paths subtest will have operate Unibus Interrupts read up BDP1l —- This HIRT to the correct Subtest the sequence Unibus and memory space causes the interrupt. The subtest will autosize the Unibus memory and set the map register disable portion of the Unibus Adapter Control Register (UACR) for use by other subtests within the SBI verific ation test. Faults to detected within this subtest will cause the disqualified from further use by any other SBI verification test. be the UBA Interrupt Servicing -Adapter are serviced by this Interrupts routine. generated UBA under test subtest within by Unibus the The routine will compare the configuration regist er and the Unibus Adapter Status Register (UASR) with arguments supplied in the Service Data Block (SDB). If there are any differences, they will be pushed on the error stack and the error flag will be set. For an invalid map register type interrupt, the failed mapped entry register will be SSYN timeout, the with the The AEIL the transfer vehicle IPL level which SDB compared failed entry. (Additional at with the Unibus SDB address entry. Also, register will for be a Unibus compared Exception the or Interrupt Longword) is used as indicate to the interrupted program the interrupt occurred. to 6.3.3.3 MBA Checkout Subtest - This subtest is run only on MBAs that exist in the HIRT and have been qualified by the SBI checkout subtest. Each MBA is set up to operate in maintenance 6-35 mode. This subtest checks the following MBA capabilities. 1. Initialization interrupts. clears registers and - does not cause 2. DT BUSY can be set and causes no interrupts. 3. PGE can be set and causes an interrupt. 4. Read and write transfers operate correctly; on completion of data read transfer, DONE is set and causes an interrupt. MBA under test to be Faults detected within this subtest cauée thesubte st within the SBI disqualified from further use by any other verification test. MBA Interrupt Servicing -- Interrupts generated by the Massbus adapter are serviced by this routine. This routine compares supplied in the SDB. the status register with an argument a indicate If there are any differences, the SDB + 2 will be set to appropriate error and the error information will be put into the slots in the Master Control Space (MCS). 6.3.3.4 up for SBI Interaction Subtest —-- After the UBAs are set types are wraparound operation, the following data transfer initiated. 1. 2. 3. 4. 5. read word write byte write word modify byte modify word the 6.3.3.5 UBE Checkout Subtest -- This subtest determines adapter number and location of Unibus exercisers for each Unibus the UBE ed, detect are faults no If and checks each as it is found. is entered in the HIRT and the qualify bit will be set. Only qualified UBAs are used during this subtest. If none exists, the subtest will be skipped. UBAs are set up with two map registers pointing to SBI memory space. One map uses the Direct Data Path (DP@) and the d.other uses buffered Data Path One (DP1l). All interrupts are enable Autosizing exerciser. is used to determine the location of a Unibus 6-36 Each exerciser is checked for l. ability to execute 2. ability to the following DATO, interrupt at DATI BR two capabilities: functions, levels 4 through 7 following a function. If any of in the HIRT. UBE the above Interrupt address Servicing are passed If bit interrupt handler. four functions. 1. conditions In 31 3. in the the from UBE the BRRVR the master value read, is not and BRRVR entered UBA base exception and then the following call routine. 15 (error error type set of the routine performs the Examine bit the met, contents test address from BRRVR value. control registers, the error bit) of vector CR1l. information CR1 flag. the and Clear CR2, If and on the the error bit. supplied the in the bit 1is set, contents of the stack and error Return. MBE Checkout 6.3.3.6 is present Each set not Derive the UBE low word of the push 4. The the addition, is UBA service 2. -- into is Subtest —-- This subtest determines if an MBE for each MBA that has been previously qualified. exerciser 1. read 2. write Additionally, will be checked for the following: transfers transfers. the MBA is checked for whether 1. Attention 2. Massbus exception can be set which causes an If any of the in the HIRT. can above be set which conditions is 6-37 causes not met, an interrupt. the MBE is interrupt. not entered Typical Error *k%%kkxk* PASS 1 Messages for the SBI Verification CPU CLUSTER EXERCISER —- 9.0 TEST 3 SUBTEST 2 HARD ERROR WHILE TESTING ERROR UBA: 14 Module: **kkxkkk% 19-JUN-1977 21:53:25.06 INVALIDATED MAP REGISTER ACCESS ' ERROR: DESTINATION OVERWRITTEN ADD ACCESS NEXUS 201009F8 *kkk**%x* 1 MR 60006000 Example PASS ADD 6-28 ADD FUNC EXP 60006819 WRITE 25255252 ESKAX Test ADD TEST 3 SUBTEST 3 ERROR ACCESS NEXUS ADD EXP 60010000 Example kkkkhhx %k 1 Error 18 21:57:03.12 MBA WRITE 6-29 DATA ACT [ESKAX Test Subtest CPU CLUSTER EXERCISER -- 9.0 TEST 3 SUBTEST 3 ERROR 4 DATA po0082400 3, 3, Error 4 kkkkkkkk 19-JUN-1977 21:57:13.07 MBA WRITE RESULT ADD ACCESS NEXUS ADD EXP DATA ACT DATA 60012400 60012000 0002000 00003000 Example 6-38 ESKAX Test 6-38 3, Subtest ‘3, Error DATA 24255252 **%xkxx% 19-JUN-1977 Po002000 HARD ERROR WHILE TESTING MBAl: ERROR: 4 2, ACT RESULT 6001049 PASS Subtest CPU CLUSTER EXERCISER —- 9.@ HARD ERROR WHILE TESTING MBAg: ERROR: 3, DATA 4 Interpretation of Example 6-28 These printouts l. are typical of ESKAX Test The nexus address is 60006000. the UBA. physical connection to the 2, A SBI. where: nexus In is defined this case the as nexus a is Since the SBI deals in 30-bit addresses, 18-bit Unibus addresses must be translated to 3@0-bit SBI addresses. This function is performed by the Unibus adapter through one of Table the 496 UBA memory map Table 6-11 1 2 3 800 804 848 8@C 4 810 495 FBC . FC@ . example of FFC given, the address the MR ADDRESS (using Table is 600606818. 6-11) tells working with the map register for Unibus memory, One 512 bytes. Unibus memory page equals 4, Each UBA physical has an starting associated Unibus address as follows: UBA Number Physical ] 20100000 1 20140000 2 3 20180000 201C0000 From 5. 6.3.3.7 The underlined us that we are page 4. The function performed was a write. 3. UBA in Reserved . . the shown Offset from the UBA Base Address 2 In as Unibus Adapter Map Register Address Offsets Unibus Memory Page portion registers, 6-11. # Example 6-28 under test. EXPECTED and Memory Verify the Starting ADDRESS ACTUAL with is 2010@9F8, a indicating self-explanatory. (ESKAX@6 TEST@4) 6-39 space Address ACCESSED DATA are address —- Not yet implemented. 6.4 ESKAY 6.4.1 Interval (ESKAY@2 TEST@1) This module interval exerciser tests 1Interval Subtest 1 register can Typical Error -- k*k*kk** 1 HARD and the interval Day Clock timer Verification and the day timer is used extensively throughout package during interactive operation. 6.4.1.1 PASS Timer Timer The be enable cleared. and bit in ERROR 1 the SUBTEST WHILE Example 1 ERROR TESTING 6-31 2 CPU: ESKAY 18-JUN-1977 INTERRUPT 06:38:085.10 ENABLE A transfer Typical 1 TEST HARD ERROR *kkkkk** 1 HARD ERROR COUNT CLUSTER 1 Subtest of bit the is next read as @ is EXERCISER Error BE 2 register also SUBTEST 2 ERROR —— 9. to in a the performed. 1 18-JUN-1977 ****kk*x TESTING CPU: XFER BIT STUCK Example 6-32 ESKAY Test 1, Subtest TEST 1, interval WHILE CPU PASS 1, CAN'T Messages CPU PASS contents the Error **%%k%%k* Test BIT subtest checks that the transfer bit (bit @4) status register can be set, thus activiating register. that status This transfer of the current interval check control ***xxx## CLEARED Subtest 2 -the control The cluster Message CPU CLUSTER EXERCISER —- 9.0 TEST clock. the Functions interrupt set Module CLUSTER 1 EXERCISER SUBTEST WHILE 2 TESTING ERROR CPU: AT 2, —- 9.0 2 18-JUN-1977 XFER FROM 6:39:58.61 1 Error 1 ****kkk* NEXT @#6:39:58.61 INTERVAL TO 2, 2 INCORRECT Example 6-33 ESKAY Test 6-40 1, Subtest Error INTERVAL Subtest 3 -- The single clock bit (bit 5) in the control status register can be set, thus causing the current interval register to advance by one. The test also *kkk*k%x* checks that CPU CLUSTER PASS 1 HARD ERROR TEST 1 3 TESTING PROPERLY Example Subtest 4 -the current read/write next single EXERCISER SUBTEST WHILE the 6-34 ERROR CPU: ESKAY unit comprised register, bit is —— 9. 2 18-JUN-1977 SINGLE Test This test floats a interval register. interval clock 1, read the current Typical interval in the CLOCK @6:43:14.82 BIT Subtest 3, NOT Error *kk*k*k** Error PASS 1 HARD ERROR COUNT REGISTER EXPECTED 2 through a field of zeros in medium of transfer is the of the current interval register and the respectively. Since the next interval it interval is possible register is detected in the failure that register. Message CPU TEST FUNCTIONING one The register, next zero. Akkkkkis register is write-only, only the current interval checked at the end of the transfer. If a failure is originated as CLUSTER 1 SUBTEST WHILE RESULT 00000004 EXERCISER 4 ERROR TESTING CPU: RECEIVED RESULT —— 9.0 1 18-JUN-1977 ADJACENT Q0000006 Example 6-35 ENTRY *kkkkkk# PIN ©£6:44:31.89 STICKING IN INTERVAL VALUE 200000084 ESKAY Test 1, Subtest 4, Error 1 Interpretation 1. 2. The ENTRY into the The EXPECTED content be 3. The after VALUE of 00000004 represents the interval register (hex 19). next of RESULT the the RECEIVED of current transfer RESULT is @@@@0004 interval is represents register complete. self-explanatory. 6-41 value (hex loaded what 1A) the should Subtest 5 -- This subtest checks the carry bits of the current interval register. This is accomplished by preloading the next interval register with the value to force the carry, transferring this to the next interval register, and then single-clocking to force the Typical carry expected. CPU CLUSTER EXERCISER —— 9.0 xkk**x**% TEST 1 PASS 1 HARD Message Error SUBTEST 5 WHILE ERROR PROCEEDING PROPERLY ERROR 1 CPU: TESTING **kkkiks 18-JUN-1977 INTERVAL TIMER EXPECTED RESULT RECEIVED RESULT ENTRY VALUE 00000002 00000001 Po000001 Example 6-36 TEST 1 PASS 1 ERROR HARD PROCEEDING SUBTEST 5 WHILE COUNTING NOT ESKAY Test 1, Subtest 5, Error 1l CPU CLUSTER EXERCISER -- 9.§ kk%kk*kx* £6:45:50.65 ERROR 1 TESTING CPU: **¥**&x% 18-JUN-1977 INTERVAL @6:45:50.65 TIMER COUNTING NOT PROPERLY EXPECTED RESULT RECEIVED RESULT ENTRY VALUE p0000004 00000003 g0000003 Example 6-37 ESKAY Test 1, Subtest 5, Error 1 Interpretation of Example 6-36 1. The ENTRY VALUE of 00000001 represents the value loaded 2. The EXPECTED RESULT of 00000002 represents what the content of the current interval register (hex 1A) should be after the transfer is complete and the single clock into the next interval register (hex 19). bit has been ticked once. 3. The RECEIVED RESULT is self-explanatory. 6-42 Subtest 6 status register -- This subtest will checks set in register overflow serviced. occurrence The are error messages kkkkkkkk PASS 1 that the before HARD ERROR OVERFLOW 1 SUBTEST WHILE Example kkkkkkkhk 1 HARD ERROR TEST 1 of bit in the a current pPrevious interrupt 6 ERROR TESTING 6-38 ~-- 9.0 1 18-JUN-1977 CPU: control interval has been ESKAY SUBTEST 6 2 #6:53:13.11 REQUEST NOT l, 6, 1 Test ERROR Fhkkhkkk INTERRUPT CPU CLUSTER EXERCISER -- PASS a error self-explanatory. CPU CLUSTER EXERCISER TEST the case Subtest 9.0 TESTING CPU: ERR NOT Example 6-39 ESKAY Test 1, SET ON khkkkkdk 18-JUN-1977 WHILE Error SET FROM Subtest #6:53:13.11 UNSERVICED 6, OVERFLOW Error 2 Subtest 7 -- This subtest checks the run bit of the control status register with the interrupt enable bit not set (i.e., a check of no interrupt capability). Typical Error **kk%kxk* Message CPU PASS 1 HARD ERROR TEST CLUSTER 1 EXERCISER SUBTEST 7 ERROR —- 9. 3 18-JUN-1977 WHILE TESTING CPU: ERR BIT Example 6-4@ ESKAY Test 1, Subtest SET **kkkkkax -- Subtest @6:53:13.11 SHOULD 7, NOT Error BE 3 8 -- This subtest checks the run bit of the control status register with the interrupt enable bit set, a check of interrupt capability. A check is also made to verify that the interrupt is enabled at IPL 24 (hex 18). 6-43 Typical Error Message CPU CLUSTER EXERCISER -- 9.0 kkkkkkhk PASS 1 ERROR 2 SUBTEST 8 TEST 1 khkkhkkk #6:55:56.48 18-JUN-1977 HARD ERROR WHILE TESTING CPU: INTERRUPT OCCURRED AT OTHER THAN IPL 24 IPL WAS 18 Example 6-41 ESKAY Test 1, Subtest 8, Error 2 Interpretation of Example 6-41 The 1. IPL WAS would indicate IPL at what interrupt did occur (if other than IPL 24). 6.4.1.2 Day Clock Function Typical Error Message the level Subtest 9 -— This subtest checks the ability of the timeso.of day register to advance from a known state, given 20 ms to do CPU CLUSTER EXERCISER —- 9.0 *kkk*k*** PASS 1 TEST 1 SUBTEST 9 ERROR 1 **X**&¥ix $6:58:26.79 18-JUN-1977 HARD ERROR WHILE TESTING CPU: TIME OF DAY CLOCK NOT INCREMENTING Example 6-42 ESKAY Test 1, Subtest 9, Error 1 time of day Subtest 16 -- This subtest checks the ability oftwothediffe rent and register to accept a back-to-back loading of ' unique values. Typical Error Message xk%%%k%%x%* pASS 1 CPU CLUSTER EXERCISER -— 9.0 TEST 1 SUBTEST 14 ERROR 2 ***xx&x% 18-JUN-1977 ©£6:59:43.78 HARD ERROR WHILE TESTING CPU: DOUBLE LOADING OF TIME OF DAY NOT CORRECT EXPECTED RESULT AAAAAAAC ‘ RECEIVED RESULT 1ST LOAD 2ND LOAD AAAAAAAA 55555555 AAAAAAAA Example 6-43 ESKAY Test 1, Subtest 10, Error 2 6-44 Subtest 11 -- This subtest the time of day register. Typical Error **kk*%kx* 1 HARD ERROR TEST CLUSTER 1 EXERCISER SUBTEST WHILE 11 TESTING RESULT RECEIVED FFFFFFFE —-- ERROR CPU: REGISTER EXPECTED for any stuck-at-zero Example 6-44 9.f 1 RESULT PIN ENTRY 67:80:30.34 STICKING IN TIME Test 1, Subtest 11, Error Subtest 12 -- This subtest checks the Carry bits of register. This is accomplished by preloa ding the register with the value to force the Carry, and then Carry bit in approximately 14--15 ms. PASS 1 HARD ERROR WHILE 1 EXERCISER SUBTEST 12 TESTING RESULT —— ERROR CPU: RECEIVED P0000002 9.0 2 Interpretation 1. 2. of TIME OF RESULT of day expecting a DAY @7:85:82.22 COUNTING NOT ENTRY ENTRY into the The EXPECTED 14 The ms Test Subtest of #@0000081 is of day register. RESULT of be in after the initial RECEIVED test VALUE 12, Error is initially 2 6-45 to In addition, the day register. 1, VALUE time PROCEEDING 00000001 ESKAY Example The expected 3. 6-45 of time ***xxxx 18-JUN-1977 P0000001 Example time 1 the PROPERLY EXPECTED DAY FFFFFFFD ESKAY CPU CLUSTER OF VALUE day TEST in *kk*kkk# 18-JUN-1977 ADJACENT FFFFFFFF kXk*%**%* bits Message CPU PASS checks the time RESULT is checks for what 00008082 of day is the register load. final loaded wvalue approximately sel f-explanatory. stuck-at-zero 6-45 bits in the time of Logic, Arithmetic, 6.4.2 (ESKAY@3, Test 02) This module tests the Field and integer Instruction arithmetic, Test Module and field logical, are. CITS performs all instruction microcode and associated hardw rns, of the functional control, building expected datathepatte ts. resul executing the instructions to be tested, and checking The following two printouts are typical of error reports coming from this test. One shows a result PSL error. a. The second shows incorrect operand result contents. khkkkkkk CPU CLUSTER EXERCISER -- 9.0 *hkhhkkk b. PASS 1 TEST 2 ERROR 1 SUBTEST 1 6-AUG-1978 11:34:41.92 HARD ERROR WHILE TESTING CPU: INSTRUCTION TEST ERROR 2 ERROR IN TEST CASE NUMBER: 1 ? RESULT PSL ERROR EXPECTED ACTUAL GOOBOBES g00000E]L INITIAL CONDITIONS: PC 00@#@4958 PSL 0Q000BQEF OP CODE -- 90 WITH REGISTER INDIRECT OPERANDS INITIAL REGISTERS R@--R6: RO @O0 OAED A | R1l @@0@BAEBD R2 Pe000000 R3 00000000 R4 go000000 R5 00000000 R6 00000000 SOURCE OPERAND DATA: OPERAND 1 @5 Example 6-46 ESKAY Test 2, Subtest 2, Error 1 6-46 kkk%kkk** CPU CLUSTER PASS 1 HARD ERROR WHILE TEST ? ERROR ? INCORRECT IN 2 TEST EXERCISER SUBTEST TESTING CASE RESULT, CPU: OPERAND ACTUAL 00004300 p0004304 00000000 00000000 9. 31 ***kkkk* 6-AUG-1978 INSTRUCTION TEST 000P46FA OP CODE 2 -- PSL 6C OOOOBOOEF WITH REGISTER INDIRECT OPERANDS CONDITIONS: POOBAEGL R1 000BAEBD R2 Po0B0000 R3 PPO0B000 R4 00000000 R5 00000000 R6 P0000000 OPERAND ERROR 31 RO SOURCE 11:35:27.25 CONDITIONS: PC INITIAL ERROR NUMBER: EXPECTED INITIAL 1 —— OPERAND DATA: 1 21 Example 6-47 ESKAY Test 6-47 2, Subtest 1, Error 31 Interpretation of Example 6-47 1. The op CVTBD instruction the defines 6C code under test as (you can know this by simply looking up the given op code on a coding card). The general format of this instruction looking at the code card) is as follows: The form of OPERANDS INDIRECT WITH REGISTER statement that the from dst.wy scr.rx, op code (again instruction being the tested indicates is CVTBD (R1). (Rg), NOTE All instruction testing is set up so that the first operand always uses R#, operand second initial The always uses uses R2, etc. conditions PC always operand R1l, third and PSL be should self-explanatory. The TEST CASE NUMBER of 31 shows nothing more than how far into the current test table we are, i.e., 30 instruction types were tested up to this point with no errors. intents and purposes, you can ignore this number. For all indication of INCORRECT RESULT, OPERAND 2 The error states that the final contents of the destination operand were wrong. OPERAND 2 is shown above as (R1l). The SOURCE OPERAND DATA of The INITIAL memory in REGISTERS use for the 21 R@--R6 is self-explanatory. specify instruction. In the this addresses case, in CVTBC (AE@4), (AE@D). NOTE R2 through R6 contain @s since the CVTBD instruction uses only two operands. Finally, the EXPECTED value of 43¢¢ and the ACTUAL value of 4304. If you examine the content of AE@D (/W) it should contain 4304. Example 6-48 is another form of printout similar to the preceding two examples with a twist. An unexpected exception occurred during the testing of an instruction. 6-48 kkkkkkkk CPU PASS 1 HARD ERROR WHILE ? TEST CLUSTER ERROR IN 2 SUBTEST TEST 6-AUG-1978 TEST 11:34:42.57 ERROR 1 EXCEPTION 00000001 00000 QAEB 00004933 INITIAL PC 1 INSTRUCTION CPU: NUMBER: 9.0 00000034 SUBTYPE# PC ERROR khkkkkkk%k -- 00000001 VECTOR# PSL 3 TESTING CASE UNEXPECTED ERROR# EXERCISER CONDITIONS: 000304930 OP CODE -- PSL 000OQAOED 8E WITH REGISTER INDIRECT OPERANDS INITIAL REGISTERS R@--R6: RO GO0 PAED 4 R1 @00 PAEGD R2 000006000 R3 00000000 R4 00000000 R5 00003000 R6 20000000 SOURCE OPERAND OPERAND DATA: 1 80 Example 6-48 ESKAY Test 6-49 2, Subtest 3, Error 1 Interpretation of Example 6-48 1. The unexpected exception occurred through VECTOR 34 (Paragraph 2.7 of the KA780 Central Processor Technical Description lists VECTOR 34 as the ARITHMETIC TRAP vector). 2. The SUBTYPE INTEGER of 1 informs OVERFLOW Processor Technical 3. The ERROR 1 is 1 printout 5. The rest Printouts 6.4.3 Not yet Branch, Floating-Point Test 5) and 5 check accelerated reserved KA780 was Central Queue those than a report. existing at the repetition of the as outlined for the two same breakdown applies). Test Module (ESKAY@4, Test @3) execution of are instructions. The for and both on the Test Module (ESKAY#8S5, Test 4; basic floating-point instructions and instructions. Arithmetic and exceptions also MULL2 test Instructions floating-point operand instructions 4 and condition the implemented. 6.4.4 ESKAY@®6, 4 of the printout is preceding (i.e., the CRC, the of Description). nothing more of the header ERROR the that 2.7 The PC of 4933 and PSL of EB are time of the exception occurrence. 4, Tests you (Paragraph tested. and pertaining Since MULL3, floating-point test 5. 6-50 the the FPA tests accelerator to floating-point takes part also check is turned in the these off for - Typical Error Messages for Test 4 kkk%**%% CPU CLUSTER EXERCISER TEST HARD ERROR Y 1 ERROR Y PASS RESULT 4 SUBTEST WHILE IN TEST PSL 1 TESTING ERROR CPU: CASE NUMBER: (ZZ-ESKAY) 2 —- 9.0 20-FEB-1978 INSTRUCTION TEST *ikkkkksx 11:26:00.00 ERROR 2 ERROR EXPECTED ACTUAL PO1FQOE3 @B1FO0E] INITIAL CONDITIONS: PC 00004429 PSL @O1FOOEF OP CODE -- 4F WITH REGISTER INITIAL REGISTERS INDIRECT OPERANDS R#--R6: R POBBACO4 R1 POGOACLOD R2 PEBOAC1C R3 P0000000 R4 00000000 R5 00000000 R6 go000000 SOURCE OPERAND OPERAND DATA: 1 00084080 OPERAND 2 000084080 OPERAND 3 PO000000 Example 6-49 ESKAY Test 6-51 4, Subtest 1, Error 2 *hkkkihk CPU CLUSTER EXERCISER PASS 1 TEST HARD ERROR WHILE ? ERROR IN ? RESULT 4 SUBTEST TEST TESTING CASE ERROR CPU: NUMBER: 7 -- ACTUAL PA1FABES POLFPOE4L 20-FEB-1978 INSTRUCTION TEST khhdhikx 11:26:00.00 ERROR 7 CONDITIONS: PC 00004695 OP CODE -- PSL 71 0Q1F@POEB WITH INITIAL REGISTERS REGISTER INDIRECT OPERANDS R@--R6: RO POBOACHA R1 POBOACL4 R2 00000000 R3 00008000 R4 PoB000000 R5 gaoavoso R6 00000000 SOURCE 9.0 ERROR PSL EXPECTED INITIAL 1 (ZZ-ESKAY) OPERAND OPERAND DATA: 1 go004080 PO000000 OPERAND 2 P000B4089 20000000 Example 6-50 ESKAY Test 6-52 4, Subtest 1, Error 7 k*k%*k*%* PASS 1 CPU CLUSTER EXERCISER TEST 4 SUBTEST 1 ERROR V) o HARD ERROR WHILE TESTING CPU: ERROR IN RESULT TEST CASE NUMBER: 24 —- 9.@ 20¢-FEB-1978 ACTUAL @O1FBOES PO1FOOED 11:26:00.00 INSTRUCTION TEST ERROR 24 CONDITIONS: PC p0P0@4873 OP CODE PSL @Q1FQQEF -- WITH INITIAL REGISTER REGISTERS INDIRECT OPERANDS R@--R6 RO AO0OACOH4 R1 POAOACL4 R2 g330AC1D R3 @09 OAC2D R4 0P BAC39 R5 00000000 R6 P00000600 SOURCE **kkkkkx ERROR PSL EXPECTED INITIAL (ZZ-ESKAY) OPERAND OPERAND DATA: 1 FFFE4FFF FFFFEFFF OPERAND 2 FF OPERAND 3 00004080 00000000 Example 6-51 ESKAY Test 6-53 4, Subtest 1, Error 24 A lengthy detailed description of this type of error report has been supplied in Paragraph 6.4.2. Using that description as a reference, interpretations of the preceding three error reports follow. Interpretation The of instruction ACBF Example being (R#), 6-49 tested (R1l), is (R2), displacement BREAKING DOWN FURTHER-ACBF (AC@4), (AC10), (AC1C), BREAKING ACBF DOWN 4?8@, limit Interpretation The of instruction CMPD Example source Interpretation Going through EMODD EMODD of a 6-50 is (R1) FURTHER-- (AC1l4) DOWN 4080, displacement index tested DOWN (AC@4, BREAKING CMPD fli addend (R@), BREAKING CMPD FURTHER-- 4?8@, being displacement FURTHER-- 4080 destination Example similar (R@), 6-51 analysis (R1l), (R2), integer, FFFEAFFF FFFFFFFF, fraction g00B4080 FF, P00000080, floatingpoint multiplier integer, multiplicand floating-point multiplier 6-54 extension fraction Error Messages for Test Typical kkkkk*** CPU PASS 1 HARD ERROR CLUSTER TEST 5 EXERCISER SUBTEST 2 WHILE TESTING CPU: ERROR IN TEST CASE NUMBER: ? INCORRECT TRAP (ZZ-ESKAY) ERROR 7 ? TRACE 5 -- 9.8 28-FEB-1978 INSTRUCTION TEST *kkkkiks 11:26:00.00 ERROR 7 PSL EXPECTED ACTUAL @O1FOOFS GO1FO0F4 INITIAL CONDITIONS: PC 00004695 PSL @O1F@OFB OP CODE -- 71 WITH REGISTER INDIRECT OPERANDS INITIAL REGISTERS R@§--R6: RO QBB OACO4 R1 POBOACL1 4 Ré po000000 R3 P0000000 R4 00000000 R5 P0000000 R6 00000000 SOURCE OPERAND OPERAND DATA: 1 00004080 po0000a0 OPERAND 2 00004080 000000080 Example 4-52 ESKAY Test 6-55 5, Subtest 2, Error 7 *kk*k*%* CPU CLUSTER PASS 1 HARD ERROR ? ERROR TEST TEST IN 5 SUBTEST WHILE TEST CASE ACTUAL FFF849FF PO0A3F80 PC: @@#009A87 RO 00004080 R2 0000C040 kkkxkikk CPU PASS 1 HARD ERROR ERROR TEST TEST IN WHILE TEST TESTING CASE ACTUAL 00004040 00004000 00000000 P0000000 PC: @0@@9B11 Rl 0000C000 R2 FFFF4D7F R3 (O0O0EGBD Example 6-54 20-FEB-1978 FLOATING NORMALIZE R@, R2, Test ERROR CPU: NUMBER: EXPECTED AT 8 ADD3 hkkkkkk# 11:26:00.00 SUBTEST R4 5, Subtest (ZZ-ESKAY) 8, -- Error 9.0 101 20-FEB-1978 FLOATING NORMALIZE 100 kkdkkkkk 11:26:00.00 SUBTEST 161 R@, ESKAY 9.f 108 EXERCISER SUBTEST —— 113 ESKAY CLUSTER 5 CPU: ADDF3 6-53 (ZZ-ESKAY) ERROR NUMBER: EXPECTED AT 8 TESTING Example ? EXERCISER R2, Test R4 5, 6-56 Subtes8, t Error 101 The interpretation given for Example Examples differ 6-53 from 1. and the Both 2. of Example 6-52 6-54 are standard printouts give operands, i.e., ADDF3 R2, R4 R2, R4 R@, ADD3 R@, The operand for CITS The data EXPECTED contents the the is 6.4.5 Operand that FLOATING listed directly data (R4, by in SUBTEST follows: instructions ACTUAL R4 NORMALIZE under test under the both cases already and TEST their AT reference definition, specifies Floating-Point Test operand). Specifier Dependent and PC the the (ESKAY®7, Decimal module string Strings Module (ESKAX@8, Test 7) tests the microcode and hardware used execution. Interpretation The to implemented. 6.4.6 This and of destination Test 6) Not yet similar printouts as statements. 3. is 6-47. error of Example for decimal 6-55 printouts coming from this test are designed like those of test 5. An overall interpretation has already been describe d in the test 2 writeup. Analysis ADDP6 should (R@), (R1), 1 with ADDRESSES 6.4.7 This DATA instruction (R2), addladdr 1 addllen OPERAND show the as (R3), shown test (R4), add2addr J add2len REFERENCED under to be (R5) sumaddr sumlen under indicated. INITIAL REGISTERS EDITPC Operators Module (ESKAY@9, module tests the EDITPC microcode and 6-57 Test 8) associated R#--R6 hardware. and Error Typical CPU CLUSTER EXERCISER (ZZ-ESKAY) #%%*%k%%* SUBTEST 2 TEST 7 PASS 1 HARD Message ERROR WHILE ERROR 26 TESTING CPU: INCORRECT TRACE TRAP 11:26:00.00 TEST ERROR 26 ? ERROR IN TEST CASE NUMBER: ? 20-FEB-1978 INSTRUCTION *¥*kkkiks —- 9.0 PSL EXPECTED ACTUAL PB1FOQF8 0O1FO0F0D INITIAL CONDITIONS: PC 00084585 PSL Q@lF@OFF OP CODE -- 21 WITH REGISTER INDIRECT OPERANDS INITIAL REGISTERS R@--R6 RO PP OACE4 R1l 000 OACOE R2 @gegoAC1B R3 POBOAC25 R4 PPABGAC35 R5 PO@OAC3F R6 P00000020 SOURCE OPERAND DATA: | OPERAND 1 26089 OPERAND 2 12, 56, 34, 78, 9C 77, 77, OPERAND 3 POOE OPERAND 4 ¢e, ee, oo, OPERAND 77, 77, TE 5 PO1F Example 6-55 ESKAY Test 6-58 7, Subtest 2, Error 26 Error Message Typical *kk*k%k* CPU CLUSTER PASS 1 TEST HARD ERROR ? ERROR ? RESULT 8 SUBTEST WHILE IN EXERCISER TESTING PSL CPU: —- PO1F@OES PO1lFOBE4 2@-FEB-1978 INSTRUCTION TEST 00008485A OP CODE 11:26:00.00 ERROR 48 ~-- PSL OO1F@OEB 38 WITH REGISTERS REGISTER INDIRECT OPERANDS R#--R6: RO PBOBOBACOA4 R1 00 PACOE R2 PP0OAC1E R3 POBOAC2F R4 00000000 R5 PoOAA000 R6 po0000080 OPERAND **&xkkxx CONDITIONS: PC SOURCE 9.0 ERROR ACTUAL INITIAL ERROR 48 TEST CASE NUMBER: EXPECTED INITIAL 1 (ZZ-ESKAY) OPERAND DATA: 1 PO00F OPERAND 2 oo, 090, 09, OPERAND 3 40, 43, 49, 00, 00, 96, 00, 6D 25, 94, 9F, 46, 106, Example 6-56 ESKAY 6-59 00 Test 8, Subtest 1, Error 48 Interpretation The error described of Example 6-56 printouts coming from in Paragraph 6.4.2. this test are designed like those Therefore, analysis should show the instruction under test to be (R3) (R2) , (R1), (R@), EDITPC- srclen pattern dstaddr srcaddr with ADDRESSES REFERENCED 6.4.8 shown under INITIAL REGISTERS R#--R6 and indicated. OPERAND DATA as Character String Instructions Test Module (ESKAY1@, Test 'git yet implemented. 6.4.9 Not Privileged Instruction Exception Test (ESKAYll, Test 10) implemented. yet 6.5 ESKAZ DESCRIPTION 6.5.1 Memory Management Test Module (ESKAZ@3, Test 1) The object of this test is to test memory management on a VAX-11/780 CPU. Memory management is that part of the CPU which checks protection on memory references, performs virtual to physical (with address the translation, modify unaligned data bit of monitors the references. page These updates table to functions are many different kinds of references to see that is reading or the correct defined as: contents of detecting a the the first codes) and The of and address test addresses a page, unaffected, failure, the test issues write failure to symptom the is under test, organized Valid that and surrounding expected in an unexpected six and tested data, if error fault, subsections, by M report wrong the bit required. data, each making Working leaving the the failure received memory resolves they work. setting faulting of and on Upon containing condition (instruction etc.). testing some area functionality. read and write -- The intent is to quickly verify the basic functions work. Longword aligned reads and writes are System). and (e.g., circumstances memory management 1. writing adjacent pages entry), performed This writing, space, modify process physical translation to each address performs address buffer bit. 6-60 space initial translation 1loading, (P@, checks of and in each setting Pl, and reading address of the Length register boundary checks References are made just before and just beyond each of the length boundaries to verify Page Table changes It length Entry boundary checks. (PTE) privilege modes makes code, the the references and combinations to to pages with access kernel, the PTEs both privilege checks. Size with PTE varied from combinations. IB references varying to the valid -- The quadword to - Page boundary checks -- The position of the access with are varied. attempts mapped combinations byte with make PTE 6-61 the super, with subsection and each user. access invalid, to size and of the tried with of respect combinations of This and size instruction protection -- exec, verify access is PTE the access and the to a page boundary -- buffer referenced This subsection references page. while 6.5.1.1 Memory Management Test General Flow Initialization -- Three buffer areas are requested from the supervisor, one each from P#, Pl, and system spaces. A control block (BVAS) is loaded with their addresses, and with the addresses of three other buffer areas, which are on the last page in each space. Execution of Subsections -- A loop selects and executes each of the subsections, as follows. 1. Select an SCC —-- The entry in the subsection description table associated with the current subsection is selected. It includes a pointer to a Setup Command Chain (SCC). There is an SCC for each subsection. The execution section includes six nested loops, varying access size, address space, and operand alignment. The SCC contains start and end limits for these loops. For instance, the SCC for the fourth loop, page boundary checks, specifies varying access size from byte to quadword, varying the offset from a page boundary from 8 bytes before through 1 byte after the page boundary, and varying address space from P@ to 2. 3. Create system. defaults -- Defaults provided are variables not specified in the SCC. for any Execute subsection -- A procedure is called that will make test references, varying each reference variable specified in the SCC across the range. Clean up -- At the end of the test, all buffers are returned and control returns to the dispatch routine in the supervisor. 6.5.1.2 Memory Management Test, Subsection Flow Loop start -- All reference parameters that will vary are loaded with initial values specified in the SCC. of Execute —-- The test reference described by the current state ' all the reference variables is made. ter Increment -- The next value of the most rapidly varying parame initial is loaded. If its range has been covered, it is set to its value and the next variable is changed. ted Loop —-- If the slowest varying reference parameter has comple next the ise, Otherw te. comple is tion its range, the subsec reference is made. 6.5.1.3 Test Reference Execution Initialize -- The control blocks for this section (MRDB and TCB) are set Decode up. -- A CITS instruction. (CITS DECODE) is 6-62 called to decode the test Simulate results Setup -are -- The test loaded Another CITS the data areas, instruction. Map -- the variables The reference into the routine general address of the controlling is MRDB. (CITS simulated, SETUP) register, test page is and reference and called stack is validity and the to for mapped Remap and Data test -- the The The result test test address maps Check -CITS instruction. Loop -- The flow buffer states. reference are is setup and is reset checked. called is Return. 6-63 test to to verify simulated made. mapping copied CHECK from is the according -- A probe is made to the test addre ss in order mapping, and the results are compared with the results. the -- initialize accessibility. Probe Execute expected to to check repeated for allow the all results various access, of the translation Typical Error #kkk%x%x%%* pASS 1 Messages CPU CLUSTER EXERCISER —— 9.0 ****¥x&% ERROR 20212 28-MAY-1978 TEST 1 SUBTEST 1 ©8:31:01.89 HARD ERROR WHILE TESTING CPU: LENGTH REGISTER BOUNDARY ERROR OCCURRED DURING: ACCESS OR ACCESS CHECK ERROR: PAGE TABLE ENTRY WAS MODIFIED TESTED PSL MODE ACCESS ACCESS ADDRESS PRV CUR TYPE SIZE 8000 1FF8 K K R L M-BIT ACCESS VALUE CODE STATE STATE K E S 00000098 0003 VAL CLR R NO NO NO ADDRESS @@@1F43C SYS BASE REG V-BIT PTE SPTEl: ALLOWED PROTEC- PTE TION SYS LENGTH REG QOB1F 400 po000022 EXP DATA ACT DATA PTE MODIFIED 00000098 pPe00098 SPTE1l: Example 6-57 ESKAZ Test 1, Subtest 1, Error 20212 6-64 U khkkkkkkk CPU TEST CLUSTER PASS 1 HARD ERROR WHILE ERROR OCCURRED ERROR: MODIFY 1 EXERCISER SUBTEST TESTING DURING: BIT ERROR 1 CPU: ACCESS -- 20213 LENGTH OR khkkkkkk*k 9.0 28-MAY-1978 REGISTER ACCESS ©8:58:58.91 BOUNDARY CHECK ERROR TESTED PSL MODE ACCESS ACCESS TESTED OPERAND ADDRESS PRV CUR TYPE SIZE INSTR NO. 6013001F8 K K W L MOV g2 PTE PTE PROTEC- V-BIT M-BIT ACCESS ALLOWED S U TION SPTEl: ADDRESS VALUE CODE STATE STATE K E (Q0@1F480 00000094 0002 VAL SET RW NO NO NO 0002 VAL SET RW NO NO T-BUFF STATE MISS PPTEl: (Q001F200 00000094 NO HIT SYS BASE SYS LENGTH REG REG POB1F400 00000022 Pl Pl BASE LENGTH REG REG 7FCO1A0Q0 001000 0F EXPECTED PTE STATE SET SPTE1l: Example 6-58 ESKAZ Test 6-65 1, Subtest 1, Error 2@213 Interpretation of 1. First, Example a discussion All error follows: de. 6-57 numbers The 1left test where of ERROR consist byte (2) the error of 28212 3 bytes defines was the with a breakdown as within the location encountered where, @ Subtest = 1--6 = Subsection examples The by middle the byte test at defined prior (Paragraph (#2) the indicates time of to the preceding 6.5.1). the action being taken error wiau SETUP PROBE/PROBE CHECK ACCESS/ACCESS CHECK o B> W HHR where, ACCESS DATA FINAL SETUP CHECK The right byte (12) is indicative of the error itself (it is used by the test software to determine what gets printed at error report time). So, the REGISTER ERROR number tells BOUNDARY subsection (62), CHECK MODIFIED when we got a us that we were in the LENGTH (2) performing an ACCESS/ACCESS message saying PAGE TABLE ENTRY WAS the test (12). 2. The ADDRESS UNDER TEST was 8@0Q0@1FF8. 3. The PREVIOUS and time are shown as CURRENT K K MODES where, K = Kernel E S = = Executive Supervisor U = User 6-66 in the PSL at The ACCESS occurring at the time of the error R is shown as . where, R = Read W = Write M = Modify The SIZE of the access is shown as L where, L = Longword B = Byte W = Word Q = Quadword A discussion of the line labeled SPTEl follows. In the given example we have only one 1line of information, but depending on the set of circumstances there can be more than one line (as shown in Example 6-58). The lines and combinations that can appear are as follows: SPTEl: Page 1 system page Page 1 processor SPTE2: Page PPTE2: Page PPTEl: table 2 system page table page table 2 processor page table where, Page 1 = page number of the address of the lowest byte of the reference address as determined by either the Base Virtual Address (BVA) or, if the position is negative, by the BVA + position. Page 2 = the next page. NOTE | A reference may be either entirely within PAGE 1 or PAGE 2, or it may cross over. In our example, the PAGE ACCESSED. 6-67 1 system page table is being The PHYSICAL ADDRESS of the PTE is 1F43C. NOTE The PTE all is the wvirtual medium of translation addresses addresses. to of physical “ The PTE VALUE The PTE content a. Page Frame represents the comprises Number 4 (PFN) contents Modify bit -- Bit C. Protection -- Bits d. Vvalid -- Bit the PTE or 98. fields. -- This is the upper 21 bits the base of the page. b. of Bits of <20:00> the physical address of <26> <30:27> <31> The PROTECTION CODE for the page accessed was 3. 10. Chapter 5 analysis To ease of of the a VAX-11 protection System Reference Manual code gives an meaning. the strain of searching through the VAX-11] System Manual, the protection code breakdown is shown Reference under ACCESS ALLOWED as R, NO, This states that the being and cannot kernel mode, page be NO, NO. accessed accessed in any can be READ other mode. NOTE A W under this column would indicate that the page can be written in a given mode. 11. The state of the wvalid bit (V-BIT) is VAL where, 12. VAX = 1 (valid) INV = g The (invalid) state of the modify bit where, CLR @ (no SET = 1 (modify) modify) 6-68 (M-BIT) is CLR in 13. The content of content of the the SYSTEM BASE REGISTER was 1F40@ SYSTEM LENGTH REGISTER was 22. and the These 13 items represent the SETUP portion of the error report (i.e., what were all the initial conditions, or states, at the time of the error). The SYS as parts BASE REG of the ADDRESS value, additionally as a. If bit 31 includes Pl b. BASE The SYS SETUP. is Pl clear REG As a and printouts function other bit of printouts 3¢ is always occur the TESTED will occur set, the message clear, the message LENGTH REG If bit 31 includes is clear P@ P@ LENGTH BASE LGTH one or two follows: REG REG 14. and and bit 30 is REG ERROR portion of the the ERROR: PAGE TABLE showing the EXPECTED printout shows further proof of ENTRY WAS MODIFIED statement by and ACTUAL DATA and the PTE MODIFIED. Example 6-58 additional the error. The new 1is similar to information which items in Example TESTED INSTR is The OPERAND NO. The 6-58 Example HIT a MOV in question translation buffer state 1 = = except that it the are: where, MISS 6-57 reflects circumstances at @. 6-69 is #2 (i.e., (TB-STATE) the is DST). listed shows time of 6.6 COMPATIBILITY MODE 6.6.1 Most INSTRUCTION TEST (ESKAZ@3, TEST 2) Instructions Tested of the hardware are modes (Figure instructions provided exercised using various 6-3). These instructions C START by the compatibility data patterns and are listed in Table mode address 6-12. ) SUBTEST SETUP j¢&—RN: SUBTEST INSTRUCTION A VERIFY ERROR LOOP GO TO NEXT SUBTEST TK-1200 Figure 6-3 Compatibility Mode Instruction Structure 6-70 Module Subtest Table 6-12 Compatibility Mode Instructions Provided Compatibility Mode Hardware and Exercised by ESKAZ Test 2 Op Code (8) Mnemomic Op Code (8) Mnemonic .355DD ADC (B) pA331DD .@6SSDD .363DD ADD @@ 4RDD ASL (B) JSR . 1SSDD .362DD .4SSDD ASR (B) BIC (B) . 5SSDD BIS(B) .354DD .361DD .364DD MOV (B) NEG (B) JMP ROL (B) ROR (B) . 3SSDD BIT (B) 493-3777 1000060-3777 BRANCHES (*) BRANCHES (**) .0020R POdAA6 .350DD . 2SSDD CLR(B) @7 7RNN SOB CMP (B) .851DD 240-277 COM(B) 16SSDD A33033DD SUB SWAB CND A0367DD .853DD SXT DEC(B) .352DD .357DD TST (B) INC(B) @T74RSS XOR CODES (***) by RTS RTT .356DD SBC (B) where, (*)=BR, BNE, (**)=BPL, (***)=CLC, BEQ, BMI, CLV, BGE, BVC, CLZ, BLT, BGT, BLE BCS, BHI, BLOS, CLN, cCC, SEC, SEV, BCC, BHIS, SEZ, BLO SEN, ScCC The instructions provided by the compatibility mode hardware that have not yet been included in this test are listed in Table 6-13. Table 6-13 Compatibility Mode Op Code (8) Instructions Mnemonic @7 2RSS ASH @73RSS ASHC DIV @71RSS 1865SS MFPD MFPI @065SS 1466DD @06 6DD MTPD MTPI @78RSS MUL 6-71 Not Yet Tested NOTES 1is instruction test always 1. The 2. The error is always tagged EN. 3. The 4. If tagged IN. return always tagged more point RN. than one BN, etc. looping is verification is for subtest, single a in made entries to subsequent checks tagged AN, If more than one error 5. subsequent E2N, E3N, errors are the are is included, tagged EIN, etc. " The RTI instruction provided by compatibility mode hardware is not in this module. The compatibility mode entry/exit module tested tests this instruction thoroughly. (ESKAX@2, Test #1l) 6.6.2 Compatibility Mode Test Error Message Format The following header is printed when an error is detected. (PC) (PSW) (R1) (SP) (R2) (R4) (R3) Interpretation of Compatibility Mode Test Error Message Format (PC) Indicates the content of the program counter at the time of the error call. This is normally an address that is used to locate the error call statement in the failing subtest. (PSW) (SP) Indicates the content of the processor status word at the time of the error call. Indicates the time of The the content of the stack pointer error. error call NOTE will twice. 6-72 push the stack (R6) at the (R1) Indicates a mnemonic of the instruction under test e.g., MOVB, ASL (R2) et al. . double-operand instructions, R2 normally and double-operand instructions, R3 contains For single- and For single- the test contains the destination address. (R3) what the result (destination operand) instruction was actually was after executed. For single- and double-operand instructions, R4 contains (R4) what the result (s/B) . In . . some cases, the (destination error operand) should : information may have been from that have been deviate previously described but the program annotation for those subtests will describe the meaning of those entries The error call statement that : redefined. is encoded to print only the relative to the particular function being tested. of the Print all 7 columns ERROR ERROR1 Print only column ERROR3 Print columns 1, ERRORS Print columns 1, Print columns 1, ERROR2 ERROR4 2 1 2, 3 2, 3, Print columns 1, 2, 1, 2, Print columns ERRORG6 4 3, 4, 4, 3, 5 5, 6 Sample Error Message Explanation 6.6.3 PASS : error calls is shown below. information Interpretation 1 TEST XX SUBTEST 208 . HARD ERROR WHILE TESTING CPU: . . . . . . COMPATIBILITY MODE . . . . . (PC) (PSW) (SP) (R1) (R2) (R3) (R4) @0008DDYJ P00000034 @00 BA5AA MOV Pe0004A008 Q0000000 PO@BFFFF Example 6-59 ESKAZ Compatibility Mode 6-73 Test Error Interpretation of 8DD@ 4 Example 6-59 Represents the Represents the content the last PC of the error of call the in PSW the listing. prior to the error mode stack call. AS5AA Represents pointer position MOV Is 400 Represents portion of the Represents the instruction execution. Represents what 00a0 FFFF a have The listing page. The clue that the the laid operator MOV instruction address actual used the content content destination mode of the destination after 3. SUBTYPE destination was executed. should printed at the top of each the program 1listing for Instruction Module Assumptions @ (SPL) Used as program 2 (IOT) Used as next 3 the description of 208 shows that a MOV source mode 2 and destination mode 3. Compatibility Mode Appears test. the Four compatibility mode trap instructions execution of this test, as follows. SUBTYPE SUBTYPE under by of out with a subtitle can look through 268. The subtest instruction is tested with 1. 2. PDP-11 failed the MOV instruction subtest 6.6.4 the MOV instruction. been after is of (R6). are end subtest used to control the indicator. indicator. NOTE as SCOPE (EMT) Used statement as error in listing. report indicator. NOTE Appears as ERROR + XX statement 1in listing. 4, SUBTYPE 4 (TRAP) Appears as Used as TRAP NOTE + XX listing. It is PSW reference indicator. statement in assumed that the test performing the exercising of compatibility mode entry/exit conditions has been executed prior to this test, in which event, the compatibility mode trap instructions have been checked out. 6-74 APPENDIX A GLOSSARY OF DIAGNOSTICS SOFTWARE TERMS absolute (ABS) -- A program section (psect) attribute. An absolute psect contains only symbol definitions. It does not contribute binary code to the image. Therefore, it must have a zero-length memory allocation. The converse is relocatable (REL). access mode -- Any of the four processor access modes software executes. Processor access modes are, in order, to least privileged and protected: kernel (mode @), (mode 1), When the complete supervisor processor control (mode 2), in kernel is of, and and user mode, (mode the responsibility in which from most executive 3). executing for, the software system. has When the processor is in any other mode, the processor is inhibited from executing privileged instructions. The processor status longword contains the current access mode field. The operating system uses access modes to the of context user runs a protection process. levels for software in user For example, and is which the processor read, write, mode no the executing more executive in 1in executive modes and is most protected. The command is less protected and runs in supervisor mode. The kernel and interpreter debugger define protected runs than normal programs. access type —- The way in Access types alignment based. -- address allocate a exclusive device is use. A user process can allocate a device not allocated by any other process. The device -- are: accesses operands. branch. To boundary at which reserve a particular allocation -The number of bytes of program section to a particular module. alphanumeric character -a--z), a dollar sign ($), modify, An an a program memory upper or lower underscore (), instruction. address, section is unit for only when that device contributed case or a and by a letter (A--2Z, decimal digit ancillary control process (ACP) -- A process that acts as an interface between user software and an I/0 driver. An ACP provides functions supplemental to those performed in the driver, such as file and directory management. argument —-- An independent value within a command statement that specifies where, or on what, the command will operate (e.g., address, data). A-1 argument pointer contains the procedures -- General address initiated of register the using 12 (R12). of the base the CALL By convention, argument 1list AP for instructions. assign a between a channel -- To establish the necessary software linkage user process and a device unit before a user process can transfer any the system data to to or from assign a channel that device. and the A user system process returns requests a channel number. assembler -- A program operations correspond language code. asynchronous to be system that translates directly trap (AST) source to machine -- A language op code, codes, into software-simulated a user-defined service routine. ASTs notified asynchronously, with respect enable to its whose object interrupt a user process to execution, of the occurrence of a specific event. If a user process has defined an AST routine for an event, the system interrupts the process and executes the AST routine when that event occurs. When the AST routine exits, the system resumes the process at the point where it was interrupted. attributes programmer —-- Various characteristics that to each psect in a module (e.g., can be ABS). assigned by base register —-- A general register used to contain the address the entry in a list, table, array, or other data structure. block -- 1. specified bytes for bytes The smallest addressable device can transfer most disk devices). used to store logically processing information breakpoint -- diagnostic breakpoint, 1In (i.e., unit of related process diagnostics, supervisor. When control returns to an status, control address -- A temporary data that control, or assigned lower (also addresses, called stack and popped off other through (usually of the the larger) area. call frame -- A standard data structure built on the stack a procedure call, starting from the location addressed by to the contiguous contiguous the PC equals the value the diagnostic supervisor. storage of block). boot (bootstrap) -- A program that loads another program into memory from a peripheral device. buffer data in an I/0 operation (512 2. An arbitrary number of the during a return from during FP the procedure frame). channel -- A logical path connecting a user process to a physical device unit. A user process requests the operating system to assign a channel to a device so that the process can transfer data to or from that device. A-2 command file -- A file containing command strings. command interpreter -Procedure-based code to receive, syntax check, and parse commands typed by the user at a terminal or submitted in a command file. command parameter -- The positional operand of a command delimited by spaces, such as a file specification, option, or constant. command string -- A line, or a set of continued lines, normally terminated by typing the carriage return key containing a command, and optionally, information modifying the command. A complete a psect command string consists of a command; its qualifiers, if any; its parameter (file specifications, for example), if any; and their any. qualifiers, if concatenate (CON) -- A program section attribute. If psects of the same assigned contiguous Each module can specify name yet addresses from different in the virtual concatenated, all modules are to be space. address The linker performs The contributions. the necessary alignment base padding of =zero resulting the of alignment. independent an 1is bytes between concatenated psects is according to the greatest alignment granularity of all the contributions to the psect. For example, 1if the greatest alignment granularity of page-aligned; although, condition An others word-aligned, -- all some contributors is contributors a may page, be the psect is declared by byte-aligned, etc. exception condition detected and status word wants the software. condition codes -- condition handler Four bits in the processor procedure that a that indicate the results of the previously executed instruction. to when execute condition condition operating A exception occur, handler. When perform some system may handler the does -- an exception the it initiates condition the act and condition process occurs. operating finds the handler to change system immediately. then continue for The of a the handler, situation execution system exception searches condition the an When condition that caused the process that incurred the exception condition. Condition handlers execute in the context of the process at the access mode of the code that incurred the exception condition. context switching -- Interrupting the activity in progress and Context switching occurs as one switching to another activity. process after another is scheduled for execution. The operating system saves hardware PCB the using interrupted the save another process's hardware load process execution. context process's process hardware context context instruction, in its loads PCB into the hardware context using the instruction, and schedules that process for cylinder surfaces -The tracks of a disk pack. at default -- supplied Assumed value the same radius when a not specifically override the normal fields in a file specification that the specification is not disk -- The system disk to files that the operator creates, by whenever a file specification in a a all command command system recording qualifier function; fills in does also, when the complete. default name on which the system writes all default. The default is used command does not explicitly device. delimiter -- A character or within member a command or data of the string. device -- The general name connected to the processor or transmitting data. Card are examples disk devices interfaces symbol string. used to However, for any separate or limit the delimiter is physical terminus or items not a 1link that is capable of receiving, storing, readers, line printers, and terminals of record-oriented devices. Magnetic tape devices and are examples of mass storage devices. Terminal 1line and interprocessor links are examples of communications devices. device interrupt levels 16 devices, —-- through An 23. controllers, interrupt Device and received interrupts on can interrupt be priority requested only by memories. device name -- The field in a file specification that identifies the device unit on which a file 1is stored. Device names also include the mnemonics that identify an I/0 peripheral device in a data transfer request. A device name <consists of a mnemonic followed followed it from direct following I/0 program on by a controller by a unit number -- A fields. mode addresses support from identification letter (if applicable), (if applicable). A colon (:) separates of the the access device operating to peripheral registers system devices directly, in which without the relying drivers. drive -The electro-mechanical unit of a mass storage device system on which a recording medium (disk cartridge, disk pack, or magnetic tape reel) is mounted. driver -- The set mask -- A of system code that handles physical I/0 to a device. entry word (1) whose bits represent the registers to be saved or restored on a subroutine or procedure c¢call using the call and return instructions, and (2) which includes trap enable bits. entry point call. It entry point -- A contains location an entry that can mask and mask. A-4 be specified exception as the enables object known as of a the event -- A change in process status or an indication of the occurrence of some activity that concerns an individual process or cooperating processes. An incident reported to the scheduler that affects a process's ability to execute. Events can be synchronous with the process's execution (a wait request, or they can be asynchronous (I/0 completion). wake page fault. request, event flag cleared that -- to flag. process in —-- normal many An event used of cluster of to detected branch, of flag occurrence are examples the events: that swapping, can be set or event associated with synchronize activities in a processes. event jump, flow an the flags among interrupt or the bit Event or exception A indicate Some by case, instruction the or call hardware (other instruction) execution. An than an that changes exception is always caused by the execution of an instruction or set of instructions, while an interrupt 1is caused by an activity 1in the system independent of the current instruction. There are three types of hardware exceptions: traps, attempts to traps; compatibility execute a faults, privileged mode execution; and arithmetic divide-by-zero. and or reserved faults; traps such aborts. as Examples instruction; breakpoint overflow, are: trace instruction underflow, and exception condition —-- A hardwareor software-detected event (other than an interrupt or Jjump, branch, case, or call instruction) that changes the normal flow of instruction execution. exception searches dispatcher for a -- An condition operating handler system when an occurs. If no exception condition, the image that handler incurred is found for the exception executable program section (EXE) -- A contains only instructions. linker this to separate instructions uses verification executable of This attribute from read-only attribute the transfer in an exception is terminated. attribute. and that The read/write psects must be in present in The the an psect. execution in executive —-- a run in a file for process. The generic name for the collection of included in the operating system software that provides control and monitor functions of the operating system. logical or psect data. and executable image -- An image that is capable of being process. When run, an executable image is read from a file -physical as disk assigned that condition provides the capability gathering address procedure exception procedures the basic A 1logically related collection of data treated as a entity that occupies one or more blocks on a volume such or magnetic tape. A file can be referenced by a name by the user. A file normally consists of one or more records. A-5 file specification medium. frame pointer contains the -- -- A unique General base name for a 13 most register address of the file on a mass storage (R13). By convention, recent call frame FP on the stack. global symbol -- A symbol defined in a module that is potentially available for reference by another module. The 1linker resolves (matches references with definitions) global symbols. Contrast with local symbol. granularity -- The alignment of a contribution to a psect on a boundary. The alignment granularity may be byte, word, quadword, or page. home block -- A image -- bound together identification, An block image the consists by the executable, sharable, index —-- file in index file that contains procedures and data The of linker. and file There are three that interrupt -- call or instruction process An event executing when on a FILES-11 volume that (other than an that changes Interrupts the exception are interrupt or the contains the enables the branch, normal generally external occurs. Jjump, flow of to the interrupt stack —-- The system-wide stack used when executing interrupt a process kernel with service context. context mode; kernel or in At any time, executing system-wide privileges, current mode bits context-switched. in been images: system. instruction) execution. volume have types of access information for all files on the volume and operating system to identify and access the volume. case, the such as volume label and protection. as the in user, interrupt indicated PSL. The the processor supervisor, by service the executive, context interrupt interrupt in an is either in or operating stack stack and 1is not I/0 function code - A 6-bit value specified in a queue I/0 request system service that describes the particular I/O0 operation to be performed library file the (e.g., —-- modules of linked commands A read, direct same module -- A write, rewind). access file containing one or more type. group of independent commands connected together (linked) so as to form a single executable 1list commands. Once initiated, the entire linked command list may executed without further operator intervention. of be. linker -- A program that reads one or more object modules created by language processors and produces an executable image file, a sharable image file, or a system image file. linking —- modules used The resolution to create of an external image; references the between acquisition of object referenced library routines, service entry points, and data for the and the assignment of virtual addresses to components of an image; image. link map of total the -- A link program map image. shows The the virtual map is link program section allocation memory found in allocation a program listing the in synopsis. literal -- An operand which is used immediately, without being translated to some other value. An operand which specifies itself. literal argument statement local that -- An specifies symbol -- A that defines it. Symbols global symbols independent symbol are value within a command itself. that not 1is meaningful identified considered to be to a 1local only to language the module processor symbols. A as 1language processor resolves (matches references with definitions) 1local symbols. They are known to the linker and cannot be made available to another object module. They can, however, be passed through the linker to the symbolic debugger. Contrast with global symbol. logical using block the —-- A block on (device-oriented) address The comprise blocks starting a volume-relative that with logical mass or the the block storage device rather than address virtual volume module -- A programming part of allows separate parts mount a physical volume unit on a the share data (file-relative) address. 1labeled 1language system functions protection and the program assembled development and of as large (an operand —- a unit. programs Modular in which -To logically associate a volume with the which it is loaded (an activity accomplished by activity a to routines. accomplished object module -- The binary output the assembler or a compiler, which by an processor that include the operating system's system software at the request of an operator). place a magnetic tape or disk pack on a drive and on-line sequentially 8. -A statement that requests a generate a predefined set of instructions. management -The hardware's page mapping and image activator and pager. by physical are macro memory identified the value (address or by of is data) instruction. A-T7 a Or, to load or place the drive system operator). a language processor used as input to the that is operated on, such as linker. or with, overlay (OVR) overlayed, -- all A program section attribute. to psect contributions the address. The 1length of the psect contribution. All contributions to the same alignment. If have 1is the size an overlayed a psect the same 1is base of the 1largest psect must have page -—- A set of 512 contiguous byte locations used as the unit of memory mapping and protection. Also, the data between the beginning of a file and a page marker, between two markers, or between page in of a marker and frame number the (PFN) end -- of a The file. address of the physical memory. The high-order 21 bits the base of a page make up the PFN. page table location entry and (PTE) status of -- The data a page of first of the structure virtual byte of physical that address a page address identifies space. the When a virtual page is in memory, the PTE contains the page frame number needed to map the virtual page to a physical page. When it is not in memory, the PTE contains the information needed to locate the page on secondary storage (disk). parameter -- A parameter is the object of a command. It can be a file specification, a keyword option, or a symbol value passed to a command procedure. In diagnostics, parameters are usually operator-supplied concerning devices parameter switch preceded parser into by -- A a -- slash be A to dquestions asked by a program tested. command qualifier. In diagnostics, it is (/). procedure structural physical answers to that breaks down the components address used by hardware of a command forms. address -- The to identify a location in physical memory or on directly addressable secondary storage devices such as disks. A physical memory address consists of a page frame number and the number of a byte within the page. A physical disk block address consists of a cylinder or track and sector number. physical its block physical -- A block on a (device-oriented) (volume-relative) or virtual mass storage address device rather (file-relative) referred than a to by 1logical address. position independent code (PIC) -- A program section attribute. The contents of the psect do not depend on a specific location in virtual memory. The converse 1is nonposition independent code (NOPIC) . A-8 priority level -- of The rank assigned to an activity that determines service. For System example, when resources, several jobs service the first. Jjob with the highest priority Program section of module. number of directives precedes —-- program portion a the (psect) program developer. first defined program by the A sections program section Through program sectioning the memory allocation of a virtual established linker. by an the the Thus, nonexecutable, for by program In the etc. the diagnostic See of prompt -- A programs, program's program program. any placed each typed MACRO test out are passed declared Language as code that the BLANK the Reference Manual is a to to only, section given on read program response action. in a to controls the program attributes Any be various Creates according developer directive can VAX-11] thé section. operator is for receives assembler module, addition, section section sections functions. In a assembler. program explanation The within its contend attribute separate and/or program request for qualifier -- A portion of a command string that modifies a command verb or command parameter by selecting one of several options. A qualifier, if present, follows the command verb or parameter to which it applies and is in the format: /qualifier:option. For example, COPIES in the command qualifier given file printed. queue -- list queue I/0 program system radix A -- or -- the The of A calls commands mode on of driver diagnostic base readable (RD) -- psect be read can of A the the record -- A collection A logical determined by record record-oriented device. "PRINT that or the jobs access to routines number section of can wants to to in length of a which a use. is data whose operating contents converse items any The in VMS currently adjacent of the data. be the of processed. transfer The copies devices by attribute. time. /COPIES:3", three be peripheral provided system execute <filename> user waiting supervisor program at (NORD) . unit. string indicates of the nonreadable treated as a significance is the programmer. A physical record is a device-dependent collection of contiguous bytes such as a block on a disk, or a collection of bytes sent to or received from a relocatable (REL) -- A pProgram section attribute. The psect must be assigned a base address by the linker. This psect can contain code and/or data. A-9 script file —-- A line-oriented ASCII file that contains a list of commands. section -- A group of tests in a diagnostic program that may be by the operator. selected sector -- A portion of a track on the surface of a disk. On a VAX-11 system, each track on a disk is normally divided into 22 sectors. semantics -- The interpretation of and relation between commands or command symbols. sharable image -- An image that has all of its internal references resolved, but which must be 1linked with an object module(s) to d. produce an executable image. A sharable image cannot be execute of y 1librar a n contai to used be can A sharable image file by section global a as ed install be can routines. A sharable image the system manager. stack -- An area of memory set aside for temporary storage, or for interrupt service linkages. procedure and A stack uses the last-in, first-out concept. As items are added to (pushed on) the stack, the stack pointer decrements. As items are retrieved from (popped off) the stack, the stack pointer increments. stack frame -- A standard data structure built on the stack during FP a procedure call, starting from the location addressed by theure. proced from return a during off popped to lower addresses, and Also called call frame. stack pointer -- General register 14 (R14). SP contains the fined address of the top (lowest address) of the processor-de stack e possibl five the of one access will stack. Reference to SP upt, interr or user, isor, superv ive, pointers: kernel, execut stack pt interru and mode current depending on the value in the bits in the Processor Status Longword (PSL). standalone mode -- A diagnostic program environment in which the VMS program and the diagnostic supervisor run without the when l termina console the use must r operato The operating system. running diagnostics in the standalone mode, and no other users have access to the system. symbolic argument -- An argument within a command that refers to another value. The syntax -- The rules governing a command language structure. gful meanin form to d ordere are s way in which command symbol statements. syntactic unit -- An item contained within (e.g., an argument, a qualifier). A-10 a command statement system image -- storage when the test -- A function time unit or of that -recording -- is read started up. is a diagnostic of the statement occurred. track trap A image system portion stamp -- event The exception program memory that from checks hardware. of A collection of surface of a disk. An into the time blocks condition of at that day a at which single occurs secondary a specific a specific radius at the end on one of the instruction that caused the exception. The PC saved on the stack is the address of the next instruction that would normally have been executed. All software can enable and disable some of the trap conditions unit record printer. with a device -- stack UUT of for the each (unit A device such To remove call nested procedure FP register call frame. under test) -- being tested by a virtual block number -- A and FP a card reader The first block frames from calls using register content The device or portion diagnostic program. number used storage device. The number is a 1logical (volume-oriented) address. as -- hardware mass than instruction. or line | unwind the call stack tracing back through content single in a file a to identify or physical is always stack by current the stored of file-relative the the a on the computer block address on a rather (device-oriented) virtual one. block number | writable (WRT) psect be can -- A program modified at section execute attribute. time. (NOWRT) . A-11 The The converse content is of the nonwritable VAX-11/780 DIAGNOSTIC SYSTEM Reader’s Comments TECHNICAL DESCRIPTION EK-DS780-TD-001 Your comments and suggestions will help us in our continuous effort to improve the quality and usefulness publications. of our What is your general reaction to this manual? In your judgment is it complete, accurate, well organized, written, etc.? Is it easy to use? well What features are most useful? What faults or errors have you found in the manual? Does this manual satisfy the need you think it was intended to satisfy? Does it satisfy your needs? O Why? Please send me the current copy of the Technical Documentation Catalog, which contains informatio the remainder of DIGITAL’s technical documentation. - Name Street Title City Company State/Country Department Zip Additional copies of this document are available from: Digital Equipment Corporation 444 Whitney Street Northboro, Ma 01532 Attention: Communications Services (NR2/M15) Customer Services Section Order No. _ EK-DS780-TD-001 n on FIRST CLASS PERMIT NO. 33 MAYNARD, MASS. BUSINESS REPLY MAIL NO POSTAGE STAMP NECESSARY IF MAILED IN THE UNITED STATES Postage will be paid by: Digital Equipment Corporation Communications Development and Publishing 1925 Andover Street Tewksbury, Massachusetts 01876
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies