Digital PDFs
Documents
Guest
Register
Log In
EK-375AA-SM-001
September 1990
262 pages
Original
0.6MB
view
download
Document:
KN220 CPU System Maintenance
Order Number:
EK-375AA-SM
Revision:
001
Pages:
262
Original Filename:
OCR Text
KN220 CPU System Maintenance Order Number EK–375AA–SM–001 Digital Equipment Corporation Maynard, Massachusetts First Printing, September 1990 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software, if any, described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software or equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. Restricted Rights: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227–7013. © Digital Equipment Corporation 1990. All rights reserved. Printed in U.S.A. The Reader’s Comments form at the end of this document requests your critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: CompacTape, DDCMP, DEC, DECdirect, DECnet, DECserver, DECsystem 5400, DECUS, DECwriter, DELNI, DELQA, DEQNA, DESTA, DSSI, IVIS, MicroVAX, PDP, Professional, Q-bus, ReGIS, RQDX, ThinWire, ULTRIX, UNIBUS, VAX, VAX 4000, VAXcluster, VAX DOCUMENT, VAXELN, VAXlab, VMS, VT, and the DIGITAL Logo. Prestoserve is a trademark of Legato Systems, Inc. FCC NOTICE: The equipment described in this manual generates, uses, and may emit radio frequency energy. The equipment has been type tested and found to comply with the limits for a Class A computing device pursuant to Subpart J of Part 15 of FCC Rules, which are designed to provide reasonable protection against such radio frequency interference when operated in a commercial environment. Operation of this equipment in a residential area may cause interference, in which case the user at his own expense may be required to take measures to correct the interference. S1304 This document was prepared using VAX DOCUMENT, Version 1.2. Contents Preface xiii Chapter 1 KN220 Base System 1.1 Base System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 KN220 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 R3000 RISC Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Cache Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Main Memory System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4 Console Serial Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.5 Time-of-Year Clock and Timers . . . . . . . . . . . . . . . . . . . . . 1.2.6 Boot and Diagnostic Facility . . . . . . . . . . . . . . . . . . . . . . . 1.2.7 Q22-Bus Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.8 CVAX Diagnostic Processor . . . . . . . . . . . . . . . . . . . . . . . . 1.2.9 Network Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.10 DSSI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.11 SCSI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 H3602–AC CPU I/O Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Using Console Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Securing the System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Privileged Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Unsecuring the System . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 The passwd Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.5 The unpriv Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 MS220 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 1–6 1–7 1–8 1–8 1–8 1–9 1–9 1–10 1–10 1–11 1–11 1–12 1–12 1–16 1–16 1–17 1–17 1–18 1–18 1–19 iii Chapter 2 KN220 Configuration 2.1 2.2 2.3 2.4 2.5 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General Module Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Module and Bulkhead Order for KN220 Systems . . . . . . . . . Memory Module Configuration . . . . . . . . . . . . . . . . . . . . . . . . Q-Bus Module Configuration . . . . . . . . . . . . . . . . . . . . . . . . . DSSI Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Node Name . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Unit Number . . . . . . . . . . . . . . . . . . . . . . . . DSSI Cabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DSSI Bus Termination and Length . . . . . . . . . . . . . . . . . . SCSI Configuration and Cabling . . . . . . . . . . . . . . . . . . . . . . Adding External Devices . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting Multiple Drives . . . . . . . . . . . . . . . . . . . . . . . . Connecting Tabletop Drives . . . . . . . . . . . . . . . . . . . . . . . . Connecting Internal Drive to Tabletop Drive . . . . . . . . . . . Assigning the Node ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . SCSI Interface ID Switches . . . . . . . . . . . . . . . . . . . . . . . . 2–1 2–1 2–2 2–2 2–2 2–4 2–6 2–7 2–9 2–10 2–10 2–10 2–11 2–11 2–12 2–12 2–12 Chapter 3 KN220 Firmware 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 KN220 Firmware Features . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 CVAX Halt Entry and Dispatch Code . . . . . . . . . . . . . . . . . . . 3.4 External Halts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Power-Up Sequence: Operation Switch Set to Normal . . . . 3.5.2 Power-Up Sequence: Operation Switch Set to Maintenance 3.5.3 Operation Switch Set to Action: Loopback Tests . . . . . . . . 3.5.4 Operation Switch Set to Action: Language Query . . . . . . . 3.6 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 ULTRIX–32 Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1.1 ULTRIX–32 Bootstrap Procedure . . . . . . . . . . . . . . . . . . 3.6.1.2 On Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 MDM Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.3 MDM Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv 3–1 3–2 3–3 3–4 3–5 3–5 3–6 3–6 3–7 3–8 3–9 3–10 3–10 3–11 3–15 3.7 Normal Mode Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Control Characters in Normal Mode . . . . . . . . . . . . . . . . . 3.7.2 Environment Variables in Normal Mode . . . . . . . . . . . . . . 3.8 Normal Mode Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Conventions Used in This Section . . . . . . . . . . . . . . . . . . . 3.8.2 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.3 boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.4 continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.5 d (deposit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.6 dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.7 e (examine) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.8 fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.9 go . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.10 help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.11 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.12 init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.13 printenv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.14 setenv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.15 test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.16 unsetenv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.17 x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Maintenance Mode Overview . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Command Syntax in Maintenance Mode . . . . . . . . . . . . . . 3.9.2 Address Specifiers in Maintenance Mode . . . . . . . . . . . . . . 3.9.3 Symbolic Addresses in Maintenance Mode . . . . . . . . . . . . . 3.9.4 Command Qualifiers in Maintenance Mode . . . . . . . . . . . . 3.9.5 Maintenance Mode Command Keywords . . . . . . . . . . . . . . 3.10 Maintenance Mode Commands . . . . . . . . . . . . . . . . . . . . . . . 3.10.1 BOOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.2 CONFIGURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.3 CONTINUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.4 DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.5 DEPOSIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.6 EXAMINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.7 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10.8 FIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–16 3–16 3–17 3–18 3–20 3–20 3–21 3–23 3–24 3–25 3–27 3–28 3–29 3–30 3–31 3–32 3–33 3–34 3–35 3–36 3–37 3–38 3–39 3–39 3–40 3–42 3–44 3–47 3–47 3–48 3–50 3–51 3–53 3–54 3–56 3–57 v 3.10.9 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.16 3.10.17 3.10.18 3.10.19 3.10.20 3.10.21 3.10.22 HALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INITIALIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SHOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UNJAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X—Binary Load and Unload . . . . . . . . . . . . . . . . . . . . . . . ! (Comment) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–58 3–59 3–61 3–63 3–65 3–67 3–68 3–70 3–73 3–77 3–78 3–79 3–80 3–82 Chapter 4 KN220 Troubleshooting and Diagnostics 4.1 4.1.1 4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.3 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.5 4.5.1 vi Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General Troubleshooting Procedures . . . . . . . . . . . . . . . . . KN220 ROM-Based Diagnostics . . . . . . . . . . . . . . . . . . . . . . . Diagnostic Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script Calling Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Console Displays and LEDs . . . . . . . . . . . . . . . . . . . . . . . . System Halt Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . Console Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . VMB Error Messages (CVAX) . . . . . . . . . . . . . . . . . . . . . . . Acceptance Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FE Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isolating Memory Failures . . . . . . . . . . . . . . . . . . . . . . . . . Running a Memory Test . . . . . . . . . . . . . . . . . . . . . . . . . . . Additional Troubleshooting Suggestions . . . . . . . . . . . . . . . Loopback Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DSSI Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 4–1 4–3 4–4 4–7 4–10 4–12 4–17 4–31 4–32 4–33 4–34 4–41 4–41 4–44 4–46 4–47 4–48 4–48 4.5.2 Ethernet Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Testing the Console Port . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Module Self-Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 RF-Series ISE Troubleshooting and Diagnostics . . . . . . . . . . 4.7.1 DRVTST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.2 DRVEXR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.3 HISTRY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.4 ERASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5 PARAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5.1 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5.2 HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5.3 SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5.4 SHOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5.5 STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.5.6 WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.6 Diagnostic Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Memory Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1 Test 30 - Bitmap Placing Test . . . . . . . . . . . . . . . . . . . . . . 4.8.2 Test 4F - Memory Data Tests . . . . . . . . . . . . . . . . . . . . . . . 4.8.3 Test 4E - Memory Byte Tests . . . . . . . . . . . . . . . . . . . . . . . 4.8.4 Test 4D - Memory Address Uniqueness Test . . . . . . . . . . . 4.8.5 Test 4C - Memory ECC Logic, Verify Error Detection and Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.6 Test 48 - Memory Address/Shorts Test . . . . . . . . . . . . . . . . 4.8.7 Test 47 - Memory Data Retention, Verify Refresh Logic . . . 4.8.8 Test 40 - Memory Count; Bad Pages Marked in Bitmap . . 4.8.9 Test 9A - Define Current Memory Configuration . . . . . . . . 4.9 SCSI Controller Chip Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.1 ASC Reset Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.2 ASC Register Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.3 ASC Interrupt Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.4 ASC FIFO Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9.5 ASC DMA Counter Register Test . . . . . . . . . . . . . . . . . . . . 4–48 4–49 4–49 4–50 4–52 4–53 4–54 4–55 4–56 4–57 4–57 4–57 4–58 4–58 4–58 4–59 4–59 4–59 4–62 4–62 4–62 4–62 4–62 4–63 4–63 4–63 4–64 4–64 4–64 4–64 4–65 4–65 vii Appendix A ULTRIX–32 Exerciser and uerf Command Summary A.1 On-line ULTRIX Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 Communications Exerciser (Asynchronous Serial Lines) . . A.1.2 Disk Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.3 File System Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.4 Line Printer Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.5 Memory Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.6 Magtape Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.7 TCP/IP Network Exerciser . . . . . . . . . . . . . . . . . . . . . . . . . A.2 uerf Error Log Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . A–1 A–2 A–3 A–4 A–4 A–5 A–5 A–6 A–8 Appendix B KN220 Address Assignments B.1 B.2 B.3 B.4 B.5 B.6 Accessing Physical Locations (R3000) . . . . . . . . . . . . . . . . . . B–1 R3000 Physical Address Space Map (M7637–AA) . . . . . . . . . B–3 R3000 Physical I/O Address Space Map (M7638–AA) . . . . . . B–6 KN220 Diagnostic Processor Physical Address Space Map (M7638–AA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–11 Diagnostic Processor Registers . . . . . . . . . . . . . . . . . . . . . . . . B–15 Global Q22-Bus Memory Space Map . . . . . . . . . . . . . . . . . . . B–17 Appendix C Configuring the KFQSA C.1 KFQSA Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–1 C.2 Configuring the KFQSA at Installation . . . . . . . . . . . . . . . . . C–2 C.2.1 Entering Maintenance Mode . . . . . . . . . . . . . . . . . . . . . . . C–4 C.2.2 Displaying Current Addresses . . . . . . . . . . . . . . . . . . . . . . C–5 C.2.3 Running the Configure Utility . . . . . . . . . . . . . . . . . . . . . . C–6 C.3 Programming the KFQSA . . . . . . . . . . . . . . . . . . . . . . . . . . . C–8 C.4 Reprogramming the KFQSA . . . . . . . . . . . . . . . . . . . . . . . . . C–13 C.5 Changing the ISE Unit Number . . . . . . . . . . . . . . . . . . . . . . C–15 viii Appendix D Prestoserve Software on the DECsystem 5500 D.1 Why Data Recovery Is Necessary . . . . . . . . . . . . . . . . . . . . . . D.2 Using the dc Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.1 Determining If a Cache Contains Data . . . . . . . . . . . . . . . D.2.2 Saving the Cache Data to Tape with the dc/save Command D.2.3 Restore Data From Tape with the dc/restore Command . . . D.2.4 Clearing the Cache with the dc/zero Command . . . . . . . . . D.3 Recover from Abnormal System Shutdowns . . . . . . . . . . . . . . D.3.1 Recovering Data From a System That Can Reboot . . . . . . D.3.2 Recovering Data From a System That Cannot Reboot . . . . D.3.2.1 Bad I/O Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3.2.2 Bad CPU Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3.2.3 Bad Boot Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.3.2.4 Other Hardware Problems . . . . . . . . . . . . . . . . . . . . . . . D.3.3 Power-up Screen and Test 79 with NVRAM Battery Off . . D–1 D–1 D–3 D–3 D–4 D–4 D–4 D–5 D–5 D–6 D–6 D–7 D–8 D–8 Appendix E Field-Replaceable Units (FRUs) Appendix F Related Documentation Index Examples 2–1 2–2 3–1 3–2 4–1 4–2 4–3 4–4 4–5 Changing a DSSI Node Name . . . . . . . . . . . . . . . . . . . . . . . . Changing a DSSI Unit Number . . . . . . . . . . . . . . . . . . . . . . . Language Selection Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Procedure to Boot on Installation . . . . . . . . . . . . . Creating a Script with Utility 9F . . . . . . . . . . . . . . . . . . . . . . Listing and Repeating Tests with Utility 9F, Help and Loop on A0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Console Display (No Errors) . . . . . . . . . . . . . . . . . . . . . . . . . . Sample Output with Errors: R3000 . . . . . . . . . . . . . . . . . . . . Sample Output with Errors: CVAX . . . . . . . . . . . . . . . . . . . . 2–6 2–8 3–8 3–11 4–13 4–14 4–17 4–19 4–20 ix 4–6 4–7 4–8 C–1 C–2 C–3 C–4 C–5 C–6 C–7 C–8 SHOW SCSI and SHOW SCSI/FULL . . . . . . . . . . . . . . . . . . . FE Utility Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isolating Bad Memory Using T 9C . . . . . . . . . . . . . . . . . . . . . Entering Console Mode Display . . . . . . . . . . . . . . . . . . . . . . . SHOW QBUS Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configure Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Display for Programming the First KFQSA . . . . . . . . . . . . . . SHOW QBUS Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SHOW DEVICE Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reprogramming the KFQSA Display . . . . . . . . . . . . . . . . . . . Display for Changing Unit Number . . . . . . . . . . . . . . . . . . . . 4–40 4–41 4–45 C–5 C–5 C–7 C–8 C–11 C–12 C–14 C–16 Figures 1–1 1–2 1–3 1–4 4–1 B–1 C–1 KN220 CPU Module (M7637–AA) . . . . . . . . . . . . . . . . . . . . . 1–2 KN220 I/O Module (M7638–AA) . . . . . . . . . . . . . . . . . . . . . . 1–3 KN220 Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . 1–5 H3602–AC CPU I/O Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14 KN220 I/O Module LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24 KN220 Virtual Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . B–2 KFQSA Module Layout (M7769) . . . . . . . . . . . . . . . . . . . . . . C–3 Tables 1–1 2–1 2–2 2–3 2–4 2–5 3–1 3–2 3–3 3–4 3–5 3–6 3–7 x H3602–AC Operation and Function Switch Settings . . . . . . . Conventional ISE and Tape Slots . . . . . . . . . . . . . . . . . . . . . . ISE DIP Switch Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . TLZ04 SCSI Address Node ID Number Settings . . . . . . . . . . RRD40 SCSI Address ID Number Settings . . . . . . . . . . . . . . SCSI Cables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KN220 Firmware Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Actions Taken on a Halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . ULTRIX–32 Supported Boot Devices . . . . . . . . . . . . . . . . . . . VMB Boot Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported MDM Boot Devices . . . . . . . . . . . . . . . . . . . . . . . . Normal-Mode Control Characters . . . . . . . . . . . . . . . . . . . . . Environmental Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15 2–4 2–5 2–13 2–14 2–14 3–1 3–4 3–10 3–13 3–14 3–16 3–17 3–8 3–9 3–10 3–11 3–12 3–13 3–14 3–15 4–1 4–2 4–3 4–4 4–5 4–6 4–7 4–8 4–9 4–10 4–11 4–12 4–13 4–14 4–15 4–16 4–17 4–18 4–19 B–1 B–2 B–3 B–4 B–5 B–6 C–1 KN220 Normal Mode Commands . . . . . . . . . . . . . . . . . . . . . . Boot Device Names (Normal Mode) . . . . . . . . . . . . . . . . . . . . KN220 Console Control Characters (Maintenance Mode) . . . . Console Symbolic Addresses (Maintenance Mode) . . . . . . . . . Symbolic Addresses Used in Any Address Space . . . . . . . . . . Console Command Qualifiers (Maintenance Mode) . . . . . . . . Command Keywords by Type (Maintenance Mode) . . . . . . . . Console Command Summary (Maintenance Mode) . . . . . . . . Scripts Available to Customer Services . . . . . . . . . . . . . . . . . Commonly Used Customer Services Scripts . . . . . . . . . . . . . . Tests Run During Power-up . . . . . . . . . . . . . . . . . . . . . . . . . . Values Saved, Machine Check Exception During Executive (CVAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Values Saved, Exception During Executive (CVAX) . . . . . . . . LED Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KN220 Console Displays and FRUs . . . . . . . . . . . . . . . . . . . . System Halt Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Console Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VMB Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware Error Summary Register . . . . . . . . . . . . . . . . . . . . Running a Memory Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Common Memory Parameters . . . . . . . . . . . . . . . . . . . . . . . . Loopback Connectors for Q22-Bus Devices . . . . . . . . . . . . . . . DRVTST Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DRVEXR Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HISTRY Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ERASE Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RF-Series ISE Diagnostic Error Codes . . . . . . . . . . . . . . . . . . R3000 Physical Address Space . . . . . . . . . . . . . . . . . . . . . . . . R3000 Physical I/O Addresses . . . . . . . . . . . . . . . . . . . . . . . . KN220 Diagnostic Processor Physical Addresses . . . . . . . . . . Diagnostic Processor Registers . . . . . . . . . . . . . . . . . . . . . . . . Q22-Bus Memory Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Q22-Bus I/O Space with BBS7 Asserted . . . . . . . . . . . . . . . . KFQSA (M7769) Service Mode Switch Settings . . . . . . . . . . . 3–18 3–21 3–38 3–40 3–42 3–43 3–44 3–44 4–9 4–10 4–18 4–22 4–22 4–23 4–25 4–31 4–32 4–33 4–43 4–46 4–47 4–50 4–52 4–53 4–54 4–56 4–59 B–3 B–6 B–11 B–15 B–17 B–17 C–4 xi Preface This maintenance guide describes the base system, configuration, ROMbased diagnostics, and troubleshooting procedures for systems containing the KN220 CPU module and the KN220 I/O module. Intended Audience This guide is intended for use by Digital Customer Services personnel and qualified self-maintenance customers. Organization This guide has four chapters and six appendixes, as follows: Chapter 1 describes the KN220 base system. Chapter 2 contains system configuration guidelines and provides a table listing current, power, and bus loads for supported options. Chapter 2 also describes the Digital Storage System Interconnect (DSSI) and Small Computer Storage Interface (SCSI) bus interface cabling between the KN220 I/O module, the CPU I/O panel, the operator control panel (OCP), and the integrated storage elements (ISEs). Chapter 3 describes the KN220 diagnostic firmware, including normal mode commands and maintenance mode commands. Chapter 4 describes the KN220 diagnostics, including an error message and FRU cross-reference table. Chapter 4 also describes diagnostics that reside on the ISEs. Appendix A describes the uerf commands. Appendix B contains the address space maps for the KN220 CPU module and the KN220 I/O module. Appendix C explains how to configure the KFQSA storage adapter. Appendix D describes the Prestoserve™ commands for dealing with data in the NVRAM cache on the CPU board. xiii Appendix E lists the major field-replaceable units (FRUs) of the KN200 system. Appendix F contains a list of related documentation. Cautions, Notes, and Conventions Cautions, differences, and notes appear throughout this guide. They have the following meanings: CAUTION Provides information to prevent damage to equipment or software. NOTE Provides general information about the current topic. Boldface User input is indicated by commands in boldface type. commands are lowercase, VMS commands are uppercase. xiv ULTRIX Chapter 1 KN220 Base System This chapter describes the KN220 base system, which consists of the KN220 CPU module, the KN220 I/O module, the MS220–AA memory modules, and the H3602–AC I/O panel. 1.1 Base System Overview The KN220 system is designed for applications that require highperformance processing. The KN220 system supports only the ULTRIX– 32 operating system (Version 4.0 and later). KN220 configurations include the capability for server and multiuser support. The KN220 systems are enclosed in the DECsystem 5500 Pedestal (BA430 enclosure). The KN220 CPU module (M7637–AA) is a quad-height processor module. The KN220 CPU operates at a 30 MHz clock rate and contains a reduced instruction set computer (RISC) processor based on the R3000 MIPS chipset. The RISC implementation is based on a CPU architecture that uses a pipelined design, a simple instruction set, and write buffering. The major components on the KN220 CPU module are shown in Figure 1–1. KN220 Base System 1–1 Figure 1–1: KN220 CPU Module (M7637–AA) Manufacturing Console 100-Pin RIO Bus LEDs 100-Pin Memory J3 J2 J1 ECC Data MUX 0 Instr/ Data Cache Data MUX 1 Data MUX 2 Clock Driver Read/ Write Buffer FPU CPU ECC Data MUX 3 R3000 EPROM TAG RAM R3000 EPROM MLO-005170 1–2 KN220 CPU System Maintenance The KN220 I/O module (M7638–AA) is a quad-height module that contains mass storage and network interfaces. These interfaces provide higher performance than those available on the Q22-bus. The major components on the KN220 I/O module are shown in Figure 1–2. Figure 1–2: KN220 I/O Module (M7638–AA) 100-Pin RIO Bus LEDs 50-Pin SCSI (Top) 50-Pin H3602 (Bottom) SCSI 53C94 SSC SGEC CVAX EPROM CVAX CQBIC SII DXX 50-Pin DSSI MLO-005172 The KN220 I/O module appears as the following asynchronous devices on the KN220 CPU’s buffered RIO bus, which is a private I/O bus: • Master/slave devices: —CVAX diagnostic processor —CVAX Q22-bus interface chip (CQBIC) KN220 Base System 1–3 —Second-generation Ethernet controller chip (SGEC) • —Slave-only devices: Ethernet station address ROM —VAX-compatible console port —DSSI controller chip (SII) —DSSI buffer memory —SCSI controller chip (53C94) —SCSI buffer memory The mass storage interface controls up to seven devices on a Digital Storage System Interconnect (DSSI) bus capable of a transfer rate of 4 Mbytes per second. The Small Computer Storage Interface (SCSI) port has 128 Kbytes of static RAM buffer space with a 32-bit data and address path to the CPU module. The mass storage interface also controls up to seven devices on a Small Computer Storage Interface (SCSI) bus. The bus has a transfer rate of 4 Mbytes per second. The DSSI port has 128 Kbytes of static RAM buffer space with a 32-bit data and address path to the CPU module. The network interface is an Ethernet controller. The KN220 CPU module, the KN220 I/O module, and the MS220–AA memory module(s) combine to form a subsystem that contains an RIO bus and a Q22-bus for communicating with mass storage and I/O devices. The KN220 CPU module set and the MS220–AA modules mount in standard Q22-bus backplane slots that implement the Q22-bus in the AB rows and the CD interconnect in the CD rows. Figure 1–3 shows a functional block diagram of the KN220 CPU module, I/O module, and memory subsystem. 1–4 KN220 CPU System Maintenance Figure 1–3: KN220 Functional Block Diagram Ethernet Port RS-423 Console ThinWire H3602 Console MMU Clock Battery Switches/LEDs DESTA H3605 SCSI Panel SCSI In Port SCSI Out Port Memory Data Bus 32-64MB Memory 32-64MB Memory 50-Pin Connector DSSI Bus 32-64MB Memory SCSI Bus 50-Pin Connector 50-Pin Connector 50-Pin Connector 32-64MB Memory KN220 I/O Module - KN220 Base System DSSI Support Ethernet Support Q22 Bus Interface CVAX Diagnostic Processor CVAX Console, T.O.Y and Battery Backed RAM - 128 KB ROM - RIO to CVAX Pin Bus Interface - SCSI Support Backplane 100-Pin Connector C/D Backplane Buffered RIO Control Bus 100-Pin Connector 100-Pin Connector Memory Address Bus and Control C/D Backplane Buffered Rio Data Bus Q-bus MP2 CPU Module - MIPS R3000 33.3-MHz CPU - MIPS R3010 Floating Point Unit - Read & Write Buffer - 64KB I & D Caches - Memory Controller - Memory Interface - R3000 Console - 256 KB ROM - 32KB Non-Volatile RAM To VME Adapter 1–5 MLO-005173 1.2 KN220 Features The major features of the KN220 CPU-I/O module set are as follows: • MIPS R3000-series RISC processor with a cycle time of 33 ns. • MIPS R3010 floating-point unit. • Enhanced read/write buffer for memory throughput. • 64-Kbyte, 12-ns instruction cache. • 64-Kbyte, 12-ns data cache. • DSSI mass storage interface. • SCSI (small computer system interface) mass storage interface. • Ethernet interface that supports DMA. • Main memory controller that supports up to 256 Mbytes of error correction code (ECC) memory. The ECC memory resides on one to four MS220–AA memory modules, depending on the system configuration. • Console port featuring switch-selected baud rates. • Console port for testing the CPU module as a standalone unit. • RIO bus interface that supports DMA transfers from devices on the I/O module. • System security and features. • Q22-bus interface that supports up to 16-word, block mode transfers between a Q22-bus DMA device and main memory, and block mode transfers of up to 2 words between the CPU and Q22-bus devices. This Q22-bus interface contains: – 16-entry map cache for the 8192 entry, scatter-gather map that resides in main memory. This map translates 22-bit, Q22-bus addresses into 26-bit main memory addresses. – Interrupt arbitration logic that recognizes Q22-bus interrupt requests BR7 through BR4. – 240-ohm, Q22-bus termination. • CVAX diagnostic processor. • Two 128-Kbyte EPROMs (R3000). • 128-Kbyte EPROM (CVAX). 1–6 KN220 CPU System Maintenance • 512-Kbyte nonvolatile memory (NVRAM) 1.2.1 R3000 RISC Processor The R3000 RISC processor plus its associated R3010 floating-point unit combine to form the KN220 central processor. The R3000 chip resides on the KN220 CPU module (Figure 1–1) and implements two tightly coupled processors in a single VLSI chip. One processor is the 32-bit CPU and the other is the system control processor (CP0). The combined CPU/CP0 processors provide the following features: • 32-bit operation. The R3000 contains thirty-two 32-bit registers that use 32-bit addressing. • Pipelined design. The five-stage pipeline is capable of executing one instruction per 33-ns cycle. • On-chip cache control. Separate instruction and data caches of 64 Kbytes each. Each cache can be accessed in a single CPU cycle. • On-chip memory management. The 4-Gbyte virtual address space is mapped with a 64-entry, fully associative translation lookaside buffer (TLB). • Coprocessor interface. A tightly coupled coprocessor interface for up to four coprocessors. CP0 is located on the CPU chip. CP1 is the floatingpoint accelerator. CP2 and CP3 are not used. • Single read/write buffer. All CPU reads and writes pass through this write buffer. DIFFERENCES: For the KN220-based system, the terminology for various words is as follows: • R3000: a halfword consists of 16 bits, and a word consists of 32 bits. • CVAX: a word consists of 16 bits, and a longword consists of 32 bits. For similar systems, the terminology is the same as for the CVAX listed above: a word consists of 16 bits, and a longword consists of 32 bits. The KN220 floating-point accelerator resides on the KN220 CPU module and is implemented by a single VLSI chip called the R3010. KN220 Base System 1–7 1.2.2 Cache Memory To maximize CPU performance, the KN220 CPU module contains a 64Kbyte instruction cache and a 64-Kbyte data cache. Both caches have the same organization and are direct mapped, with a block size of one word (four bytes). The fill size is either one word (4 bytes) or four words (16 bytes). 1.2.3 Main Memory System The KN220 CPU module contains a main memory controller with state machine and memory control signals. The maximum amount of main memory supported by KN220 systems is 256 Mbytes. This memory resides on from one to four MS220–AA memory modules, depending on the system configuration. The MS220 modules communicate with the KN220 through the MS220 memory interconnect, which uses the CD interconnect for the address and control lines and a 100-pin ribbon cable for the data lines. The main memory controller supports the following: • Synchronous or asynchronous, 32-bit word read and write references • Synchronous 4-word read references generated by R3000 cache references that miss the cache • Longword, quadword, hexword, or octaword asynchronous reads generated by the CVAX or any DMA device on the RIO bus • Masked or unmasked write references (synchronous or asynchronous) generated by the DMA devices or write buffer, as well as synchronous pagemode unmasked writes 1.2.4 Console Serial Line The KN220 contains two console lines: one is located on the I/O module and one on the CPU module. The console serial line on the KN220 I/O module is the standard VAX console implemented through the System Support Chip (SSC) and the H3602–AC CPU I/O panel. The console serial line on the KN220 CPU module can be programmed to provide a full-duplex, RS–423 EIA serial line interface, which is also RS– 232C compatible. This console serial line is implemented through the 2681 DUART chip. The port is available only during manufacturing; one channel of the DUART chip is available through an 8-pin MMJ connector mounted on the CPU module (not available in the field). 1–8 KN220 CPU System Maintenance 1.2.5 Time-of-Year Clock and Timers The KN220 I/O module contains the time-of-year clock (TODR), two additional programmable timers, and a 100-Hz interval timer that serves as the R3000 interval clock. 1.2.6 Boot and Diagnostic Facility The KN220 CPU boot and diagnostic facility is contained on both the I/O and CPU modules. The KN220 CPU module contains firmware that consists of two EPROMs, each 64-Kbytes by 16 bits. Another 64-Kbyte EPROM resides on the KN220 I/O module. Both the CVAX and the R3000 CPU have access to all three EPROMs. The CPU module ROM address space extends from 1FC00000 to 1FC3FFFF in the R3000 memory map (2FC00000 to 2FC3FFFF in CVAX space). The KN220 CPU module also contains 512 Kbytes of battery backed-up NVRAM, for use as a console scratchpad and NFS buffer. This array is not protected by parity; bus parity is neither checked nor generated on reads or writes. NOTE: The NVRAM battery jumper, in the upper rear corner of the CPU board as it is seated in the enclosure, must be set in the On position (1). The KN220 firmware gains control when the processor halts and contains programs that provide the following services: • Module initialization • Power-up self-testing of the KN220 and MS220 modules • R3000 console program • Emulation of a subset of the VAX standard console, which contains manual bootstrap and a simple command language for examining or altering the state of the processor • Booting from supported Q22-bus devices, SCSI, Ethernet, and DSSI • Multilingual capability The KN220 firmware is described in detail in Chapter 3. KN220 Base System 1–9 1.2.7 Q22-Bus Interface The KN220 I/O module contains a Q22-bus interface, which is implemented by a single VLSI chip called the CQBIC (Figure 1–2). The CQBIC contains an interface between the CDAL bus and the Q22-bus and supports the following: • A programmable mapping function (scatter-gather map) for translating 22-bit, Q22-bus addresses into 26-bit main memory addresses. This mapping function allows any page in the Q22-bus memory space to be mapped to any page in main memory. • A direct mapping function for translating 26-bit main memory addresses into 22-bit, Q22-bus addresses. These main memory addresses are located in the local Q22-bus address space and the local Q22-bus I/O page. • Masked and unmasked longword reads and writes from the CPU to the Q22-bus memory and I/O space and the Q22-bus interface registers. – Longword reads and writes of the local Q22-bus memory space are buffered and translated into two-word (16 bits), block mode transfers. – Longword reads and writes of the local Q22-bus I/O space are buffered and translated into two single-word transfers. • Block-mode writes of up to 16 words from the Q22-bus to main memory. • Transfers from the CPU to local Q22-bus memory space. The Q22-bus map translates the address back into main memory (local-miss, globalhit transactions). 1.2.8 CVAX Diagnostic Processor The KN220 CPU diagnostic processor is located on the KN220 I/O module. The diagnostic processor is implemented by a single VLSI chip called the CVAX. The KN220 processor is used for the following: • Power-up diagnostics • Extended self-tests and scripts • Booting and running MDM diagnostics The CVAX supports the MicroVAX chip subset (plus six additional string instructions) of the VAX instruction set, data types, and full VAX memory management. The processor state is composed of 16 general purpose registers (GPRs), the processor status longword (PSL), and internal processor registers (IPRs). 1–10 KN220 CPU System Maintenance The KN220 CPU diagnostic processor is capable of detecting the following types of error conditions during program execution: • CDAL bus parity errors. MSER<6> (on a read) is set. • Q22-bus NXM errors. DSER<7> is set. • Q22-bus NO SACK errors. No indicator. • Q22-bus NO GRANT errors. DSER<2> is set. • Q22-bus device parity errors. DSER<5> is set. • CDAL-bus timeout errors. DSER<4> (on DMA) is set. • Main memory NXM errors. DSER<0> (on DMA) is set. • Main memory correctable errors. • Main memory uncorrectable errors. DSER<4> (on DMA) is set. 1.2.9 Network Interface The KN220 I/O module contains a network interface implemented through the Ethernet controller and serial interface adapter chips. The H3602–AC CPU I/O panel interface allows you to connect the KN220 I/O module to either a ThinWire or standard Ethernet cable. The second-generation Ethernet chip (SGEC) connects to the CP bus and the system through command and status registers (CSRs) and a system communication area in main memory. For data transfer, the SGEC contains a DMA controller that supports physical memory addresses. The hardware address of the KN220 I/O module is determined during manufacture and is stored in the network interface station address (SAR) ROM. 1.2.10 DSSI Interface The KN220 I/O module contains an SII chip and four 32K by 8-bit static RAMs that implement the Digital Storage System Interconnect (DSSI) bus interface. The DSSI interface allows the KN220 to transmit packets of data to, and receive packets of data from, up to seven RF-series integrated storage elements (ISEs). The DSSI bus improves system performance for two reasons: • It is faster than the Q22-bus. • It relieves the Q22-bus of disk traffic, thereby allowing more bandwidth for Q22-bus devices. KN220 Base System 1–11 The physical characteristics of the DSSI bus are as follows: • 4 Mbytes/second maximum bandwidth • Distributed arbitration • Synchronous operation • Parity checking • Six-meter total bus length (includes internal and external cabling) • Maximum of eight nodes (KN220 I/O module counts as one) • Eight data lines • One parity line • Eight control lines See the following sections for more information about the DSSI bus and RF-series ISEs: Section 2.6 Section 3.10.16 Section 4.3 Section 4.7 Setting and changing DSSI node names, addresses, and unit numbers Console SET HOST command DSSI ISE acceptance testing RF-series resident diagnostics and local programs 1.2.11 SCSI Interface The KN220 I/O module also contains a small computer storage interface (SCSI) bus that is implemented through the 53C94 chip and four 32K by 8-bit static RAMs. The SCSI interface allows the KN220 I/O module to transmit packets of data to, and receive packets of data from, external SCSI devices. See Section 2.7 for more information. 1.3 H3602–AC CPU I/O Panel The H3602–AC CPU I/O panel, shown in Figure 1–4, contains the following components: • An operation switch • A function switch • Seven-segment LED for diagnostics • A console serial line connector • A console baud rate select switch 1–12 KN220 CPU System Maintenance • A 15-conductor connector for standard Ethernet cable • A BNC connector plug for a ThinWire Ethernet coaxial cable • An Ethernet connector select switch • Two LEDs that indicate the selected Ethernet connector (ThinWire or standard) • One LED that indicates valid +12 Vdc for the selected Ethernet connector The H3602–AC switches are read by the firmware when the processor starts. For this reason, if you change the baud rate on the H3602–AC, the new baud rate does not take effect until you power up or reset the system. The hex LED display shows the individual test numbers during the powerup self-tests and bootstrap. Codes for the LED display are listed in Chapter 4, Table 4–6. You connect the KN220 I/O module to the H3602–AC module cover through a ribbon cable and to the H3605 module cover through a ribbon cable. The H3602–AC connects to the bottom of the double-stack connector on the I/O module, and the H3605 connects to the top connector of the double stack on the I/O module. KN220 Base System 1–13 Figure 1–4: H3602–AC CPU I/O Panel MS220-BA Memory Modules KN220 KN220 CPU Module I/O Module H3602 CPU Module H3605 SCSI Panel CPU/Memory Cable RIO Cable MLO-005372 1–14 KN220 CPU System Maintenance DIFFERENCES FROM KN210 SYSTEMS: The KN220 System has an interface module, M9715–AA, in slot 0, next to the power supply. KN210 systems had no M9715–AA module. For the KN220 system, use the switch settings that appear in Table 1–1. The operation switch (three-position rotary) and the function switch (twoposition slider) are described in Table 1–1. See Chapter 3 for a detailed description of power-up procedures and console commands. Table 1–1: H3602–AC Operation and Function Switch Settings Operation Switch Position Function Switch Position Action mode Normal mode Maintenance mode Action Test. The console serial line external loopback test is executed at the completion of the power-up selftests. Use the H3103 MMJ loopback (12–25083–01). See Section 1.4 for a description of security features. Query. The user is prompted for the language. Power-up self-tests are run. Power-up self-tests run and, if successful, console enters normal mode (>>). If the bootmode environment variable is set to a, the R3000 processor attempts to locate a booting device specified through the bootpath environmental variable. If the bootmode environment variable is set to d, the R3000 processor enters normal mode without running any diagnostics, and prompts the user for commands. Breaks enabled. Breaks disabled. Power-up self-tests run and console enters maintenance mode (>>>). Breaks enabled. Breaks disabled. DIFFERENCES: The KN220 system has no autoboot capability when the operation switch is set to the maintenance position. See Chapter 3, Section 3.6.1.1, for information on the ULTRIX–32 bootstrap procedure. Similar systems do have the autoboot capability when the operation switch is set to the maintenance position. KN220 Base System 1–15 1.4 Using Console Security DECsystem 5500 systems have a console security feature as part of the console firmware. The security feature allows you to secure the system. When the system is secure, unprivileged users (users who do not know the security password) are limited to just the boot command (with no arguments). Privileged users, knowing the security password, have access to all console commands. 1.4.1 Securing the System To secure the system, use the passwd command as follows: NOTE: If unprivileged users are to be allowed to boot the system, the system manager should assign values to the bootpath and bootmode variables before securing the system. Once the system is secure, unprivileged users cannot issue the boot command with arguments or set the boot mode/boot path environment variables. 1. At the console prompt (>>), enter the set password command, passwd -s. 2. At the ‘‘New password:’’ prompt, enter a password of 8–32 characters. You must retype the password for verification. 3. After the password has been accepted, enter the command passwd -u which causes the console module to display the unprivileged console prompt (s>). Unprivileged users are limited to the boot command with no arguments. The following example shows how to secure the system. >> passwd -s New password: Retype new password: New password accepted >> passwd -u Memory Size: 16777216 (0x1000000) bytes Ethernet Address: 08-00-2b-12-81-22 S> 4. To maintain security, the Operation switch must remain set to Normal mode (indicated by the arrow) and the lower front door should be locked. 1–16 KN220 CPU System Maintenance 1.4.2 Privileged Users By entering the security password, privileged users have access to all the console commands. In the example below, the passwd command is used to access the privileged console prompt (>>). s> passwd Password: Password accepted. Memory Size: 16777216 (0x1000000) bytes Ethernet Address: 08-00-2b-12-81-22 >> For a complete description of the passwd command, refer to Section 1.4.4. 1.4.3 Unsecuring the System Privileged users can remove the security restrictions by using the clear password command, passwd -c at the console prompt (>>). For example, >> passwd -c >> removes all security restrictions from the console firmware. The system is now unsecure. If you forget the security password, you must use the following procedure to clear the password. 1. Set the Operation switch to the Maintenance mode setting (indicated by a T inside a circle). 2. Press the Restart button on the System Control Panel (SCP). 3. After the system completes self-tests, enter the maintenance command unpriv at the Maintenance mode prompt (>>>). 4. Reset the Operation switch to the Normal mode setting (indicated by and arrow). 5. Press the Restart button and wait for self-test to complete. You can now enter a new security password. For a complete description of the passwd and unpriv commands, see Section 1.4.4 and Section 1.4.5. KN220 Base System 1–17 1.4.4 The passwd Command passwd [-(s | c | u]) The four variants of this command are used to control the console security feature. Using the console security feature, you can secure the system and limit unprivileged users (users who do not know the security password) to just the boot console command. The use of the passwd command with flags is restricted to privileged mode (>>), while the use of passwd without flags is restricted to unprivileged mode (s>). passwd —This command enables the console user to enter the security password to become privileged. passwd s —This command is used to set a new security password. The security password can be from 8 to 32 characters long. This variant is available only in privileged mode (>>). passwd c —This command removes security restrictions by clearing the security password. passwd u —This command causes the console user to be unprivileged. The unprivileged console prompt (s>) is displayed. 1.4.5 The unpriv Command unpriv This Maintenance mode command clears the security password by setting it to zero. This command is used to unsecure or disable the console security feature if you forget the security password. To enter Maintenance mode, set the Operation switch to Maintenance mode (indicated by a T inside a circle). Press the Restart button on the SCP. After clearing the password, you must reset the Operation switch to Normal mode (indicated by an arrow) and press the Restart button again. 1–18 KN220 CPU System Maintenance 1.5 MS220 Memory The MS220–AA (M7639–AA) is a 32-Mbyte memory module that provides memory for the KN220 system. The MS220–AA is a pseudo-intelligent memory array module. The quad-height MS220–AA has a 100-ns, 78 bit-wide array (64-bit data and 14-bit ECC), implemented with 1-Mbit dynamic RAMs in dual in-line packages (SOIC). The KN220 CPU module and up to four MS220–AA memory modules (128 Mbytes maximum) communicate through the MS220 memory interconnect. This interconnect uses the CD backplane interconnect for address and control signals and a 100-pin ribbon cable for data signals. Ordering Information MS220–AA 32-Mbyte module only (M7639–AA). Diagnostic Support MicroVAX Diagnostic Monitor Self-test Release 133 (Version V4.4) KN220 self-test KN220 Base System 1–19 Chapter 2 KN220 Configuration 2.1 Introduction This chapter provides guidelines for changing the configuration of a KN220 system. Before you change the system configuration, you must consider the following factors: Module order in the backplane Module configuration Mass storage device configuration If you are adding a device to a system, you must know the capacity of the system enclosure in the following areas: Backplane I/O panel Power supply Mass storage devices 2.2 General Module Order The order of modules in the backplane depends on four factors: • Relative use of devices in the system • Expected performance of each device relative to other devices • The ability of a device to tolerate delays between bus requests and bus grants (called delay tolerance or interrupt latency) • The tendency of a device to prevent other devices farther from the CPU from accessing the bus KN220 Configuration 2–1 2.3 Module and Bulkhead Order for KN220 Systems Observe the following rules about module order: • Interface module (M9715) in slot 0. • KN220 I/O module (M7638–AA) in slot 1. • KN220 CPU module (M7637–AA) in slot 2. • MS220–AA (M7639–AA) memory module in slot 3. Install any additional MS220–AA memory modules in slots 4, 5, and 6. • Do not install dual-height modules in the CD rows. Observe the following rules about bulkhead order: • H3605 (70–27464–01), single-width bulkhead with two connector ports, is installed over slot 1 and connected to the I/O module in slot 1. • H3602–AC (70–25775–03), double-width bulkhead, is installed over slots 2 and 3 and covers the CPU and the first memory module. 2.4 Memory Module Configuration Memories have no registers in which the memory capacities can be configured. You need to run T 9A after installation of the memory if you want to view the board-specific memory configuration. (See Section 4.8.9.) Test 9A allows you to enter the capacity of each individual memory module. The specifications you enter in T 9A stay in NVRAM as long as battery power is applied, or until you run T 9A and enter changes. See Section 4.3. 2.5 Q-Bus Module Configuration The Q-bus passes through the backplane in a BA400-series enclosure. Each Q-bus module in a system must use a unique device address and interrupt vector. The device address is also known as the control and status register (CSR) address. Most modules have switches or jumpers for setting the CSR address; most interrupt vector values are set by software. The value of a floating address depends on what other modules are housed in the system. Set CSR addresses and interrupt vectors for a module as follows: 1. Determine the correct values for the module with the CONFIGURE command at the maintenance mode prompt (>>>). Type CONFIGURE, then HELP for the list of supported devices. 2–2 KN220 CPU System Maintenance NOTE: Some of the devices listed in the HELP display are not supported by the KN220 CPU module set. See the description of the CONFIGURE and HELP commands in Section 3.10.2 of how to obtain the correct CSR addresses and interrupt vectors, and Section 3.10.10 for a description of the help screen . The LPV11–SA, which is the LPV11 version compatible with the BA400series enclosures, has two sets of CSR address and interrupt vectors. To determine the correct values for an LPV11–SA, enter LPV11,2 at the Device, Number? prompt for one LPV11–SA, or enter LPV11,4 for two LPV11–SA modules. 2. See Appendix C for instructions on how to configure the KFQSA storage adapter. Appendix C explains how to do the following: • Set a four-position switchpack on the KFQSA • Program the CSR addresses for all the system’s DSSI devices into the EEROM on the KFQSA • Reprogram the EEROM when you add DSSI devices 3. See Microsystems Options for switch and CSR and interrupt vector jumper settings for supported options. KN220 Configuration 2–3 2.6 DSSI Configuration This section concerns the internal RF-series storage devices linked to the host CPU by means of the Digital Storage System Interconnect (DSSI). To link external RF-series storage devices to the host CPU by means of the KFQSA module, see Appendix C. Whether internal or external to the host system, each storage device on a DSSI storage bus must have a unique DSSI node ID. The RF-series (ISE) receives its node ID from a plug on the operator control panel (OCP) on the front panel of each separate ISE. By convention, ISEs are mounted in the BA430 enclosure from right to left, as listed in Table 2–1. Table 2–1: Conventional ISE and Tape Slots Device Position Node ID1 TK70 is in rightmost slot First ISE Second ISE Third ISE – Right side Center Left side 0 1 2 1 KN220 node ID = 7 If the cable between the ISE and the OCP is disconnected, the ISE reads the node ID from three DIP switches on its electronic controller module (ECM). NOTE: Pressing the system reset button on the front of the power supply has no effect on the ISEs. You must perform a power cycle. The node ID switches are located behind the 50-pin connector on the ECM. Switch 1 (the MSB) is nearest to the connector. Switch 3 (the LSB) is farthest from the connector. Refer to the RF71 section in Microsystems Options for an illustration and further information. Table 2–2 lists the switch settings for the eight possible node addresses. NOTE: The node ID plugs on the control panel of each ISE override the ISE DIP switches. It is good practice, however, to set the DIP switches to equal the node ID plugs. 2–4 KN220 CPU System Maintenance Table 2–2: ISE DIP Switch Settings Node ID S1 S2 S3 0 1 2 3 4 5 6 7 Down Down Down Down Up Up Up Up Down Down Up Up Down Down Up Up Down Up Down Up Down Up Down Up KN220 Configuration 2–5 The maintenance mode SET HOST/DUP command creates ISE device names according to the following scheme: nodename $ DIA unit number. For example, KATH$DIA3 You can use the device name for booting MDM, as follows: >>> BOOT KATH$DIA3 You can access local programs in the ISE through the MicroVAX Diagnostic Monitor (MDM) or through the maintenance mode SET HOST/DUP command. This command creates a virtual connection to the storage device and the designated local program, using the Diagnostic and Utilities Protocol (DUP) standard dialog. Section 3.10.16 describes the SET HOST /DUP command. 2.6.1 Changing the Node Name Each ISE has a node name that is maintained in the EEPROM on the controller module. This node name is determined in manufacturing from an algorithm based on the drive serial number. You can change the node name of the ISE to something more meaningful by following the procedure in Example 2–1. In the example, the node name for the RF71 ISE at DSSI node address 1 is changed from R3YBNE to DATADISK. See Section 4.7.5 for further information about the PARAMS local program. Example 2–1: Changing a DSSI Node Name >>> SHOW DSSI DSSI Node 0 (MDC) -rf(0,0,*) (RF71) DSSI Node 1 (R3YBNE) !The node name for this drive will be -rf(1,1,*) (RF71) !changed from R3YBNE to DATADISK. DSSI Node 7 (*) >>> >>> SET HOST/DUP/DSSI 1 PARAMS Starting DUP server... Copyright 1988 Digital Equipment Corporation PARAMS> SHOW NODENAME Parameter Current --------- ---------------NODENAME R3YBNE Default ---------------RF71 Example 2–1 Cont’d on next page 2–6 KN220 CPU System Maintenance Type -------String Radix ----Ascii B Example 2–1 (Cont.): Changing a DSSI Node Name PARAMS> SET NODENAME DATADISK PARAMS> WRITE !This command writes the change !to EEPROM. Changes require controller initialization, ok? [Y/(N)] y Stopping DUP server... >>> SHOW DSSI DSSI Node 0 (MDC) -rf(0,0,*) (RF71) DSSI Node 1 (DATADISK) -rf(1,1,*) (RF71) !The node name has changed from !R3YBNE to DATADISK. DSSI Node 7 (*) 2.6.2 Changing the Unit Number By default, the ISE’s unit number is the same value as the DSSI node address for that drive. This occurs whether the DSSI node address is determined from the bus ID plugs or from the three DIP switches on the ISE controller module. ISEs conform to the Digital Storage Architecture (DSA). Each drive can be assigned a unit number from 0 to 16,383 (decimal). The unit number need not be the same as the DSSI node address. Example 2–2 shows how to change the unit number of an ISE. This example changes the unit number for the RF71 at DSSI node address 1 from 1 to 14 (decimal). You must change two parameters: UNITNUM and FORCEUNI. Changing these parameters overrides the default, which assigns the unit number the same value as the node address. See Section 4.7.5 for further information about the PARAMS local program. KN220 Configuration 2–7 Example 2–2: Changing a DSSI Unit Number >>> SHOW DSSI DSSI Node 0 (MDC) -rf(0,0,*) (RF71) DSSI Node 1 (R3QJNE) !The unit number for this drive will be -rf(1,1,*) (RF71) !changed from 1 to 14 DSSI Node 7 (*) >>> >>> SET HOST/DUP/DSSI 1 Starting DUP server... Copyright 1988 Digital Equipment Corporation DRVEXR V1.0 D 2-JUN-1989 15:33:06 DRVTST V1.0 D 2-JUN-1989 15:33:06 HISTRY V1.0 D 2-JUN-1989 15:33:06 ERASE V1.0 D 2-JUN-1989 15:33:06 PARAMS V1.0 D 2-JUN-1989 15:33:06 DIRECT V1.0 D 2-JUN-1989 15:33:06 End of directory Task Name? PARAMS Copyright 1988 Digital Equipment Corporation PARAMS> SHOW UNITNUM Parameter Current --------- ---------------UNITNUM 1 Default ---------------1 Type -------Word Radix ----Dec U Default ---------------1 Type -------Boolean Radix ----0/1 U PARAMS> SHOW FORCEUNI Parameter Current --------- ---------------FORCEUNI 1 PARAMS> SET UNITNUM 14 PARAMS> SET FORCEUNI 0 PARAMS> WRITE !This command writes the changes !to the EEPROM. PARAMS> EX Exiting... Task Name? Example 2–2 Cont’d on next page 2–8 KN220 CPU System Maintenance Example 2–2 (Cont.): Changing a DSSI Unit Number Stopping DUP server... >>> >>> SHOW DSSI DSSI Node 0 (MDC) -rf(0,0,*) (RF71) DSSI Node 1 (R3QJNE) -rf(1,14,*) (RF71) !The unit number has changed !and the node ID remains at 1. DSSI Node 7 (*) 2.6.3 DSSI Cabling Each ISE has a connector that connects to the backplane. The ISEs are connected to the internal DSSI bus by means of the backplane. A 10-conductor cable connects each ISE to the OCP on its front panel. A 50-conductor round cable is routed from the external DSSI connector, lower left of the front of the unit, to the backplane. KN220 Configuration 2–9 2.6.4 DSSI Bus Termination and Length The DSSI bus has a maximum length of 6 m (19.8 ft), including internal and external cabling. The DSSI bus must be terminated at both ends. The KN220 I/O module terminates the DSSI bus at one end. A terminator on the left side of the media faceplate terminates the bus at the other end. This terminator can be removed if you need to expand the bus. 2.7 SCSI Configuration and Cabling This subsection describes the Small Computer System Interface (SCSI) device configuration and SCSI bus cabling in a DECsystem 5500 system. CAUTION: If you have a TLZ04-GA, it is supplied with two cables. One cable is the BCO6P-06, which is a 1.83-m (6-foot) cable and should be used. The other cable is shorter in length and should not be used. 2.7.1 Adding External Devices CAUTION: Before you proceed with step one below read the following list of general configuration rules. 1. All external SCSI cables used with the DECsystem 5500 must be BC06P cables. 2. A maximum of two BC06P cables may be used in any one bus. BC06P cables are available in lengths of .76 m (2.5 ft), 1.83 m (6 ft), and 2.74 m (9 ft). • An exception: If a 2.74-m (9-foot) BC06P cable is used in the system, only one cable is allowed. • The .76 m (2.5 ft) cable that is used to connect the adapter to the storage shelf in the Q-bus-based BA430 enclosure is an external cable that must be counted in calculating the maximum length. 3. There are no restrictions on the number of devices or the type of devices under these rules as long as the devices are within the standard limits of the SCSI bus. For example, only seven devices maximum per bus are allowed. 4. Care must be taken not to exceed the industry standard maximum bus length of 6 meters. If the above steps are followed, there should be no problem. The BA430 enclosure’s internal SCSI bus length is 1.2 m (47 in). 5. If there are tabletop drives connected to the DECsystem 5500, the internal cable length must be taken into account. 2–10 KN220 CPU System Maintenance 6. To connect the BA430 external drive to the SCSI bus, attach the 1.83 m (6 ft) SCSI cable (17–02659–02) to the bottom connector of the CPU module. Connect the terminator (12–30552–01) to the top connector. Pull the bail latches toward the cable and terminator to hold them in place. 7. Connect the other end of the 1.83-m (6-foot) SCSI cable to the top connector of the tabletop drive. 8. Connect the terminator to the lower connector of the drive. NOTE: The two following steps are for internal drives only. 9. To connect the BA430 internal drive to the SCSI bus, attach the .76 m (2.5 ft) SCSI cable (17–02659–03) to the top connector of the CPU module. Connect the terminator (12–30552–01) to the lower connector. Pull the bail latches toward the cable and terminator to hold them in place. 10. Connect the other end of the .76 m (2.5 ft) SCSI cable to the connector. (When connecting more than one drive refer to Chapter 6 for information on connecting multiple drives.) 2.7.2 Connecting Multiple Drives Multiple drives are connected to the CPU module by a daisy-chain cabling configuration. TLZ04, RZ5x, or RRD40 drives may be daisy chained in any order. Each drive then must be assigned a unique node ID number. (See Section 6.3.) Because the embedded drive has no power supply, it is physically smaller than the tabletop model, which does have a power supply. 2.7.3 Connecting Tabletop Drives Connection of the tabletop drives proceeds as follows: 1. Remove the terminator from the lower connector of the first drive and replace it with 1.83 m (6 ft) SCSI cable. 2. Connect the other end of the cable to the top connector of the next drive. 3. Connect the SCSI terminator to the bottom connector. (The SCSI bus can accommodate up to three drives, with the last drive being terminated on the bottom connector.) KN220 Configuration 2–11 2.7.4 Connecting Internal Drive to Tabletop Drive Because the internal drive is embedded in the system, the cable connections for additional drives begin at the CPU module. All additional drives must be tabletop models. 1. Remove the terminator from the bottom connector of the CPU module and replace it with a 1.83-m (6-foot) SCSI cable. 2. Connect the other end of the cable into the top connector of the next drive. 3. Connect the terminator to the bottom connector. (The CPU module can accommodate up to three drives, with the last terminated on the bottom connector.) 2.7.5 Assigning the Node ID You must assign to each drive and to the CPU module a unique SCSI node ID. NOTE: The higher the node ID address number selected, the higher the bus priority. 2.7.6 SCSI Interface ID Switches Before proceeding, locate the SCSI switches on the back of your drive. The four numbered DIP switches set the SCSI address ID number that the drive will respond to in the system. The drive must be given a SCSI address ID number by setting the switch. See Tables 2–3 and 2–4. 1. Power down all drives before assigning a SCSI ID number. 2. Determine the SCSI address ID number that your drive will be assigned. The address ID number can be any number from 0 to 7. The default ID for the CPU module is 7. 3. Set the switches to the correct address ID number. (The TLZ04 and RRD40 drive switches are marked differently.) 4. After you complete the drive switch settings, use MDM to test your SCSI bus interconnects. CAUTION: Use a ballpoint pen or pointed object to set the switches. Never use a pencil to set the switches. The graphite used in pencils can damage the switches. 2–12 KN220 CPU System Maintenance Table 2–3: TLZ04 SCSI Address Node ID Number Settings ID Switch Settings No. SW4 SW2 SW1 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 Key to switch settings 1 = down 0 = up Switch P is not used KN220 Configuration 2–13 Table 2–4: RRD40 SCSI Address ID Number Settings ID Switch Settings No. 1 2 3 4 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 0 5 1 0 1 0 6 1 1 0 0 7 1 1 1 0 Key to Switch Settings 1 = ON = UP 0 = OFF = DOWN Switch 4 must be set to 0 Table 2–5 describes the SCSI cables. Table 2–5: SCSI Cables Cable Description Order Number 2.74-m (9-foot) SCSI 50-pin cable 17–02659–01 1.83-m (6-foot) SCSI 50-pin cable 17–02659–02 .76-m (2.5-foot) SCSI 50-pin cable 17–02659–03 .31-m (12-inch) 50-pin ribbon cable 70–22834–03 .53-m (21-inch) 50-pin ribbon cable 70–22834–02 .92-m (36-inch) 50-pin ribbon cable 70–22834–01 SCSI terminator 12–30552–01 2–14 KN220 CPU System Maintenance Chapter 3 KN220 Firmware 3.1 Introduction This chapter describes the KN220 firmware. The KN220 CPU-I/O module set contains a maximum of 384 Kbytes of EPROM for the firmware. This firmware is located as follows: • R3000: two 128-Kbyte EPROMs on the KN220 CPU module (256 Kbytes) • CVAX: one 128-Kbyte EPROM on the KN220 I/O module The EPROMs are arranged as 32-bit words and are located at the following R3000 and CVAX restart locations: • R3000: physical address 1FC00000 • CVAX: physical address 20040000 NOTE: In the KN220 system, the firmware resides in three EPROMs: two for R3000 and one for CVAX. The CVAX and R3000 firmware contain the major functional blocks of code listed in Table 3–1. Table 3–1: KN220 Firmware Code CVAX Firmware Code R3000 Firmware Code Halt entry, dispatch, and exit Primary and secondary bootstrap (MDM) Console program (maintenance mode commands) System restart ROM-based diagnostics Primary and secondary bootstrap (ULTRIX–32) Console program (normal mode commands) ROM-based diagnostics KN220 Firmware 3–1 The firmware uses the KN220 IO module LEDs and the console terminal to communicate diagnostic progress, display error conditions, and indicate the current mode of operation. This chapter discusses the following: • CVAX halt procedures • Power-up procedures • Bootstrap procedures for ULTRIX–32 and MDM • R3000 console program and normal mode commands • CVAX console program and maintenance mode commands The CVAX/R3000 ROM-based diagnostics are described in Chapter 4. 3.2 KN220 Firmware Features The KN220 CVAX and R3000 firmware provide the following features: • Automatic or manual bootstrap of customer application images at power-up, reset, or conditionally after processor halts. • A CVAX interactive command language (maintenance mode) that allows you to examine and alter the state of the processor. • An R3000 interactive command language (normal mode) that allows you to make use of environment variables to pass information to the ULTRIX–32 operating system. • Diagnostics and console utilities that test components on the KN220 and memory modules and test devices on the DSSI bus, SCSI bus, and Ethernet. • LEDs and displays on the KN220 IO module and console terminal that display diagnostic progress and error reports. • Multilingual support. In maintenance mode only, the firmware can issue system messages in several languages. The processor must be functioning at a level capable of executing instructions from the maintenance program ROM for the maintenance program to operate. 3–2 KN220 CPU System Maintenance 3.3 CVAX Halt Entry and Dispatch Code Unless a halt occurs when the R3000 is running, the CVAX processor enters the halt entry code at physical address 20040000 whenever the CVAX receives a halt signal. The halt entry code saves machine state, then transfers control to the firmware halt dispatcher. After a halt, the halt entry code saves the current LED code, then writes an E to the LEDs. An E on the LEDs indicates that at least several instructions have been successfully executed, although if the CPU is functioning properly, the E occurs too quickly to be seen. The halt entry code saves the following registers. The console intercepts any direct reference to these registers and redirects it to the saved copies. R0–R15 PR$_SAVPSL PR$_SCBB DLEDR SSCCR ADxMCH ADxMSK General purpose registers Saved processor status longword register System control block base register Diagnostic LED register SSC configuration register SSC address match registers SSC address mask registers The halt entry code unconditionally sets the following registers to fixed values on any halt to ensure that the console itself can run: SSCCR ADxMCH ADxMSK CBTCR TIVRx SSC configuration register SSC address match registers SSC address mask registers CDAL bus timeout control register SSC timer interrupt vector registers The console command interpreter does not modify actual processor registers. Instead, it saves the processor registers in console memory when it enters the halt entry code, then directs all references to the processor registers to the corresponding saved values, not to the registers themselves. When the processor reenters normal mode, the saved registers are restored and any changes become operative only then. References to processor memory are handled normally. The binary load and unload command (X, Section 3.10.21) cannot reference the console memory pages. After saving the registers, the halt entry code transfers control to the halt dispatch code. The halt dispatch code determines the cause of the halt by reading the halt field (PR$_SAVPSL <13:08>), the processor halt action field (PR$_CPMBX <01:00>), and the break enable switch on the H3602– AC panel. Table 3–2 lists the actions taken, by sequence. If an action fails, the next action is taken. There is no autoboot on the CVAX side. KN220 Firmware 3–3 Table 3–2: Actions Taken on a Halt Breaks Enabled on H3602–AC Power-Up Halt1 Halt Action2 Action T3 T F F X X X Diagnostics, halt Halt Diagnostics, halt Restart, halt Restart, halt Halt Halt T F T F F F F X 0 X 0 1 2 3 1 Power-up halt: PR$_SAVPSL<13:08>=3 2 Halt action: PR$_CPMBX<01:00> 3 T = condition is true, F = condition is false, X = does not matter 3.4 External Halts Several conditions can trigger an external halt, and different actions are taken depending on the condition. The conditions are listed below. • The function switch is set to enable, and you press Break on the system console terminal. • Assertion of the BHALT line on the Q22-bus. • Deassertion of DCOK. A halt is delivered if the processor is not running out of halt-protected space, and the BHALT ENB bit is set. The system restart switch deasserts DCOK. DCOK may also be deasserted by the DELQA sanity timer or any other Q22-bus module that chooses to implement the Q22-bus restart/reboot protocol. When in maintenance mode, the processor halts on the deassertion of DCOK. If halts are enabled, the firmware enters maintenance mode. If halts are disabled, the firmware takes the action dictated by the halt action field. The action taken by the halt dispatch code on a console Break or Q22-bus BHALT is the same: the firmware enters maintenance mode if halts are enabled. The halt dispatch code distinguishes between DCOK deasserted and BHALT by assuming that BHALT must be asserted for at least 10 milliseconds, and that DCOK is deasserted for at most 9 microseconds. To determine if the BHALT line is asserted, the firmware steps out into halt-unprotected space after 9 milliseconds. If the processor halts again, 3–4 KN220 CPU System Maintenance the firmware concludes that the halt was caused by the BHALT and not by the deassertion of DCOK. 3.5 Power-Up On power-up, the firmware performs several unique actions. It runs the initial power-up test (IPT), locates and identifies the console device, performs a language inquiry, and runs the remaining diagnostics. The IPT waits for power to stabilize by monitoring SCR<5>(POK). Once power is stable, the IPT verifies that the console private SSC NVRAM (System support chip nonvolatile RAM) is valid (backup battery is charged). If it is invalid or zero (battery is discharged), the IPT tests and initializes the SSC NVRAM. NOTE: The CPU board also contains NVRAM and a battery-backup system. For details of CPU verification, see Section D.3.3. After the battery check, the firmware tries to determine the type of terminal attached to the console serial line. If the terminal is a known type, it is treated as the system console. Once a console device has been identified, the firmware displays the KN220 banner message: KN220-A Vn.n The banner message contains the processor name (KN220–A) and the version of the firmware (Vn.n), where n.n denotes the major and minor release numbers. Power-up actions differ, depending on the state of the operation switch located on the H3602–AC CPU I/O panel, shown previously in Figure 1–4. 3.5.1 Power-Up Sequence: Operation Switch Set to Normal If you set the operation switch on the H3602–AC CPU I/O panel to the normal position ( ), the power sequence is as follows: 1. CVAX powers up (begins execution at a location pointed to by physical address 20040000). In addition, the console displays the language selection menu if the operation switch is set to the normal position ( ) and the contents of SSC NVRAM are invalid. The console uses the saved console language if the operation switch is set to the normal position and the contents of SSC NVRAM are valid. 2. CVAX runs self-test diagnostics. KN220 Firmware 3–5 3. CVAX executes an EXIT command (40 000 000 is written into the SPR). 4. CVAX hangs on a DMA grant. 5. R3000 begins execution at address 1FC00000. – If the bootmode environmental variable is set to a, the R3000 attempts to autoboot. If the bootpath environment variable is valid, the autoboot succeeds. See Section 3.7.2 for a description of environmental variables. – If the bootmode environment variable is not initialized (*), the R3000 prompts you for a command at the normal mode prompt (>>). If you enter maint at the >> prompt, 80 000 000 is written in the SPR, the R3000 hangs on a RDBUSY stall, and the CVAX resumes execution (the >>> prompt is displayed). 3.5.2 Power-Up Sequence: Operation Switch Set to Maintenance If you set the operation switch on the H3602–AC CPU I/O panel to the maintenance position ( ), the power-up sequence is as follows: 1. CVAX powers up (begins execution at a location pointed to by physical address 20040000). In addition, the console displays the language selection menu if the operation switch is set to the normal position ( ) and the contents of SSC NVRAM are invalid. The console uses the saved console language if the operation switch is set to the normal position and the contents of SSC NVRAM are valid. 2. CVAX runs self-test diagnostics. 3. CVAX enters maintenance mode and prompts you for commands at the maintenance mode prompt (>>>). – If you enter EXIT at the >>> prompt, the CVAX hangs on a DMA grant and the R3000 begins execution (the >> prompt is displayed). 3.5.3 Operation Switch Set to Action: Loopback Tests You can verify the connection between the KN220 CPU module set and the console terminal, as follows: 1. Set the operation switch to the action position ( ). 2. Set the function switch to enable ( ). 3–6 KN220 CPU System Maintenance 3. To test the console terminal, connect the H3103 loopback connector to the H3602–AC console connector. (You must install the loopback connector to run the test.) 4. To test the console cable, connect the H8572 connector at the end of the console cable and connect the H3103 to the H8572. During the test, the firmware toggles between the active and passive states. During the active state (3 seconds), the LED is set to 7. The firmware reads the baud rate and operation switch setting, then transmits and receives a character sequence. During the passive state (7 seconds), the LED is set to 4. If at any time the firmware detects an error (parity, framing, overflow, or no characters), the display hangs at 7. If you move the operation switch from the action position, the firmware continues as on a normal power-up. 3.5.4 Operation Switch Set to Action: Language Query If you set the operation switch to the action position ( ) and the function switch to query ( ), or if the firmware detects that the contents of NVRAM are invalid, the firmware prompts you for the language to be used for displaying the following system messages: Failure. Performing normal system tests. Tests completed. Normal operation not possible. The selection menu for the language and keyboard type is shown in Example 3–1. If no response is received within 30 seconds, the firmware defaults to English. KN220 Firmware 3–7 Example 3–1: Language Selection Menu KN220-A Vn.n 1) Dansk 2) Deutsch (Deutschland/Österreich) 3) Deutsch (Schweiz) 4) English (United Kingdom) 5) English (United States/Canada) 6) Español 7) Français (Canada) 8) Français (France/Belgique) 9) Français (Suisse) 10) Italiano 11) Nederlands 12) Norsk 13) Português 14) Suomi 15) Svenska (1..15): 3.6 Bootstrap Bootstrapping is the process of loading and transferring control to an operating system. The KN220 bootstrap support is as follows: • CVAX (maintenance mode) supports the bootstrap of MDM diagnostics. • R3000 (normal mode) supports the bootstrap of ULTRIX–32 as well as any user application image that conforms to the boot formats described in this section. NOTE: The KN220 system contains two console programs: maintenance mode (CVAX) and normal mode (R3000). See Section 3.8 for normal mode commands that you type at the >> prompt. Normal mode commands are case sensitive. See Section 3.10 for maintenance mode commands that you type at the >>> prompt. A KN220 bootstrap occurs under the following conditions: • For MDM, enter BOOT at the maintenance mode prompt (>>>), MDM only. • For ULTRIX, enter >>boot in lowercase letters at the normal mode prompt. 3–8 KN220 CPU System Maintenance 3.6.1 ULTRIX–32 Bootstrap The ULTRIX–32 operating system is booted in the Normal operating mode under one of the following conditions: 1. Power is on; environmental variables are set as shown in Section 3.6.1.2. According to the variables set, the boot is either automatic or manual. 2. Power is on; no environmental variables are set. The commands are as follows, with the bootpath to the boot device is included in the command examples as shown. >> boot -f rf(0,0,0)vmunix >> boot -f rz(0,0,0)vmunix 3. The operating system initiates a reboot operation. You can use one of the following ports as the ULTRIX–32 boot device: • KN220 I/O module Ethernet controller • KN220 I/O module DSSI controller • KN220 I/O module SCSI controller • KN220 Q22-bus MSCP or TMSCP controller KN220 Firmware 3–9 Table 3–3 lists the supported ULTRIX–32 boot devices. The table correlates the boot device names expected in a boot command with the corresponding supported devices. Boot device names consist of a two- or three-letter device code (letters a through z). Table 3–3: ULTRIX–32 Supported Boot Devices Device Type Protocol Number of Units Per Storage Interface Device Name RA-series fixed disk RF-series ISE RZ-series fixed disk TZ-series tape drive TQK-series tape drive Ethernet adapter Ethernet adapter MSCP DSSI SCSI SCSI TMSCP MOP TFTP 4 7 7 7 1 1 1 ra rf rz tz tm mop tftp 3.6.1.1 ULTRIX–32 Bootstrap Procedure Boot the ULTRIX–32 operating system at the normal mode prompt (>>), using the commands explained in Section 3.7. Normal mode commands are case sensitive (see Section 3.8). Boot the system as follows: 3.6.1.2 On Installation 1. On the H3602–AC CPU I/O panel, set the operation switch to the normal position ( ). 2. Set the on/off power switch to 1 (on). 3. After the system has completed the power-up self-tests successfully, the normal mode prompt is displayed (>>). To define the bootpath, define the environmental variable for the desired boot device and boot mode, using lowercase letters, then boot the system to save the desired boot device. In Example 3–2, the boot device is an ISE at node 0. 3–10 KN220 CPU System Maintenance Example 3–2: Command Procedure to Boot on Installation >> setenv bootpath rf(0,0,0)vmunix !For file name, type !vmunix or !application file name. >> boot To make the boot automatic, set the following environmental variable: >>setenv bootmode a !Boot will be automatic. On Power-Up of Existing System 1. On the H3602–AC CPU I/O panel, set the operation switch to the normal position ( ). 2. Set the on/off power switch to on (1). 3. After the system has completed the power-up self-tests successfully, the R3000 processor attempts to boot the operating system through the previously defined boot device. 3.6.2 MDM Bootstrap When you enter maintenance mode and type BOOT MUa0: at the >>> prompt, the CVAX processor boots the MDM operating system from a TK tape cartridge. The following example is for a TQKxx subsystem. Before dispatching to the primary CVAX bootstrap (VMB), the KN220 CVAX processor firmware initializes the system to a known state, as follows: 1. Checks CPMBX<2>(RIP), bootstrap in progress. If it is set, bootstrap fails and the console displays the message Failure. in the selected console language. 2. Validates the boot device name. If none exists, supplies a list of available devices and issues a boot device prompt. If you do not specify a device within 30 seconds, uses EZA0. 3. Writes a form of this boot request, including active boot flags and boot device (BOOT/R5:0 EZA0, for example), to the console terminal. 4. Sets CPMBX<2>(BIP). KN220 Firmware 3–11 5. Initializes the Q22-bus scatter-gather map. 6. Validates the PFN bitmap. If invalid, rebuilds it. 7. Searches for a 128-Kbyte contiguous block of good memory as defined by the PFN bitmap. If 128 Kbytes cannot be found, the bootstrap fails. 8. Initializes the general purpose registers: R0 R2 R3 R4 R5 R10 R11 AP SP PC R1, R6, R7, R8, R9, FP Address of descriptor of the boot device name or 0 if none specified Length of PFN bitmap in bytes Address of PFN bitmap Time-of-day of bootstrap from PR$_TODR Boot flags Halt PC value Halt PSL value (without halt code and mapenable) Halt code Base of 128-Kbyte good memory block plus 512 Base of 128-Kbyte good memory block plus 512 0 9. Copies the virtual memory bootstrap (VMB) image from EPROM to local memory, beginning at the base of the 128 Kbytes of good memory block plus 512. 10. Exits from the firmware to VMB residing in memory. Virtual Memory Bootstrap (VMB) is the primary MDM bootstrap. The KN220 VMB resides in the CVAX firmware and is copied into main memory before control is transferred to it. VMB then loads the secondary bootstrap image and transfers control to it. 3–12 KN220 CPU System Maintenance Table 3–4 lists the supported R5 boot flags. Table 3–4: VMB Boot Flags Bit Name Description 0 RPB$V_CONV 1 RPB$V_DEBUG 2 RPB$V_INIBPT 3 RPB$V_BBLOCK 4 RPB$V_DIAG 5 RPB$V_BOOBPT 6 RPB$V_HEADER 8 RPB$V_SOLICT 9 RPB$V_HALT 31:28 RPB$V_TOPSYS Conversational boot. At various points in the system boot procedure, the bootstrap code solicits parameters and other input from the console terminal. Debug. If this flag is set, the code for the XDELTA debugger is mapped into the system page tables of the running system. Initial breakpoint. If RPB$V_DEBUG is set, the VMS operating system executes a BPT instruction in module INIT immediately after enabling mapping. Secondary bootstrap from bootblock. When set, VMB reads logical block number 0 of the boot device and tests it for conformance with the bootblock format. If in conformance, the block is executed to continue the bootstrap. No attempt is made to perform a Files–11 bootstrap. Diagnostic bootstrap. When set, the load image requested over the network is [SYS0.SYSMAINT]DIAGBOOT.EXE. Bootstrap breakpoint. When set, a breakpoint instruction is executed in VMB and control is transferred to XDELTA before booting. Image header. When set, VMB transfers control to the address specified by the file’s image header. When not set, VMB transfers control to the first location of the load image. File name solicit. When set, VMB prompts the operator for the name of the application image file. The maximum file specification size is 17 characters. Halt before transfer. When set, VMB halts before transferring control to the application image. This field can be any value from 0 through F. This flag changes the top-level directory name for system disks with multiple operating systems. For example, if TOPSYS is 1, the top-level directory name is [SYS1...]. KN220 Firmware 3–13 Table 3–5 lists the supported MDM boot devices. Table 3–5: Supported MDM Boot Devices Boot Name Controller Type Device Type(s) MUcn DIAn TQK70 MSCP On-board SCSI TK70 SCSI CDROM EZA0 XQcn On-board Ethernet DELQA DESQA – – – Tape Network 3–14 KN220 CPU System Maintenance 3.6.3 MDM Restart An MDM restart is the process of bringing up the MDM operating system from a known initialization state following a processor halt. A restart occurs under the conditions listed in Table 3–2, earlier in this chapter. To restart MDM, the firmware searches system memory for the Restart Parameter Block (RPB), a data structure constructed for this purpose by VMB. If the firmware finds a valid RPB, it passes control to the operating system at an address specified in the RPB. The firmware keeps a RIP (restart-in-progress) flag in CPMBX, which it uses to avoid repeated attempts to restart a failing operating system. The operating system maintains an additional RIP flag in the RPB. The RPB is a page-aligned control block that can be identified by its signature in the first three longwords: +00 (first longword) = physical address of the RPB +04 (second longword) = physical address of the restart routine +08 (third longword) = checksum of first 31 longwords of restart routine The firmware finds a valid RPB as follows: 1. Searches for a page of memory that contains its address in the first longword. If none is found, the search for a valid RPB has failed. 2. Reads the second longword in the page (the physical address of the restart routine). If it is not a valid physical address, or if it is zero, returns to step 1. The check for zero is necessary to ensure that a page of zeros does not pass the test for a valid RPB. 3. Calculates the 32-bit two’s-complement sum (ignoring overflows) of the first 31 longwords of the restart routine. If the sum does not match the third longword of the RPB, returns to step 1. 4. If the sum matches, a valid RPB has been found. KN220 Firmware 3–15 3.7 Normal Mode Overview When the KN220 is in normal mode, the console reads and interprets commands received on the console terminal at the normal mode prompt (>>). This R3000 interactive command language allows you to make use of environment variables to pass information to the ULTRIX–32 operating system. You can use normal mode commands to boot the ULTRIX–32 operating system, set up automatic booting, and deposit or examine I/O address space and memory. 3.7.1 Control Characters in Normal Mode Table 3–6 lists the characters that have special meaning in normal mode. Table 3–6: Normal-Mode Control Characters Character Action <CR> Ends a command line. Command characters are buffered until you press Return. Deletes the previously typed character. If you define the console terminal as hard copy (environmental variable term set to hardcopy), the deleted text is displayed surrounded by backslashes. If the console terminal is a CRT (environmental variable term set to crt), each delete is displayed with the sequence <BS><SP><BS>. Deletes received are ignored when there are no characters to be deleted. Causes the console to abort the processing of a command. Causes console output to be discarded until you enter the next Ctrl/O or until the next console prompt or error message is issued. Ctrl/O is also canceled when you enter Ctrl/C. Resumes console output that was suspended when you entered Ctrl/S. Causes the current command line to be displayed without any deleted characters. Suspends output on the console terminal until you enterCtrl/Q. Discards all characters accumulated for the current line. Suppresses any special meaning associated with the next character. X (delete or backspace) Ctrl/C Ctrl/O Ctrl/Q Ctrl/R Ctrl/S Ctrl/U Ctrl/V 3–16 KN220 CPU System Maintenance 3.7.2 Environment Variables in Normal Mode The KN220 console makes use of environmental variables to pass information to the operating system. There are three types of variables: • Volatile (lost when power resumes) • Nonvolatile (maintained after power resumes) • Fixed (rebuilt when power is turned on) You can define additional environmental variables, but those you define will be lost when power is removed. Table 3–7 lists the default environmental variables. Table 3–7: Environmental Variables Variable Type Description baud Fixed The baud rate of the console terminal line is determined by the baud rate select switch inside the H3602–AC CPU I/O panel. The factory setting is 9600. Allowed values are 300, 600, 2400, 4800, 9600, 19,200, and 38,400. bitmap Fixed Indicates the address of the memory bitmap. The bitmap keeps track of good and bad memory pages. Each bit corresponds to one page in memory; 1 indicates the page is good and 0 indicates the page is bad. bitmaplen Fixed Indicates the length of the memory bitmap in words. bootmode Nonvolatile Determines what programs run when the system is turned on or reset. Use one of the following codes: a Autoboots the operating system, bootpath variable using the d Halts the system with no diagnostics run, and goes to Normal mode prompt bootpath Nonvolatile Indicates the default bootpath. The system uses this variable when you type the auto command. An example of a bootpath definition is: rf(0,0,0)vmunix. memdescriptor Volatile Set by test 9A in Maintenance mode. KN220 Firmware 3–17 Table 3–7 (Cont.): Environmental Variables Variable Type Description console Fixed The system always selects TTY(0) as the console device. osconsole Fixed The system always selects TTY(0) as the console device. scsiid[0-7] Fixed The SCSI controller number. Defaults 7. The number in the variable is the SCSI controller number. systype Fixed Contains information used to identify the processor. Bits 24:31 contain the CPU type. Bits 16:23 contain the system type (11 for KN220). Bits 8:15 contain the firmware revision level. Bits 0:7 contain the hardware version level. 3.8 Normal Mode Commands The R3000 console program displays the normal mode prompt (>>) when it is ready to accept commands. Table 3–8 lists the supported normal mode console commands. Table 3–8: KN220 Normal Mode Commands Command Description boot continue d dump e fill go help ? init maint passwd Boots the ULTRIX–32 operating system Returns control to the processes interrupted by a halt signal Deposits data at a given address Dumps memory to the screen Examines memory Deposits data in an address range Resumes execution of the program in memory Displays the syntax of console commands Displays the syntax of console commands Reinitializes memory Causes the console to enter maintenance mode Prompts for the entry of a password, clears the old password, and sets security mode Displays console environment variables Sets console environment variables Executes the CPU module ROM diagnostic referenced by the test number specified printenv setenv test 3–18 KN220 CPU System Maintenance Table 3–8 (Cont.): KN220 Normal Mode Commands Command Description unsetenv Unsets console environment variables Observe the following rules when you type normal mode commands: • All commands typed at normal mode level are case sensitive with respect to parsing commands; case is preserved when you assign values to environment variables. • Type all normal mode console commands using ASCII characters only. Values that you enter for environment variables may contain any 8-bit character code. • Command execution begins when you press Return . • Enter numeric values as follows: • – Enter decimal values as a string of decimal digits with no leading zeros (for example, 123). – Enter octal values as a string of octal digits with a leading zero (for example, 0177). – Enter hexadecimal values as a string of hexadecimal digits preceded by 0x (for example, 0x3ff). – Enter binary values as a string of binary digits preceded by 0b (for example, 0b1001). When reading or writing to memory, you have a choice of data sizes: byte, halfword, or word. Leading zeros are dropped. Because a word is 4 bytes, successive addresses, when referenced by a word, are successive multiples of 4. For example, the address following 0x80000004 is 0x80000008. An error occurs if you try to specify an address that is not on a boundary for the data size you are using. KN220 Firmware 3–19 3.8.1 Conventions Used in This Section The following conventions apply in Section 3.8. • Letters are to be typed exactly as they appear. • Letters in italics represent arguments for which you supply values. (Note that the Help and menu screens display these arguments in all capital letters.) • Arguments enclosed in brackets ([ ]) are optional. • Ellipses (...) follow an argument that can be repeated. • A vertical bar ( | ) separates choices. • Parentheses are used as in algebraic expressions. For example, the following sequence means enter -b or -h or -w: -(b|h|w) 3.8.2 Getting Help You can get help with console command syntax in several ways: • You can type the word help or a question mark (?) to display a menu of all console commands. • You can enter the name of the command for which you want help as an argument to help or as a question mark (?). For example, entering ? e at the console prompt (>>) displays the syntax for the examine (e) command: e [-(b|h|w)] [ADDR] >> • If you type an incorrect command line, you get a usage message. For example, the e command requires an addr argument. If you type e -b at the console prompt (>>) without entering an address, the screen will display the correct syntax for the command: e [-(b|h|w)] [ADDR] >> 3–20 KN220 CPU System Maintenance 3.8.3 boot The boot command loads the file that contains the operating system. Format: boot [-f file] [-s] [-n] [arg...] The optional -f flag followed by the file parameter specifies the file you want to use during a boot procedure. If you do not specify the -f flag and a file, the file specified by the environment variable bootpath is loaded. The file parameter has the format: dev([controller] [,unit-number.logical-unit-number] [,logical-block-number]) [filename] • dev indicates the device from which you are booting the operating system. Typical devices are rf for RF-series ISEs, ra for RA-series hard disk drives, tm for a tape, and mop for a network. Typing mop nullifies the other arguments in the list. Table 3–9 lists the device names for each device. Table 3–9: Boot Device Names (Normal Mode) Device Type Protocol Number of Units Per Storage Interface Device Name RA-series fixed disk RF-series ISE RZ-series fixed disk TZ-series tape drive Tape drive Ethernet adapter Ethernet adapter MSCP DSSI SCSI SCSI TMSCP MOP TFTP 41 7 7 7 11 1 1 ra rf rz tz tm mop tftp 1 Up to 16 controllers and 32 units supported. • controller indicates the ID number of the controller for the device from which you are booting the operating system. • unit-number indicates the unit number of the device from which you are booting the operating system. • logical-unit-number (LUN) has meaning for SCSI devices only; it defaults to zero. • logical-block-number indicates the number (or other designator) of the block from which you are booting the operating system. When you are KN220 Firmware 3–21 booting from a tape, this number is not used because the boot file must be the first file on the tape. When you are booting from a disk, this number depends on how you partitioned the disk when you installed your operating system software. Refer to your software installation manual if you need a reminder about logical block indicators. • filename indicates the name of the operating system file. The optional -s flag causes the operating system to boot in single-user mode. Unless -s is specified, the system will boot in multiuser mode. The optional -n flag causes the specified file to be loaded but not executed. The optional arg parameter contains any information to be passed to the booted image. Examples: >> boot -f ra(0,0,0)vmunix This command boots the file vmunix, located in the logical block number of the first hard disk (unit number 0), using controller 0. >> boot -f rf(2,2,0)vmunix This command boots the file vmunix, located in the logical block of the second RF-series ISE (unit number 2), using controller 2. >> boot -f tm(0,5) This command boots from the tape, which is unit 5 and controller 0. >> boot -f rz(0, 0, 0)vmunix This command boots from the tape, which is unit 0 and controller 0. To display a list of devices, their unit numbers, and controller numbers, type the following sequence at the Normal mode prompt: >> maint >>> show dev (or dssi, scsi, ethernet, or uqssp) >>> exit >> The show command displays all of the system device names, which are followed by the controller number and unit number in parentheses. The asterisk indicates the logical-block-number variable, which is determined during installation of the operating system software. 3–22 KN220 CPU System Maintenance 3.8.4 continue CAUTION: If the operating system state has not been properly saved (halted), entering the continue command may cause the processor to hang. Use the continue command if you inadvertently halt the system by pressing Break or the Halt button. When a process is interrupted by a halt signal, the state of the process (R3000 and R3010 internal registers) are stored in the halt state memory block. When the continue command is entered, the saved state of the process is reloaded, and the process resumes execution. The continue command returns control to the processes interrupted by a halt signal. Format: continue KN220 Firmware 3–23 3.8.5 d (deposit) The d (deposit) command deposits a single byte, halfword, or word value at the specified address. If you repeat the command without specifying an address, the data will be deposited in the next word location. Format: d [[[-(b | h | w)] [addr]] | [-H reg-name]] val The first parameter, which is optional, indicates the data size. If not given, data size defaults to word. If you do not specify a data size, a word is used. • -b deposits 1 byte of data. • -h deposits a halfword (2 bytes) of data. • -w deposits a word (4 bytes) of data. The addr parameter indicates the address to which you want data written. System address space is in the range 0x80000000 to 0xbf000000. If addr is not specified, it will default to one location beyond the last address accessed by either the examine or deposit commands. The -H parameter specifies that the data is to be deposited to a register in the halt state memory block. This memory location is where all the R3000 internal registers are saved when the system is halted. The reg-name parameter specifies the name of the particular R3000 internal register for which you want data written. The val parameter contains the data you want deposited at the given address. Example: >> d -w 0x80000000 0xffffffff This version of the command deposits the value 0xffffffff, with a data size of one word, at address 0x80000000. 3–24 KN220 CPU System Maintenance 3.8.6 dump dump [-H] | [[[-(b | h | w)] [-(o | d | u | x | c | B)]] | [-I]] rng This command shows a formatted display of the contents of memory. The -H parameter displays the contents of the halt state memory block. All R3000 internal registers are stored in the halt state memory block when the system is halted. The -H parameter option cannot be used with any other command parameter. The second parameter, which is optional, indicates the data size. If you do not specify a data size, the system uses a word. • -b displays memory in bytes. • -h displays memory in halfwords. • -w displays memory in words. The next parameter, also optional, determines how data is displayed. • -o displays memory in octal format. • -d displays memory in decimal format. • -u displays memory in unsigned decimal format. • -x displays memory in hexadecimal format. • -c displays memory in ASCII format. • -B displays memory in binary format. If no format argument is given, hexadecimal format is used. The -I parameter displays memory in assembly language format. The rng parameter indicates the range of memory you want to see. You can specify the range in one of two ways: • addr#cnt displays the number of addresses specified by cnt, beginning at addr. • addr:addr displays all values between the specified addresses. Examples: >> dump 0x80000000#0xf This command uses hexadecimal format to dump the first 15 words of memory to the screen. KN220 Firmware 3–25 >> dump -b 0x80000000#0xf This command uses hexadecimal format to dump the first 15 bytes of memory to the screen. The dump display shows rows of address contents. The left-most column gives the address of the first field in each row. >> dump -I 0x80030200:0x80030220 0x80030200: c048228 jal 0x80030204: 2021 addu 0x80030208: 8fbf0014 lw 0x8003020c: 27bd0018 addiu 0x80030210: 3e00008 jr 0x80030214: 0 nop 0x80030218: 27bdffe8 addiu 0x8003021c: afbf0014 sw >> 0x801208a0 a0,zero,zero ra,0x14(sp) sp,0x18 ra sp,0xffe8 ra,0x14(sp) This command displays in assembly language format, all values between the specified addresses. The first column lists the memory location in hexadecimal, the second column lists the contents of the memory location, the third column lists the R3000 assembly language instruction, and the fourth column lists the corresponding operand. 3–26 KN220 CPU System Maintenance 3.8.7 e (examine) The e (examine) command examines the byte, halfword, or word at the specified address. Format: e [-(b | h | w)] [addr] The first parameter, which is optional, indicates the data size. If not given, data size defaults to word. If you do not specify the data size, a word is used. • -b indicates a single byte. • -h indicates a halfword. • -w indicates a word. The addr parameter indicates an address in the range 0x80000000 to 0xBF000000. The addr parameter is also optional. If it is not specified, it will default to one location beyond the last address accessed by either the Examine or Deposit commands. When you enter the examine command, a display similar to the following appears: 0x80000005: 65 0x41 ’A’ The left-hand field echoes the address you entered. The next three fields display the contents of the address in decimal, hexadecimal, and ASCII formats, respectively. If the ASCII character is unprintable, it is displayed as an octal value preceded by a backslash: for example, ’\032’. Example: >> e 0x80000000 This command examines the word at address 0x80000000. The resulting display might look like this: 0x80000000: 1008385985 0x3c1abfc1 ’\301’ KN220 Firmware 3–27 3.8.8 fill The fill command writes a specified value to a range of memory. If you do not specify a value, the system puts zeros in the memory range. Format: fill [-(b | h | w)] [-v val] rng The first parameter, which is optional, indicates the data size. If not given, data size defaults to word. • -b indicates bytes. • -h indicates halfwords. • -w indicates words. The optional parameter -v val specifies the numeric value to write to memory. If you do not specify a value, all zeros are written. If the size of val does not match the data size parameter, val is truncated or expanded as necessary. The rng parameter indicates the memory range. You can specify the range in one of two ways: • addr#cnt fills addresses beginning at addr and continuing for cnt locations. • addr:addr fills all locations between the two given addresses. Example: >> fill -v 0xffffffff 0x80000010:0x800000ff This command sets all bits to 1 at addresses 16 to 255. 3–28 KN220 CPU System Maintenance 3.8.9 go The go command transfers control to the indicated entry-point address. Format: go [pc] The optional pc parameter indicates the entry-point address you want to use. If you do not specify an entry address, the system uses the entry point of the program module that was most recently loaded. If no program module was previously loaded, the system uses 0 as the entry-point address. KN220 Firmware 3–29 3.8.10 help The help command displays the correct syntax for the console commands. Format: help [cmd] The optional cmd parameter indicates the command for which you want information. If you do not specify cmd, the complete console menu appears. Example: >> help CMD: x -(l|u) addr count boot [-f FILE] [-s] [-n] [ARG...] continue ADDRESS d [-(b|h|w)] [ADDR] VAL dump [-(b|h|w)] [-(o|d|u|x|c|B)] RNG e [-(b|h|w)] [ADDR] fill [-(b|h|w)] [-v VAL] RNG go [PC] help [CMD] init maint passwd -(c|s|u) printenv [EVAR...] setenv EVAR STR test [-r] TEST_NUMBER unsetenv EVAR ? [CMD] RNG: ADDR#CNT ADDR:ADDR >> 3–30 KN220 CPU System Maintenance 3.8.11 ? The ? command functions exactly like the help command. Format: ? [cmd] KN220 Firmware 3–31 3.8.12 init The init command fully initializes the system. Format: init The system performs the following: • Clears memory. • Resets I/O. • Initializes all supported devices. Example: >> init Memory Size: 33554432 (0x2000000) bytes Ethernet Address: 08-00-2b-12-81-22 >> 3–32 KN220 CPU System Maintenance 3.8.13 printenv The printenv command displays the current value for the specified environment variable. Format: printenv [evar...] The optional evar parameter indicates the variable whose value you want to see. If you do not specify a variable, the complete environment variable table appears. Example: >> printenv bootpath=rf()vmunix bootmode=* console=0 scsiid0=7 scsiid1=7 scsiid2=7 scsiid3=7 scsiid4=7 scsiid5=7 scsiid6=7 scsiid7=7 baud=9600 systype=0x820b0800 bitmap=0xa1ff2000 bitmaplen=0x800 memdescriptor=0x0 boot=rf()vmunix osconsole=0 >> KN220 Firmware 3–33 3.8.14 setenv The setenv command assigns new values to the specified environment variable. Refer to the discussion of the printenv command (Section 3.8.13) for a description of each variable. Format: setenv evar str • The evar parameter indicates the variable you want to set. • The str parameter indicates the value you want to specify. Example: >> setenv bootmode a This command assigns a value of ‘‘a’’ to the bootmode variable. This will cause the system to autoboot at power-up. You can also add your own environment variables, as explained in Section 3.8. These variables are stored in volatile memory. The environment variables table can contain up to 32 variables, for a total of 512 characters. 3–34 KN220 CPU System Maintenance 3.8.15 test Test executes the CPU module ROM diagnostic referenced by test_number. Format: test [-r] test_number The test number must be preceded by a ’0x’ (that is, specified in hex). If the -r flag is specified, the test repeats (even if failures occur). KN220 Firmware 3–35 3.8.16 unsetenv The unsetenv command removes the specified variable from the environment variables table. Format: unsetenv evar The evar parameter indicates the variable you are removing. Refer to Table 3–7 earlier in this section for a description of each variable. The unsetenv command does not affect the environment variables stored in nonvolatile memory. These variables are reset at the next reset or power cycle. 3–36 KN220 CPU System Maintenance 3.8.17 x The x command is a binary load/unload command for automatic testing systems that load programs through the console when the IO board is not present. Format: x [-l | -u] address count <CR> <LF> command_checksum • -l specifies that data is to be loaded into memory through the console. • -u specifies that data is to be unloaded from memory and output through the console. The x command loads/unloads count number of bytes of data starting at address. After the command is entered x expects a byte of input which is the checksum of command line. If the command checksum is correct then x will begin accepting the input of count bytes of data or will begin outputing count bytes of data. Following the data, x will expect, or will output, an additional data checksum byte. If a load (-l option) and the checksum is incorrect, x will issue an error message. When x is receiving the checksum or receiving data during a load, the data will not be echoed on the screen. When receiving data, control flow characters (CTRL-O, etc.) will be interpreted only as data and will not effect the flow of control. The checksums will be validated by adding each byte of data to an 8-bit register. When the checksum is added the result should be zero. For the command checksum, each non-white_space character will be added to the register. Note that the whitespace includeing spaces, tabs, and the final return <CR> and linefeed <LF>, are excluded when calculating the checksum. The address will be expected to be a virtual address so that count bytes of data will fit in the range 0000 0000 : 7fff ffff. KN220 Firmware 3–37 3.9 Maintenance Mode Overview Whenever the CVAX console program is running, the maintenance mode prompt (>>>) is displayed on the console terminal and the KN220 is halted as described in Section 3.3 and Section 3.4. In maintenance mode, you can examine and alter the state of the processor by typing certain console commands and characters. Table 3–10 lists the keypad control characters that have special meaning in maintenance mode. Table 3–10: KN220 Console Control Characters (Maintenance Mode) Character Action Return Also <CR>. The carriage return ends a command line. No action is taken on a command until after it is terminated by a carriage return. A null line terminated by a carriage return is treated as a valid, null command. No action is taken, and the console prompts for input. Carriage return is echoed as carriage return, line feed. When you press X (rubout), the console deletes the previously typed character. The resulting display differs, depending on whether the console is a video or a hardcopy terminal. X For hardcopy terminals, the console echoes a backslash (\ ) followed by the character being deleted. If you press additional rubouts, the additional deleted characters are echoed. If you type a nonrubout character, the console echoes another backslash, followed by the character typed. The result is to echo the characters deleted, surrounding them with backslashes. For example: EXAMI;E X X NE<CR> The console echoes: EXAMI;E\ E;\ NE<CR> The console sees the command line: EXAMINE<CR> For video terminals, the previous character is erased and the cursor is restored to its previous position. Ctrl/C Ctrl/Q Ctrl/S Ctrl/R The console does not delete characters past the beginning of a command line. If you press more rubouts than there are characters on the line, the extra rubouts are ignored. A rubout entered on a blank line is ignored. Echoes ^C<CR> and aborts processing of a command. Has no effect as part of a binary load data stream. Clears Ctrl/S and reenables output stopped by Ctrl/O . Resumes output to the console terminal. Not echoed. Stops output to the console terminal until you enter Ctrl/Q. Not echoed. Echoes <CR><LF>, followed by the current command line. Can be used to improve the readability of a command line that has been heavily edited. 3–38 KN220 CPU System Maintenance Table 3–10 (Cont.): KN220 Console Control Characters (Maintenance Mode) Character Action Ctrl/U Echoes ^U<CR> and deletes the entire line. Entered, but otherwise ignored if typed on an empty line. 3.9.1 Command Syntax in Maintenance Mode The console accepts commands up to 80 characters long. Longer commands produce error messages. The character count does not include rubouts, rubbed-out characters, or the Return at the end of the command. You can abbreviate a command by entering only as many characters as are required to make the command unique. Most commands can be recognized from their first character. See Table 3–14. The console treats two or more consecutive spaces and tabs as a single space. Leading and trailing spaces and tabs are ignored. You can place command qualifiers after the command keyword or after any symbol or number in the command. All numbers (addresses, data, counts) are hexadecimal (hex) except for GPR symbolic names, which are in decimal. The hex digits are 0 through 9 and A through F. You can use uppercase and lowercase letters in hex numbers (A through F) and commands. The following symbols are qualifier and argument conventions: [] an optional qualifier or argument {} a required qualifier or argument 3.9.2 Address Specifiers in Maintenance Mode Several commands take an address or addresses as arguments. An address defines the address space, and the offset into that space. The console supports six address spaces: Physical memory Virtual memory Protected memory General purpose registers (GPRs) Internal processor registers (IPRs) The PSL KN220 Firmware 3–39 The address space that the console references is inherited from the previous console reference, unless you explicitly specify another address space. The initial address space is physical memory. 3.9.3 Symbolic Addresses in Maintenance Mode The console supports symbolic references to addresses. A symbolic reference defines the address space and the offset into that space. Table 3–11 lists symbolic references supported by the console, grouped according to address space. You do not have to use an address space qualifier when using a symbolic address. Table 3–11: Console Symbolic Addresses (Maintenance Mode) Symbol Address Symbol Address R1 R3 R5 R7 R9 R11 R13 R15 FP PC – 1 3 5 7 9 0B 0D 0F 0D 0E – pr$_esp pr$_usp pr$_p0br pr$_p1br pr$_sbr pr$_pcbb pr$_ipl pr$_sirr pr$_iccr pr$_icr pr$_rxcs pr$_txcs 01 03 08 0A 0C 10 12 14 18 1A 20 22 GPR Address Space (/G) R0 R2 R4 R6 R8 R10 R12 R14 AP SP PSL 0 2 4 6 8 0A 0C 0E 0C 0D – IPR Address Space (/I) pr$_ksp pr$_ssp pr$_isp pr$_p0lr pr$_p1lr pr$_slr pr$_scbb pr$_astlv pr$_sisr pr$_nicr pr$_todr pr$_rxdb 00 02 04 09 0B 0D 11 13 15 19 1B 21 3–40 KN220 CPU System Maintenance Table 3–11 (Cont.): Console Symbolic Addresses (Maintenance Mode) Symbol Address Symbol Address pr$_tbdr pr$_mcesr pr$_savpc pr$_ioreset pr$_tbia pr$_sid – 24 26 2A 37 39 3E – IPR Address Space (/I) pr$_txdb pr$_cadr pr$_mser pr$_savpsl pr$_mapen pr$_tbis pr$_tbchk 23 25 27 2B 38 3A 3F Table 3–12 lists symbolic addresses that you can use in any address space. KN220 Firmware 3–41 Table 3–12: Symbolic Addresses Used in Any Address Space Symbol Description * + The location last referenced in an EXAMINE or DEPOSIT command. The location immediately following the last location referenced in an EXAMINE or DEPOSIT command. For references to physical or virtual memory spaces, the location referenced is the last address, plus the size of the last reference (1 for byte, 2 for word, 4 for longword, 8 for quadword). For other address spaces, the address is the last address referenced plus one. The location immediately preceding the last location referenced in an EXAMINE or DEPOSIT command. For references to physical or virtual memory spaces, the location referenced is the last address minus the size of this reference (1 for byte, 2 for word, 4 for longword, 8 for quadword). For other address spaces, the address is the last address referenced minus one. The location addressed by the last location referenced in an EXAMINE or DEPOSIT command. – @ 3.9.4 Command Qualifiers in Maintenance Mode You can enter console command qualifiers in any order on the command line after the command keyword. There are three types of qualifiers: data control, address space control, and command specific. Table 3–13 lists and describes the data control and address space control qualifiers. Command specific qualifiers are listed in the descriptions of individual commands. 3–42 KN220 CPU System Maintenance Table 3–13: Console Command Qualifiers (Maintenance Mode) Qualifier Description Data Control /B /W /L /Q /N:{count} /STEP:{size} The data size is byte. The data size is word. The data size is longword. The data size is quadword. An unsigned hexadecimal integer that is evaluated as a longword. This qualifier determines the number of additional operations that are to take place on EXAMINE, DEPOSIT, MOVE, and SEARCH commands. An error message appears if the number overflows 32 bits. Step. Overrides the default increment of the console current reference. Commands that manipulate memory, such as EXAMINE, DEPOSIT, MOVE, and SEARCH normally increment the console current reference by the size of the data being used. Address Space Control /G /I /V /P /M /U General purpose register (GPR) address space, R0–R15. The data size is always longword. Internal processor register (IPR) address space. Accessible only by the MTPR and MFPR instructions. The data size is always longword. Virtual memory address space. All access and protection checking occur. If access to a program running with the current PSL is not allowed, the console issues an error message. Deposits to virtual space cause the PTE<M> bit to be set. If memory mapping is not enabled, virtual addresses are equal to physical addresses. Note that when you examine virtual memory, the address space and address in the response is the physical address of the virtual address. Physical memory address space. Processor status longword (PSL) address space. The data size is always longword. Access to console private memory is allowed. This qualifier also disables virtual address protection checks. On virtual address writes, the PTE<M> bit is not set if the /U qualifier is present. This qualifier is not inherited; it must be respecified on each command. KN220 Firmware 3–43 3.9.5 Maintenance Mode Command Keywords Table 3–14 lists maintenance mode command keywords by type. Table 3–15 lists the parameters, qualifiers, and arguments for each console command. Parameters, used with the SET and SHOW commands only, are listed in the first column along with the command. Although it is possible to abbreviate by using the minimum number of characters required to uniquely identify a command or parameter, these abbreviations may become ambiguous at a later time if a new command or parameter is added in an updated version of the firmware. For this reason you should not use abbreviations in programs. Table 3–14: Command Keywords by Type (Maintenance Mode) Processor Control Data Transfer Console Control BOOT CONTINUE HALT INITIALIZE NEXT START UNJAM EXAMINE DEPOSIT MOVE SEARCH X DC [qualifier] CONFIGURE FIND REPEAT SET SHOW TEST ! DC UNPRIV Table 3–15: Console Command Summary (Maintenance Mode) Command Qualifiers1 Argument Other(s) BOOT CONFIGURE CONTINUE DC DC/RESTORE DC/SAVE DC/ZERO DEPOSIT /R5:{boot_flags} or /{boot_flags} – – – – – – /B /W /L /Q /G /I /V /P /M /U /N:{count} /STEP:{size} [{boot_device}] – – – {tape_device} {tape_device} – {address} – – – – – – – {data} [{data}] 1 {} denotes a mandatory item that must be syntactically correct. [ ] denotes an optional item. ! denotes an ‘‘or’’ condition. 3–44 KN220 CPU System Maintenance Table 3–15 (Cont.): Console Command Summary (Maintenance Mode) Command Qualifiers1 Argument Other(s) EXAMINE /B /W /L /Q /G /I /V /P /M /U /N:{count} /STEP:{size} /INSTRUCTION – /MEM /RPB – – – /B /W /L /Q /V /P /U /N:{count} /STEP:{size} – – /B /W /L /Q /V /P /U /N:{count} /STEP:{size} /NOT – – /DUP {/DSSI n /UQSSP} {/DISK n /TAPE n csr_address} /{MAINTENANCE /UQSSP} {/SERVICE n csr_address} – – – – – – – /FULL – /FULL – – [address] – – – – – – {src_address} – – – – – {dest_address} [count] {command} {start_address} – – {pattern} [{mask}] EXIT FIND HALT HELP INITIALIZE MOVE NEXT REPEAT SEARCH SET BFLAG SET BOOT SET HOST SET LANGUAGE SHOW BFLAG SHOW BOOT SHOW DEVICE SHOW DSSI SHOW ETHERNET SHOW LANGUAGE SHOW MEMORY SHOW QBUS SHOW SCSI SHOW UQSSP SHOW VERSION {boot_flags} – {device_string} – {node} n [{task}] {controller_number} {language_type} – – – – – – – – – – – – – – – – – – – – – – – 1 {} denotes a mandatory item that must be syntactically correct. [ ] denotes an optional item. ! denotes an ‘‘or’’ condition. KN220 Firmware 3–45 Table 3–15 (Cont.): Console Command Summary (Maintenance Mode) Command Qualifiers1 Argument Other(s) START TEST UNJAM UNPRIV X – – – – – [{address}] {test_number} – – {address} – [{parameters}] – – {count} 1 {} denotes a mandatory item that must be syntactically correct. [ ] denotes an optional item. ! denotes an ‘‘or’’ condition. 3–46 KN220 CPU System Maintenance 3.10 Maintenance Mode Commands This section describes the maintenance mode commands. Enter the commands at the maintenance mode prompt (>>>). These commands may be typed in uppercase or lowercase letters. However, they are shown in all uppercase letters in this document to differentiate them from the normal mode commands, which must be typed in all lowercase letters. 3.10.1 BOOT The BOOT command initializes the processor and transfers execution to VMB. VMB attempts to boot MDM from the specified device or from the default boot device if none is specified. The console qualifies the bootstrap operation by passing a boot flags bitmap to VMB in R5. Format: BOOT [qualifier-list] [device_name] If you do not enter either the qualifier or the device name, the default value is used. Explicitly stating the boot flags or the boot device overrides, but does not permanently change, the corresponding default value. Set the default boot device and boot flags with the SET BOOT and SET BFLAG commands. If you do not set a default boot device, the processor times out after 30 seconds and attempts to boot from the on-board Ethernet port, EZA0. Qualifiers: Command specific: /R5:{bitmap} A 32-bit hex value passed to VMB in R5. The console does not interpret this value. Use the SET BFLAG command to specify a default boot flags longword. Use the SHOW BFLAG command to display the longword. Table 3–4 lists the supported R5 boot flags. /{bitmap} Same as /R5:{bitmap} [device_name] A character string of up to 39 characters. Longer strings cause a VAL TOO BIG error message. Apart from length, the console makes no attempt to interpret or validate the device name. The console converts the string to uppercase, then passes to VMB a string descriptor to this device name in R0. Example: >>> BOOT XQA0! Boot using default boot flags and (BOOT/R5:10 XQA0) ! specified device. 2.. -XQA0 KN220 Firmware 3–47 3.10.2 CONFIGURE The CONFIGURE command invokes an interactive mode that permits you to enter Q22-bus device names, then generates a table of Q22-bus I/O page device CSR addresses and interrupt vectors. CONFIGURE is similar to the ULTRIX shoadrs utility. This command simplifies field configuration by providing information that is typically available only with a running operating system. Refer to the example below and use the CONFIGURE command as follows: 1. Enter CONFIGURE at the maintenance mode prompt (>>>). 2. Enter at the Device, Number? prompt to see a list of devices whose CSR addresses and interrupt vectors can be determined. 3. Enter the device names and number of devices. 4. Enter EXIT to obtain the CSR address and interrupt vector assignments. The devices listed in the HELP display are not necessarily supported by the KN220–AA CPU. 3–48 KN220 CPU System Maintenance Format: CONFIGURE Example: >>> CONFIGURE Enter device configuration, HELP, or EXIT Device,Number? help Devices: LPV11 KXJ11 DLV11J DZQ11 RLV12 TSV05 RXV21 DRV11W DMV11 DELQA DEQNA DESQA RRD50 RQC25 KFQSA-DISK TQK50 RV20 KFQSA-TAPE KMV11 IEQ11 CXA16 CXB16 CXY08 VCB01 LNV21 QPPSS DSV11 ADV11C KWV11C ADV11D AAV11D VCB02 DRQ3B VSV21 IBQ01 IDV11A IDV11D IAV11A IAV11B MIRA DESNA IGQ11 DIV32 KIV32 KWV32 KZQSA Numbers: 1 to 255, default is 1 Device,Number? cxa16,2 Device,Number? cxy08 Device,Number? tqk70 Device,Number? kda50 Device,Number? kzqsa Device,Number? exit DZV11 DRV11B RQDX3 TQK70 DHQ11 QVSS AAV11C QDSS IDV11B ADQ32 DTCN5 DFA01 DPV11 KDA50 TU81E DHV11 LNV11 AXV11C DRV11J IDV11C DTC04 DTC05 Address/Vector Assignments -772150/154 KDA50 -774500/260 TQK70 -760440/300 CXA16 -760460/310 CXA16 -760500/320 CXY08 -761400/330 KZQSA >>> KN220 Firmware 3–49 3.10.3 CONTINUE CAUTION: If the operating system state has not been properly saved (halted), do not type CONTINUE. Doing so may cause the processor to hang. The CONTINUE command causes the processor to begin instruction execution at the address currently contained in the PC. It does not perform a processor initialization. Format: CONTINUE Example: >>> CONTINUE 3–50 KN220 CPU System Maintenance 3.10.4 DC The DC command acts on the contents of the nonvolatile disk cache, by diagnosing (no modifier), restoring, saving, or zeroing. Whenever the system notifies that "NVRAM dirty," back up the NVRAM and replace the CPU. Then restore the NVRAM to the new CPU before you boot the system. See Appendix D. Format: DC [/RESTORE] [/SAVE] [/ZERO] Examples: >>> DC/SAVE >>> dc At the dc command, if the CPU board’s cache contains data the following message is displayed on the console terminal: Disk Cache - Dirty At the dc command, if the CPU board’s cache does not contain any data the following message is displayed on the console terminal: Disk Cache - Clean If there is no data in the cache (cache is clean), you can follow normal procedures for rebooting or troubleshooting. You should always run the dc command before replacing or using any DECsystem 5500 CPU board. >>> dc/save mua0 Disk Cache - Dirty Do you want to continue (y/n)? y -MUA0 Zero Disk Cache (y/n)? y >>> >>> dc/restore mua0 Disk Cache - Dirty Do you want to continue (y/n)? y -MUA0 >>> If the cache is clean, as in the following example, the contents of the tape (in this example, mua0) are loaded into the cache. KN220 Firmware 3–51 >>> dc/restore mua0 Disk Cache - Clean -MUA0 >>> When the system reboots, the contents of the cache are moved to the appropriate disks. >>> dc/zero Do you want to continue (y/n)? y The command prompts you to confirm that you want to clear the contents of the cache and then fills the cache with zeroes. You can use this command as a security measure to ensure that the cache is cleared. 3–52 KN220 CPU System Maintenance 3.10.5 DEPOSIT The DEPOSIT command deposits data into the address specified. If you do not specify an address space or data size qualifier, the console uses the last address space and data size used in a DEPOSIT, EXAMINE, MOVE, or SEARCH command. After processor initialization, the default address space is physical memory, the default data size is longword, and the default address is zero. If you specify conflicting address space or data sizes, the console ignores the command and issues an error message. Format: DEPOSIT [qualifier_list] {address} {data} [data...] Qualifiers: Data control: /B, /W, /L, /Q, /N:{count}, /STEP:{size} Address space control: /G, /I, /P, /V, /U, /M Arguments: {address} A longword address that specifies the first location into which data is deposited. The address can be an actual address or a symbolic address. {data} The data to be deposited. If the specified data is larger than the deposit data size, the firmware ignores the command and issues an error response. If the specified data is smaller than the deposit data size, it is extended on the left with zeros. [data] Additional data to be deposited (as many as can fit on the command line). Examples: >>> D/P/B/N:1FF 0 0 ! Clear first 512 bytes of physical memory. >>> D/V/L/N:3 1234 5 ! Deposit 5 into four longwords starting ! at virtual memory address 1234. >>> D/N:8 R0 FFFFFFFF ! Loads GPRs R0 through R8 with -1. >>> D/L/P/N:10/S:200 0 8 ! Deposit 8 in the first longword of ! the first 17 pages in physical ! memory starting at location 0. >>> D/N:200/8 - 0 ! Starting at previous address, ! clear 513 bytes. KN220 Firmware 3–53 3.10.6 EXAMINE The EXAMINE command examines the contents of the memory location or register specified by the address. If no address is specified, + is assumed. The display line consists of a single character address specifier, the physical address to be examined, and the examined data. EXAMINE uses the same qualifiers as DEPOSIT. The EXAMINE command also supports an /INSTRUCTION qualifier, which will disassemble the instructions at the current address. Format: EXAMINE [qualifier_list] [address] Qualifiers: Data control: /B, /W, /L, /Q, /N:{count}, /STEP:{size} Address space control: /G, /I, /P, /V, /U, /M Command specific: /INSTRUCTION Disassembles and displays the VAX MACRO–32 instruction at the specified address. Arguments: [address] A longword address that specifies the first location to be examined. The address can be an actual or a symbolic address. If no address is specified, + is assumed. 3–54 KN220 CPU System Maintenance Examples: >>> EXAMINE PC ! Examine the PC. G 0000000F FFFFFFFC >>> EXAMINE SP ! Examine the SP. G 0000000E 00000200 >>> EXAMINE PSL ! Examine the PSL. M 00000000 041F0000 >>> EXAMINE/M ! Examine PSL another way. M 00000000 041F0000 >>> EXAMINE R4/N:5 ! Examine R4 through R9. G 00000004 00000000 G 00000005 00000000 G 00000006 00000000 G 00000007 00000000 G 00000008 00000000 G 00000009 801D9000 >>> EXAMINE PR$_SCBB ! Examine the SCBB, IPR 17 I 00000011 2004A000 ! (decimal). >>> EXAMINE/P 0 ! Examine local memory 0. P 00000000 00000000 >>> EXAMINE/INS 20040000 ! Examine 1st instruction ! in ROM. P 20040000 11 BRB 20040019 >>> EXAMINE/INS/N:5 20040019 ! Disassemble from branch. P 20040019 D0 MOVL I^#20140000,@#20140000 P 20040024 D2 MCOML @#20140030,@#20140502 P 2004002F D2 MCOML S^#0E,@#20140030 P 20040036 7D MOVQ R0,@#201404B2 P 2004003D D0 MOVL I^#201404B2,R1 P 20040044 DB MFPR S^#2A,B^44(R1) >>> EXAMINE/INS ! Look at next instruction. P 20040048 DB MFPR S^#2B,B^48(R1) >>> KN220 Firmware 3–55 3.10.7 EXIT The EXIT command exits from maintenance mode (>>>) to the normal mode prompt (>>). This command idles the CVAX chip. The maint command, typed in lowercase letters from the normal mode prompt, returns you to maintenance mode. Format: EXIT Example: >>> EXIT ! From maintenance mode, exit to ! normal mode. >> maint ! From normal mode, exit to maintenance mode. >>> 3–56 KN220 CPU System Maintenance 3.10.8 FIND The FIND command searches main memory starting at address zero for a page-aligned 128-Kbyte segment of good memory, or a restart parameter block (RPB). If the command finds the segment or RPB, its address plus 512 is left in SP (R14). If it does not find the segment or RPB, the console issues an error message and preserves the contents of SP. If you do not specify a qualifier, /RPB is assumed. Format: FIND [qualifier-list] Qualifiers: Command specific: /MEM /RPB Searches memory for a page-aligned block of good memory, 128 Kbytes in length. The search looks only at memory that is deemed usable by the bitmap. This command leaves the contents of memory unchanged. Searches all of physical memory for an RPB. The search does not use the bitmap to qualify which pages are looked at. The command leaves the contents of memory unchanged. Examples: >>> EXAMINE SP ! Check the SP. G 0000000E 00000000 >>> FIND /MEM ! Look for a valid 128 Kbyte. >>> EXAMINE SP ! Note where it was found. G 0000000E 00000200 >>> FIND /RPB ! Check for valid RPB. ?2C FND ERR 00C00004 ! None to be found here. >>> KN220 Firmware 3–57 3.10.9 HALT The HALT command has no effect. It is included for compatibility with other VAX consoles. Format: HALT Example: >>> HALT >>> ! Pretend to halt. 3–58 KN220 CPU System Maintenance 3.10.10 HELP The HELP command provides information about command syntax and usage. Format: HELP Example: >>> HELP Following is a brief summary of all the commands supported by the console: UPPERCASE | [] <> denotes a keyword that you must type in denotes an OR condition denotes optional parameters denotes a field that must be filled in with a syntactically correct value Valid qualifiers: /B /W /L /Q /INSTRUCTION /G /I /V /P /M /STEP: /N: /NOT /U Valid commands: DEPOSIT [<QUALIFIERS>] <ADDRESS> [<DATUM> [<DATUM>]] EXAMINE [<QUALIFIERS>] [<ADDRESS>] MOVE [<QUALIFIERS>] <ADDRESS> <ADDRESS> SEARCH [<QUALIFIERS>] <ADDRESS> <PATTERN> [<MASK>] SET BFLG <BOOT_FLAGS> SET BOOT <BOOT_DEVICE>[:] SET HOST/DUP/DSSI <NODE_NUMBER> [<TASK>] SET HOST/DUP/UQSSP </DISK | /TAPE> <CONTROLLER_NUMBER> [<TASK>] SET HOST/DUP/UQSSP <PHYSICAL_CSR_ADDRESS> [<TASK>] SET HOST/MAINTENANCE/UQSSP/SERVICE <CONTROLLER_NUMBER> SET HOST/MAINTENANCE/UQSSP <PHYSICAL_CSR_ADDRESS> SET LANGUAGE <LANGUAGE_NUMBER> SHOW BFLG SHOW BOOT SHOW DEVICE SHOW DSSI SHOW SCSI [/FULL] SHOW ETHERNET SHOW LANGUAGE SHOW MEMORY [/FULL] SHOW QBUS SHOW UQSSP SHOW VME SHOW VERSION HALT KN220 Firmware 3–59 INITIALIZE UNJAM CONTINUE START <ADDRESS> REPEAT X <ADDRESS> <COUNT> FIND [/MEM | /RPB] TEST [<TEST_CODE> [<PARAMETERS>]] BOOT [/R5:<BOOT_FLAGS> | /<BOOT_FLAGS>] [<BOOT_DEVICE>[:]] NEXT [count] CONFIGURE EXIT UNPRIV DC [[</SAVE | /RESTORE <TAPE_DEVICE>>] | /ZERO] HELP >>> 3–60 KN220 CPU System Maintenance 3.10.11 INITIALIZE The INITIALIZE command performs a processor initialization. Format: INITIALIZE The following registers are initialized: Register State at Initialization PSL IPL ASTLVL SISR ICCS RXCS TXCS MAPEN CVAX cache Instruction buffer Console previous reference TODR Main memory General registers Halt code Bootstrap-in-progress flag Internal restart-in-progress flag 041F0000 1F 4 0 Bits <6> and <0> clear; the rest are unpredictable 0 80 0 Disabled, all entries invalid Unaffected Longword, physical, address 0 Unaffected Unaffected Unaffected Unaffected Unaffected Unaffected KN220 Firmware 3–61 The firmware clears all error status bits and initializes as follows: 1. Clears any interrupts. 2. Initializes pr$_scbb to console SCB. 3. Initializes the IPR: ipri$1_ipr ipri$1_val ipri$s_ipri pr$_ipl pr$_astlvl pr$_sisr pr$_iccs pr$_rxcs pr$_txcs pr$_mapen ctx_base plus ctx$1_psl =0 =4 =8 = ^x0000001F = ^x00000004 = ^x00000000 = ^x00000000 = ^x00000000 = ^x00000080 = ^x00000000 = ^x041F0000 4. Flushes and disables the chip cache. 5. Initializes the SSC. 6. Initializes the console state: Sets the current and previous reference to PHYSICAL and LONG at address 0; current datum is then 0; clears the exit flag: cs_base plus cs$1_address cs_base plus cs$1_prev_address cs_base plus cs$1_datus_size cs_base plus cs$q_datum cs_base plus cs$1_qv plus 4*qual$v_n ctx_base plus ctx$b_exit =0 =0 =4 =0 =0 =0 Example: >>> init >>> 3–62 KN220 CPU System Maintenance 3.10.12 MOVE The MOVE command copies the block of memory starting at the source address to a block beginning at the destination address. Typically, this command has an /N qualifier so that more than one datum is transferred. The destination correctly reflects the original contents of the source, regardless of the overlap between the source and the data. The MOVE command actually performs byte, word, longword, and quadword reads and writes as needed in the process of moving the data. Moves are supported only for the physical and virtual address spaces. Format: MOVE [qualifier-list] {src_address} {dest_address} Qualifiers: Data control: /B, /W, /L, /Q, /N:{count}, /STEP:{size}, Address space control: /V, /U, /P Arguments: {src_address} A longword address that specifies the first location of the source data to be copied. {dest_address} A longword address that specifies the destination of the first byte of data. These addresses may be an actual address or a symbolic address. If no address is specified, + is assumed. KN220 Firmware 3–63 Examples: >>> EXAMINE/N:4 0 ! Observe destination. P 00000000 00000000 P 00000004 00000000 P 00000008 00000000 P 0000000C 00000000 P 00000010 00000000 >>> EXAMINE/N:4 200 ! Observe source data. P 00000200 58DD0520 P 00000204 585E04C1 P 00000208 00FF8FBB P 0000020C 5208A8D0 P 00000210 540CA8DE >>> MOVE/N:4 200 0 ! Move the data. >>> EXAMINE/N:4 0 ! Observe moved data. P 00000000 58DD0520 P 00000004 585E04C1 P 00000008 00FF8FBB P 0000000C 5208A8D0 P 00000010 540CA8DE >>> 3–64 KN220 CPU System Maintenance 3.10.13 NEXT The NEXT command executes the specified number of macro instructions. If no count is specified, 1 (one) is assumed. After the last macro instruction is executed, the console reenters maintenance mode. Format: NEXT [count] The console implements the NEXT command, using the trace trap enable and trace pending bits in the PSL and the trace pending vector in the SCB. The following restrictions apply: • If memory management is enabled, the NEXT command works only if the first page in SSC RAM is mapped in S0 (system) space. • Overhead associated with the NEXT command affects execution time of an instruction. • The NEXT command elevates the IPL to 31 for long periods of time (milliseconds) while single stepping over several commands. • Unpredictable results occur if the macro instruction being stepped over modifies either the SCBB or the trace trap entry. This means that you cannot use the NEXT command in conjunction with other debuggers. Arguments: [count] A value representing the number of macro instructions to execute. Examples: >>> EXAMINE PC G 0000000F 00000200 >>> NEXT PC = 00000202 >>> NEXT 4 PC = 00000213 >>> KN220 Firmware 3–65 >>> EXAMINE/INS/N:10 0 P 00000000 01 NOP P 00000001 01 NOP P 00000002 01 NOP P 00000003 01 NOP P 00000004 01 NOP P 00000005 01 NOP P 00000006 01 NOP P 00000007 01 NOP P 00000008 11 BRB P 0000000A 01 NOP P 0000000B 01 NOP P 0000000C 00 HALT P 0000000D 00 HALT P 0000000E 00 HALT P 0000000F 00 HALT P 00000010 00 HALT P 00000011 00 HALT 00000002 >>> DEP PC 0 >>> N P 00000001 >>> N P 00000002 >>> N P 00000003 >>> N P 00000004 >>> N P 00000005 >>> N 5 P 00000006 P 00000007 P 00000008 P 00000002 P 00000003 01 NOP 01 NOP 01 NOP 01 NOP 01 NOP 01 NOP 01 NOP 11 BRB 01 NOP 01 NOP 00000002 3–66 KN220 CPU System Maintenance 3.10.14 REPEAT The REPEAT command repeatedly displays and executes the specified command. Press Ctrl/C to stop the command. You can specify any valid console command except the REPEAT command. Format: REPEAT {command} Arguments: {command} A valid console command other than REPEAT. Examples: >>> REPEAT EXAMINE PR$_TODR ! Watch the clock. I 0000001B 5AFE78CE I 0000001B 5AFE78D1 I 0000001B 5AFE78FD I 0000001B 5AFE7900 I 0000001B 5AFE7903 I 0000001B 5AFE7907 I 0000001B 5AFE790A I 0000001B 5AFE790D I 0000001B 5AFE7910 I 0000001B 5AFE793C I 0000001B 5AFE793F I 0000001B 5AFE7942 I 0000001B 5AFE7946 I 0000001B 5AFE7949 I 0000001B 5AFE794C I 0000001B 5AFE794F I 0000001B 5^C >>> KN220 Firmware 3–67 3.10.15 SEARCH The SEARCH command finds all occurrences of a pattern and reports the addresses where the pattern was found. If the /NOT qualifier is present, the command reports all addresses in which the pattern did not match. Format: SEARCH [qualifier_list] {address} {pattern} [{mask}] SEARCH accepts an optional mask that indicates bits to be ignored (don’t care bits). For example, to ignore bit 0 in the comparison, specify a mask of 1. The mask, if not present, defaults to 0. A match occurs if (pattern AND mask complement) = (data AND mask complement), where: pattern is the target data mask is the optional don’t care bitmask (which defaults to 0) data is the data at the current address SEARCH reports the address under the following conditions: /NOT Qualifier Match Condition Action Absent Absent Present Present True False True False Report address No report No report Report address The address is advanced by the size of the pattern (byte, word, longword, or quadword), unless overridden by the /STEP qualifier. Qualifiers: Data control: /B, /W, /L, /Q, /N:{count}, /STEP:{size} Address space control: /P, /V, /U Command-specific: /NOT Inverts the sense of the match. 3–68 KN220 CPU System Maintenance Arguments: {start_address} A longword address that specifies the first location subject to the search. This address can be an actual address or a symbolic address. If no address is specified, + is assumed. {pattern} The target data. [{mask}] A longword containing the bits desired in the comparison. Examples: >>> DEPOSIT /P/L/N:1000 0 0 !Clear some memory. >>> >>> DEPOSIT 300 12345678 !Deposit some search data. >>> DEPOSIT 401 12345678 >>> DEPOSIT 502 87654321 >>> >>> SEARCH /N:1000 /ST:1 0 12345678 !Search for all occurrences P 00000300 12345678 !of 12345678 on any byte P 00000401 12345678 !boundary. >>> SEARCH /N:1000 0 12345678 !Try on longword boundaries. P 00000300 12345678 >>> SEARCH /N:1000 /NOT 0 0 !Search for all nonzero P 00000300 12345678 !longwords. P 00000400 34567800 P 00000404 00000012 P 00000500 43210000 P 00000504 00008765 >>> SEARCH /N:1000 /ST:1 0 1 FFFFFFFE !Search for odd longwords P 00000502 87654321 !on any boundary. P 00000503 00875543 P 00000504 00008765 P 00000505 00000087 >>> SEARCH /N:1000 /B 0 12 !Search for all occurrences P 00000303 12 !of the byte 12. P 00000404 12 >>> SEARCH /N:1000 /ST:1 /W 0 FE11 >>> >>> >>> !Search for all words that !could be interpreted as a !spin (10$:brb 10$). !None were found. KN220 Firmware 3–69 3.10.16 SET The SET command sets the parameter to the value you specify. Format: SET {parameter} {value} Parameters: BFLAG Set the default R5 boot flags. The value must be a hex number of up to 8 digits. See Table 3–4, VMB Boot Flags, for a list of the boot flags. BOOT Set the default boot device. The value must be a valid device name as specified in the BOOT command description, Section 3.10.1. HOST Connect to the DUP or MAINTENANCE driver on the selected node or device. Note the hierarchy of the SET HOST qualifiers below. /DUP—Use the DUP driver to execute local programs of a device on either the DSSI bus or the Q22-bus. /DSSI node—Attach to the DSSI node. A node is a name up to 8 characters in length or a number from 0 to 7. /UQSSP—Attach to the UQSSP device specified using one of the following methods: /DISK n—Specifies the disk controller number, where n is a number from 0 to 255. The resulting fixed address for n=0 is 20001468 for the first TMSCP controller, and the floating rank for n>0 is 26. /TAPE n—Specifies the tape controller number, where n is a number from 0 to 255. The resulting fixed address for n=0 is 20001940 for the first MSCP controller, and the floating rank for n>0 is 30. csr_address—Specifies the Q22-bus I/O page CSR address for the device. /MAINTENANCE—Examines and modifies DSSI controller module configuration values. Does not accept a task value. /UQSSP— /SERVICE n—Specifies service for DSSI controller module n, where n is a value from 0 to 3. (The resulting fixed address of a DSSI controller module in maintenance mode is 20001910+4*n.) /csr_address—Specifies the Q22-bus I/O page CSR address for the DSSI controller module. LANGUAGE Sets console language and keyboard type. If the current console terminal does not support the Digital Multinational Character Set (MCS), then this command has no effect and the console message appears in English. Values are 1 through 15. Refer to Example 3–1 for the languages you can select. Qualifiers: Listed in the parameter descriptions above. 3–70 KN220 CPU System Maintenance Examples: >>> SET BFLAG 220 ! Sets boot flags 5 and 9 (See boot flag ! table in the BOOT command description.) >>> SET BOOT DUA0 >>> SET HOST/DUP/DSSI 0 Starting DUP server... DSSI Node 0 (SUSAN) DRVEXR V1.0 D 2-JUN-1989 10:01:35 DRVTST V1.0 D 2-JUN-1989 10:01:35 HISTRY V1.0 D 2-JUN-1989 10:01:35 ERASE V1.0 D 2-JUN-1989 10:01:35 PARAMS V1.0 D 2-JUN-1989 10:01:35 DIRECT V1.0 D 2-JUN-1989 10:01:35 Copyright © 1988 Digital Equipment Corporation Task Name? PARAMS Copyright © 1988 Digital Equipment Corporation PARAMS> STAT PATH ID Path Block -- -----------0 PB FF811ECC 1 PB FF8120D4 4 PB FF8121D8 5 PB FF8120DC 2 PB FF8122E0 3 PB FF8124E4 Remote Node --------------Internal Path KAREN RFX V101 WILMA RFX V101 BETTY RFX V101 DSSI1 VMS V5.0 3 VMB BOOT DGS_S DGS_R ------ -----0 0 0 0 0 0 0 0 0 0 0 0 MSGS_S -----0 0 0 0 816 50 MSGS_R -----0 0 0 0 3045 52 PARAMS> EXIT Exiting... Task Name? Stopping DUP server... KN220 Firmware 3–71 >>> SET HOST/DUP/DSSI 0 PARAMS Starting DUP server... DSSI Node 0 (SUSAN) Copyright © 1988 Digital Equipment Corporation PARAMS> SHOW NODE Parameter Current --------- -------------NODENAME SUSAN Default -----------RF30 Type -------String Radix ----Ascii Default -----------0 Type -------Byte Radix ----Dec B PARAMS> SHOW ALLCLASS Parameter Current --------- -------------ALLCLASS 1 PARAMS> EXIT Exiting... Stopping DUP server... >>> 3–72 KN220 CPU System Maintenance B 3.10.17 SHOW The SHOW command displays the console parameter you specify. Format: SHOW {parameter} Parameters: BFLAG Displays the default R5 boot flags. BOOT Displays the default boot device. DEVICE Displays all devices displayed by the SHOW DSSI, SHOW ETHERNET, SHOW SCSI, SHOW UQSSP, and SHOW VME commands. DSSI Displays the status of all nodes that can be found on the DSSI bus. For each node on the DSSI bus, the firmware displays the node number, the node name, and the boot name and type of the device, if available. The command does not indicate whether the device contains a bootable image. The node that issues the command is listed with a node name of * (asterisk). The device information is obtained from the media type field of the MSCP command GET UNIT STATUS. If a node is not running or is not capable of running an MSCP server, then no device information is displayed. ETHERNET Displays hardware Ethernet address for all Ethernet adapters that can be found, both on-board and on the Q22-bus. Displays as blank if no Ethernet adapter is present. LANGUAGE Displays console language and keyboard type. Refer to the corresponding SET LANGUAGE command for the meaning. MEMORY Displays main memory configuration board-by-board, if available. Section 4.8.9.) (See /FULL—Additionally, displays the normally inaccessible areas of memory, such as the PFN bitmap pages, the console scratch memory pages, the Q22-bus scatter-gather map pages. Also reports the addresses of bad pages, as defined by the bitmap. QBUS Displays all Q22-bus I/O addresses that respond to an aligned word read, and vector and device name information. For each address, the console displays the address in the VAX I/O space in hex, the address as it would appear in the Q22bus I/O space in octal, and the word data that was read in hex. Also displays the vector that you should set up and device name(s) that could be associated with the CSR. This command may take several minutes to complete. Press Ctrl/C to terminate the command. During execution, the command disables the scatter-gather map so that it can search for memory on the Q-bus. KN220 Firmware 3–73 SCSI Displays the status of all nodes that can be found on the SCSI bus. For each node, the firmware displays the node number and the boot name and type of the device, if available. The command does not indicate whether the device contains a bootable image. /FULL—Displays the boot path, device type, device capacity, product ID, revision, and fixed or removable. UQSSP Displays the status of all disks and tapes that can be found on the Q22-bus that support the UQSSP protocol. For each such disk or tape on the Q22-bus, the firmware displays the controller number, the controller CSR address, and the boot name and type of each device connected to the controller. The command does not indicate whether the device contains a bootable image. This information is obtained from the media type field of the MSCP command GET UNIT STATUS. The console does not display device information if a node is not running (or cannot run) an MSCP server. VERSION Displays the current firmware version. VME Displays presence of VME interface board. Qualifiers: Listed in the parameter descriptions above. Examples: >>> SHOW BFLAG 00000220 >>> SHOW BOOT DUA0 >>> SHOW DEVICE DSSI Node 0 (R7YRMS) -rf(0,0,*) (RF71) DSSI Node 7 (*) SCSI Node 0 -rz(0,0,*) (RZ56 ) SCSI Node 7 (*) UQSSP Tape Controller 0 (774500) -tm(0,0) (TK70) -MUA0 Ethernet Adapter -mop() -EZA0 (08-00-2B-12-81-22) Ethernet Adapter 0 (774440) -XQA0 (08-00-2B-08-CB-5C) VME Interface Board - Not Installed >>> 3–74 KN220 CPU System Maintenance >>> SHOW DSSI DSSI Node 0 (SUSAN) -rf(0,0,*) (RF71) DSSI Node 1 (KAREN) -rf(1,1,*) (RF71) DSSI Node 7 (*) >>> SHOW ETHERNET Ethernet Adapter -mop() -EZA0 (08-00-2B-12-81-22) Ethernet Adapter 0 (774440) -XQA0 (08-00-2B-08-CB-5C) >>> >>> SHOW LANGUAGE English (United States/Canada) >>> SHOW MEMORY Memory 1: 00000000 to 01FFFFFF, 32MB, 0 bad pages Memory 2: 02000000 to 03FFFFFF, 32MB, 0 bad pages Memory 3: 04000000 to 05FFFFFF, 32MB, 0 bad pages Memory 4: 06000000 to 07FFFFFF, 32MB, 0 bad pages Total of 128MB, 0 bad pages, 160 reserved pages >>> >>> SHOW MEMORY/FULL Memory 1: 00000000 to 01FFFFFF, 32MB, 0 bad pages Memory 2: 02000000 to 03FFFFFF, 32MB, 0 bad pages Memory 3: 04000000 to 05FFFFFF, 32MB, 0 bad pages Memory 4: 06000000 to 07FFFFFF, 32MB, 0 bad pages Total of 128MB, 0 bad pages, 160 reserved pages Memory Bitmap -07FEC000 to 07FF3FFF, 64 pages Console Scratch Area -07FF4000 to 07FF7FFF, 32 pages Qbus Map -07FF8000 to 07FFFFFF, 64 pages Scan of Bad Pages >>> KN220 Firmware 3–75 >>> SHOW QBUS Scan of Qbus I/O Space -20001468 (772150) = 4000 (154) RQDX3/KDA50/RRD50/RQC25/X-DISK -2000146A (772152) = 0B40 -20001940 (774500) = 0000 (260) TQK50/TQK70/TU81E/RV20/X-TAPE -20001942 (774502) = 0BC0 -20001F40 (777500) = 0020 (004) IPCR Scan of Qbus Memory Space >>> SHOW SCSI SCSI Node 0 -tz(0,0,*) (TLZ04) -DIA0 SCSI Node 1 -rz(0,1,*) (RZ56 ) SCSI Node 2 -rz(0,2,*) (RRD40) -DIA2 SCSI Node 4 -tz(0,4,*) (.....) -DIA4 SCSI Node 7 (*) >>> >>> SHOW SCSI/FULL Boot Path Dev Cap (in Hex) Product Id Revs r/f -------------------------------------------------------------------tl(0,0,*) TAPE 4B0 MBs TLZ04 1989(C)DEC 0304 r -rz(0,1,*) DISK 27A MBs RZ56 (C) DEC 0200 f -rz(0,2,*) CDROM 23B MBs RRD40 TM DEC 250E r -tz(0,4,*) TAPE 5A MBs ................ .... r SCSI Node 7 >>> >>> SHOW UQSSP UQSSP Tape Controller 0 (772150) -MUA0 -tm(0,0) (TK70) >>> SHOW VERSION KN220-A Vn.n >>> 3–76 KN220 CPU System Maintenance 3.10.18 START The START command starts instruction execution at the address you specify. If no address is given, the current PC is used. If memory mapping is enabled, macro instructions are executed from virtual memory, and the address is treated as a virtual address. The START command is equivalent to a DEPOSIT to PC, followed by a CONTINUE. It does not perform a processor initialization. Format: START [address] Arguments: [address] The address at which to begin execution. This address is loaded into the user’s PC. Example: >>> START 1000 KN220 Firmware 3–77 3.10.19 TEST The TEST command invokes a diagnostic test program specified by the test number. If you enter a test number of 0 (zero), all tests allowed to be executed from the console terminal are executed. The console accepts an optional list of up to five additional hexadecimal arguments. Refer to Chapter 4 for a detailed explanation of the diagnostics. Format: TEST {test_number} [test_arguments] Arguments: {test_number} A two-digit hex number specifying the test to be executed. [test_arguments] Up to five additional test arguments. These arguments are accepted but they have no meaning to the console. Example: >>> TEST 0 !Execute the power-up diagnostic script. 83..82..81..80..79..78..77..76..75..74..73..72..71..70..69..68..67.. 66..65..64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Tests completed. >>> 3–78 KN220 CPU System Maintenance 3.10.20 UNJAM The UNJAM command performs an I/O bus reset, by writing a 1 (one) to IPR 55 (decimal). Format: UNJAM Example: >>> UNJAM >>> KN220 Firmware 3–79 3.10.21 X—Binary Load and Unload The X command is for use by automatic systems communicating with the console. The X command loads or unloads (that is, writes to memory or reads from memory) the specified number of data bytes through the console serial line (regardless of console type) starting at the specified address. Format: X {address} {count} CR {line_checksum} {data} {data_checksum} If bit 31 of the count is clear, data is received by the console and deposited into memory. If bit 31 is set, data is read from memory and sent by the console. The remaining bits in the count are a positive number indicating the number of bytes to load or unload. The console accepts the command upon receiving the carriage return. The next byte the console receives is the command checksum, which is not echoed. The command checksum is verified by adding all command characters, including the checksum and separating space (but not including the terminating carriage return, rubouts, or characters deleted by rubout), into an 8-bit register initially set to zero. If no errors occur, the result is zero. If the command checksum is correct, the console responds with the input prompt and either sends data to the requester or prepares to receive data. If the command checksum is in error, the console responds with an error message. The intent is to prevent inadvertent operator entry into a mode where the console is accepting characters from the keyboard as data, with no escape mechanism possible. If the command is a load (bit 31 of the count is clear), the console responds with the input prompt (>>>), then accepts the specified number of bytes of data for depositing to memory, and an additional byte of received data checksum. The data is verified by adding all data characters and the checksum character into an 8-bit register initially set to zero. If the final content of the register is nonzero, the data or checksum is in error, and the console responds with an error message. If the command is a binary unload (bit 31 of the count is set), the console responds with the input prompt (>>>), followed by the specified number of bytes of binary data. As each byte is sent, it is added to a checksum register initially set to zero. At the end of the transmission, the two’s complement of the low byte of the register is sent. 3–80 KN220 CPU System Maintenance If the data checksum is incorrect on a load or if memory or line errors occur during the transmission of data, the entire transmission is completed, then the console issues an error message. If an error occurs during loading, the contents of the memory being loaded are unpredictable. The console represses echo while it is receiving the data string and checksums. The console terminates all flow control when it receives the carriage return at the end of the command line in order to avoid treating flow control characters from the terminal as valid command line checksums. Using control characters ( Ctrl/C , Ctrl/S , Ctrl/O , and so on), you can control the console serial line during a binary unload. You cannot control the console serial line during a binary load, since all received characters are valid binary data. The console has the following timing requirements: • It must receive data being loaded with a binary load command at a rate of at least one byte every 60 seconds. • It must receive the command checksum that precedes the data within 60 seconds of the carriage return that terminates the command line. • It must receive the data checksum within 60 seconds of the last data byte. If any of these timing requirements is not met, the console aborts the transmission by issuing an error message and returning to the console prompt. The entire command, including the checksum, can be sent to the console as a single burst of characters at the specified character rate of the console serial line. The console is able to receive at least 4 Kbytes of data in a single X command. KN220 Firmware 3–81 3.10.22 ! (Comment) The comment character (an exclamation point) is used to document command sequences. It can appear anywhere on the command line. All characters following the comment character are ignored. Format: ! Example: >>> ! The console ignores this line. >>> 3–82 KN220 CPU System Maintenance Chapter 4 KN220 Troubleshooting and Diagnostics 4.1 Introduction This chapter contains a description of KN220 ROM-based diagnostics, acceptance test and troubleshooting procedures, diagnostics, and power-up self-tests for common options. NOTE: Check the status of the nonvolatile RAM(NVRAM) disk cache and save the cache if necessary. Store the NVRAM and check the service history before removing any modules. See Appendix D. 4.1.1 General Troubleshooting Procedures Before troubleshooting any system problem, check the site maintenance guide for the system’s service history. Ask the system manager two questions: • Has the system been used before and did it work correctly? • Have changes been made to the system recently? Three problems commonly occur when you make a change to the system: • Incorrect cabling • Module configuration errors (incorrect CSR addresses and interrupt vectors) • Incorrect grant continuity Most communications modules use floating CSR addresses and interrupt vectors. If you remove a module from the system, you may have to change the addresses and vectors of other modules. Microsystems Options lists address and vector values for most options. If you change the system configuration, run the Configure utility at the maintenance mode prompt (>>>) to determine the CSR addresses and interrupt vectors recommended by Digital. KN220 Troubleshooting and Diagnostics 4–1 See MicroVAX Diagnostic Monitor User’s Guide for information about the Connect and Ignore commands, which are used to set up MDM for testing nonstandard configurations. See Appendix A for a summary of ULTRIX–32 Exerciser and uerf commands to help you troubleshoot and diagnose errors. When troubleshooting, note the location of cables and connectors before you perform each step. Label cables before you disconnect them to save time and prevent you from introducing new problems. If the system fails (or appears to fail) to boot the operating system, check the console terminal screen for an error message. If the terminal displays an error message, see Section 4.2. Check the LED display on the device you suspect is bad. If no errors are indicated by the device LED display, run the ROM-based diagnostics described in this chapter. In addition, check the following: • If self-test fails, check the module interconnect cabling. • If no message appears, make sure that the console terminal and the system are on. Check the on/off power switch on both the console terminal and the system. If the terminal has a DC OK LED, be sure it is on. • Check the cabling to the console terminal. • If you cannot get a display of any kind on the console terminal, try another terminal. • If the system DC OK LED remains off, check the power supply and power supply cabling. • Check the hex display on the H3602–AC. If the display is off, check the I/O module LED display and the CPU cabling. If a hex error message appears on the H3602–AC or the module, see Section 4.2. If the system boots successfully, but a device seems to fail or an intermittent failure occurs, check the error log first for a device problem. The failing device is usually in one of the following areas: • CPU • Memory • Mass storage • Communications devices 4–2 KN220 CPU System Maintenance 4.2 KN220 ROM-Based Diagnostics The KN220 ROM-based diagnostic facility, rather than the MicroVAX Diagnostic Monitor (MDM), is the primary diagnostic tool for troubleshooting and testing of the CPU, memory, Ethernet, SCSI, and DSSI subsystems. ROM-based diagnostics have significant advantages: • Load time is virtually nonexistent. • The boot path is more reliable. • Diagnosis is done in a more primitive state. (MDM requires successful loading of the operating system.) The ROM-based diagnostics can indicate several different FRUs, not just the CPU or I/O modules. (Table 4–7 lists the FRUs indicated by ROM-based diagnostic error messages.) The diagnostics run automatically on power-up. While the diagnostics are running, the LEDs on the H3602–AC display a hexadecimal countdown of the tests from F to 4 (though not in precise reverse order) before booting the operating system, and 2 to 0 while booting the operating system. A different countdown appears on the console terminal. The ROM-based diagnostics are a collection of individual tests with parameters that you can specify. A data structure called a script points to the tests. (See Section 4.2.2.) There are several field and manufacturing scripts. Qualified Customer Services personnel can also create their own scripts interactively. A program called the diagnostic executive determines which of the available scripts to invoke. The script sequence varies if the KN220 is in a manufacturing environment. The diagnostic executive interprets the script to determine what tests to run, the correct order in which to run the tests, and the correct parameters to use for each test. The diagnostic executive also controls tests so that errors can be detected and reported. It also ensures that when the tests are run, the machine is left in a consistent and well-defined state. KN220 Troubleshooting and Diagnostics 4–3 4.2.1 Diagnostic Tests To get the list of ROM-based utilities, enter T 9E at the maintenance mode prompt (T is the abbreviation of TEST). The column headings have the following meanings: • Test is the test code or utility code. • Address is the test or utility’s base address in ROM. This address varies. The addresses shown are examples only. If a test fails, entering T FE displays diagnostic state to the console. You can subtract the base address of the failing test from the last_exception_pc to find the index into the failing test’s diagnostic listing. • Name is a brief description of the test or utility. • Parameters shows the parameters for each diagnostic test or utility. Tests accept up to 20 parameters. The asterisks (*) represent parameters that are used by the tests but that you cannot specify individually. These parameters are encoded in ROM and are provided by the diagnostic executive. 4–4 KN220 CPU System Maintenance >>>T 9E Test # Address Name Parameters ___________________________________________________________________________ 2004CA00 CP_SCB 2004DCA8 De_executive 20 200583BC R_D_Cache_Seg *** 21 200583D4 R_D_Cache_Tag *** 22 200583EC R_D_Cache_Tag_Par *** 23 20058408 R_D_Cache_Data_Par *** 24 20058425 R_D_Cache_Val_Bit *** 25 20058441 R_D_Cache_RAM *** 26 20058472 R_I_Cache_Seg *** 27 2005848A R_I_Cache_Tag *** 28 200584A2 R_I_Cache_Tag_Par *** 29 200584BE R_I_Cache_Data_Par *** 2A 200584DB R_I_Cache_Val_Bit *** 2B 200584F7 R_I_Cache_RAM *** 2C 2005850F R_I_Cache_Inst *** 2D 20058459 R_D_Cache_Inst *** 2E 20058528 R_Cache_IStream *** 2F 20058542 R_Cache_Exerciser *** 30 20058058 MEM_Bitmap * 34 2004F25C ROM logic test * 40 2005774C Memory Count Errs Soft_errs_allowed ******* 41 20055FFC CDE Cleanup ****** 42 2005617A Check_for_intrs ****** 43 20057BD0 CVAX Mem Interface start_add end_add inc pat sel_tst sav_map **** 44 200561F8 CVAX Cache mem addr_incr ********* 45 20050490 C_cache_mem_cqbic start_addr end_addr addr_incr **** 46 20050790 C_Cache_diag_mode addr_incr ********* 47 2005822B MEM_Refresh start end incr cont_on_err time_seconds 48 200581B4 MEM_Addr_shrts start_add end_add * cont_on_err pat_2 pat_3 4C 2005819C MEM_ECC_Error start_add end_add add_incr cont_on_err 4D 2005811E MEM_Address start_add end_add add_incr cont_on_err 4E 2005810B MEM_Byte start_add end_add add_incr cont_on_err 4F 200580F8 MEM_Data start_add end_add add_incr cont_on_err 52 2004FEEF Prog timer which_timer wait_time_us *** 53 200501D0 TOY clock repeat_test_250ms_ea Tolerance *** 54 20055D19 Virtual mode ********* 55 20050387 Interval timer which_timer ** 56 20051624 SII_ext_loopbck *** 57 20054124 SII_memory incr test_pattern ******* KN220 Troubleshooting and Diagnostics 4–5 58 59 5B 5C 5D 5F 60 65 66 67 71 72 73 74 75 76 77 78 79 7A 7C 7D 80 81 82 83 90 91 92 9A 9B 9C 9D 20053D40 200557B8 2005450D 2005192F 200525DD 20054B08 2004FB6E 20054139 20058834 200546A8 2005855E 20058572 20058586 200585A3 200585BD 200585D8 200585F2 2005860F 2005862C 20058642 2005865C 20058672 2004F424 20050E2F 20051003 200588D4 2004F39E 2004F32C 20057988 2005806F 20057890 20056662 2005655E 9E 9F C1 C2 C5 C6 C7 20050E07 20056FDF 200511E4 200513B0 20051529 2004F0E0 2004F1A1 DSSI reset port_no time_secs * SGEC_LPBCK_ASSIST time_secs ** SII_registers **** SII_initiatior ****** SII target ******* SGEC loopback_type no_ram_tests ****** SSC Console Serial start_baud end_baud ****** SCSI_memory incr test_pattern ******* R_SCSI_Test ********** SCSI Quick test ********** R3000_FPU * R3000_TLB * R_IO_Reg_Interface loop *** R_SII_Buf_Intrf start_add end_add incr patrn ** R_SCSI_Buf_Intrf start_add end_add incr patrn ** R3000_Interrupt * R_Mem_Moving_Inver start_add end_add incr *** R3000_Write_Buffer * R3000_NVRAM start_add end_add R3000_NVRAM_all start_add end_add R3000_DUART * R3000_Interaction loop_cnt sel_dev CQBIC_memory ********** MSCP-QBUS test IP_csr ****** DELQA device_num_addr **** VME Test * CQBIC registers * CQBIC Powerup ** CDAL_RIO Intrf ***** Memory Descrip Board1 Bd2 Bd3 Bd4 verify_only Init_memory_32MB * List Registers * Utilities Expnd_err_msg get_mode init_LEDs clr_ps_cnt List diags * Create Script ******* SSC RAM * SSC RAM ALL * SSC regs * SSC_powerup ********* CBTCR timeout *** 4–6 KN220 CPU System Maintenance Scripts # Description A0 A1 A3 A4 A7 A8 A9 B3 Soft Script, created by 9F Powerup field Manuf FV Manuf Loop on A3 Memory tests, called by A8 Field memory acceptance, mark Hard SBEs Run memory tests, stop on any error Manuf APT, Do NOT use in field >>> Parameters that you can specify are written out, as shown in the following examples: 54 52 2004E557 2004FF38 Virtual mode Prog_timer ****** which_timer,wait_time_us*** The virtual mode test on the first line contains several parameters, but you cannot specify any of them. To run this test individually, enter: >>> T 54 The Prog_timer test on the second line accepts 5 parameters, but you can specify only the first two to test the programmable timer. >>> T 52 0 10 4.2.2 Scripts Most of the tests shown by utility 9E are arranged into scripts. A script is a data structure that points to various tests and defines the order in which they are run. Different scripts can run the same set of tests, but in a different order and/or with different parameters and flags. A script also contains the following information: • The parameters and flags that need to be passed to the test. • Where the tests can be run from. For example, certain tests can be run only from EPROM. Other tests are program independent code and can be run from EPROM, cache diagnostic space, or main memory to enhance execution speed. • What is to be shown, if anything, on the console. • What is to be shown, if anything, in the LED display. • What action to take on errors (halt, repeat, continue). KN220 Troubleshooting and Diagnostics 4–7 The power-up script runs every time the system is powered on. You can also invoke the power-up script at any time by entering T 0. Some of the common scripts are listed in test 9E. Scripts # Description A0 A1 A3 A4 A7 A8 A9 B3 Soft script, created by 9F Powerup field Manuf FV Manuf Loop on A3 Memory tests, called by A8 Field memory acceptance, mark Hard SBEs Run memory tests, stop on any error Manuf APT, Do NOT use in field Additional scripts are included in the ROMs for use in manufacturing and engineering environments. Customer Services personnel can run scripts and tests individually, using the T command. When doing so, note that certain tests may be dependent upon a state set up from a previous test. For this reason, you should use the UNJAM and INITIALIZE commands, described in Chapter 3, before running an individual test after the operating system has crashed or has been halted. You do not need to use these commands on system power-up, however, because system power-up leaves the machine in a defined state. Customer Services personnel with a detailed knowledge of the KN220 hardware and firmware can also create their own scripts by using the 9F utility. (See Section 4.2.4.) 4–8 KN220 CPU System Maintenance Table 4–1 lists the scripts that are available to Customer Services. Table 4–1: Scripts Available to Customer Services Script1 A0 A1 Enter with TEST Command A7 A0 A1, B8, 0, 3 A7, A8 A8 A8 A9 A9 AD AD AE AF B1 AE, AD AF 2, B8 Description Soft script created by de_test9f. Enter T 9F to create. Common section of power-up script. Script B8 invokes this script at power-up. Memory test portion invoked by script A8. Reruns the memory tests without rebuilding and reinitializing the bitmap. Run script A8 once before running script A7 separately to allow mapping out of both single-bit and double-bit main memory ECC errors. Memory acceptance. Running script A8 with script A7 tests main memory more extensively. It enables hard single-bit and multibit main memory ECC errors to be marked bad in the bitmap. Invokes script A7 when it has completed its tests. Memory tests. Halts and reports the first error. Does not reset the bitmap or busmap. Console program. Runs memory tests, marks bitmap, resets busmap, and resets caches. Calls script AE. Console program. Resets board registers and caches. Console program. Resets busmap and resets caches. Initial power-up script for console SLU before first console announcement. Invoked at power-up. 1 Scripts A2–A6, B0, and B2–B5 are for manufacturing use. They should not be used by Customer Services. Scripts A2, A5, A6, AA, AB, AC, B2, B4, B7, BA–BF are unused. Scripts A3, A4, B0, B1, B3, B5, B6, and B9 are for manufacturing. KN220 Troubleshooting and Diagnostics 4–9 In most cases, Customer Services needs only the scripts shown in Table 4–2 for effective troubleshooting and acceptance testing. Table 4–2: Commonly Used Customer Services Scripts Command Description 0 Automatically invokes the proper scripts; runs the same tests as during powerup. Primarily runs the memory tests; halts upon first hard or soft error. Memory acceptance script; marks hard multibit and single-bit ECC errors in the bitmap. Script A8 calls script A7 when this command is entered. Script A7 contains the memory tests that will continue on error. Can be run by itself; useful when you want to bypass the bitmap test. Power-up script that can be run by itself. A9 A8 A7 A1 4.2.3 Script Calling Sequence Actions at Power-Up In a nonmanufacturing environment where the intended console device is the serial line unit (SLU), the console program (referred to as CP below) performs the following actions at power-up: 1. Runs the IPT. 2. Assumes console device is SLU. 3. Calls the diagnostic executive (DE) with Test Code = 2. a. DE determines that the environment is nonmanufacturing from H3602–AC. (Manufacturing sets a jumper on the H3602–AC for testing.) b. DE selects script sequence for console SLU. c. DE executes script B1. Script B1 directs DE to execute test. (Console announcements are off.) d. DE passes control back to the CP. 4. Establishes SLU as console device (whether or not SLU test passed). 5. Prints banner message. 6. Displays language inquiry menu on console if console supports MCS and any of the following is true: 4–10 KN220 CPU System Maintenance a. Battery is dead. b. H3602–AC switch set to action (language inquiry). c. Contents of SSC NVRAM are invalid. 7. Calls DE with Test Code = 3. a. DE executes script A1. (Announcements are on.) b. DE passes control back to CP. 8. CP issues end message and >>> prompt. CP may exit to >> prompt. Actions After You Enter T 0 In a nonmanufacturing environment where the intended console device is the SLU, the console program (CP) performs the following actions after you enter T 0 at the console prompt (>>> T 0): 1. Calls the diagnostic executive (DE) with Test Code = 0. a. DE determines environment is nonmanufacturing from H3602–AC switch setting. b. DE executes script B8. Script B8 directs DE to execute scripts B1 and A1. i Script B1 directs DE to execute tests. (Console announcements are off.) ii Script A1 directs DE to execute tests. (Console announcements are on.) c. DE passes control back to the CP. 2. CP prints end message and >>> prompt. Console may exit to >> prompt. Note that although the sequence of actions is different in the two cases above, the same tests (those in scripts B1 and A1) are run both times. KN220 Troubleshooting and Diagnostics 4–11 4.2.4 Creating Scripts You can create your own script, using utility 9F, to control the order in which tests are run and to select specific parameters and flags for individual tests. In this way you do not have to use the defaults provided by the hard-wired scripts. Utility 9F also provides an easy way to see what flags and parameters are used by the diagnostic executive for each test. Run test 9F first to build the user script (see Example 4–1). Press Return to use the default parameters or flags, which are shown in parentheses. Test 9F prompts you for the following information: • Script location. The script can be located in the 1-Kbyte NVRAM in the SSC, in the 128-Kbyte mass storage interface (MSI) RAM, or in main memory. A script is limited by the size of the data structure that contains it. A larger script can be developed in main memory than in MSI RAM, and a larger script can be built in MSI RAM than in SSC RAM. A script cannot, however, always be located in main memory. For example, a script that runs memory tests will overwrite the user script, since the diagnostic executive cannot relocate the user script to another area. The diagnostic executive notifies you if you have violated this type of restriction by issuing a script incompatibility message. • Test number. • Run environment. This defines the environment from which the actual diagnostic test can be run. The choices are 0 = ROM, 1 = MSI RAM, 2 = Main Memory, and 3 = Fastest Possible. Choose number 3 to select the fastest possible environment that will not overwrite the test. • Repeat code. • Error severity level. • Console error report. • Script error treatment. • LED display. • Console display. • Parameters. Example 4–1 shows how to build and run a user script. 4–12 KN220 CPU System Maintenance The utility displays the test name after you enter the test number and the number of bytes remaining after you enter the information for each test. When you have finished entering tests, press Return at the next Next test number: prompt to end the script-building session. Then type T A0 Return to run the new script. You cannot review or edit a script you have created. Example 4–1: Creating a Script with Utility 9F >>> T 9F SP=20140670 Create script in ?[0=SSC,1=SII_RAM,2=RAM] : Script starts at 201407D4 40 bytes left Next test number :80 CQBIC_memory >>Run from ?[0=ROM,1=Diag_RAM,3=fastest possible] (0): CQBIC_memory >>Addressing mode? [0=physical,1=virtual] (0): CQBIC_memory >>Repeat? [0=no,1=forever,>1=count<FF] (0): CQBIC_memory >>Error severity ? [0,1,2,3] (2): CQBIC_memory >>Console error report? [0=none,1=full] (1): CQBIC_memory >>Stop script on error? [0=NO,1=YES] (1): CQBIC_memory >>LED on entry (08): CQBIC_memory >>Console on entry (80): 33 bytes left Next test number :7d R3000_Interaction>>Run from ?[0=ROM,1=Diag_RAM,2=RAM,3=fastest possible] (0): R3000_Interaction>>Addressing mode? [0=physical,1=virtual] (0): R3000_Interaction>>Repeat? [0=no,1=forever,>1=count<FF] (0): R3000_Interaction>>Error severity ? [0,1,2,3] (2): R3000_Interaction>>Console error report? [0=none,1=full] (1): R3000_Interaction>>Stop script on error? [0=NO,1=YES] (1): R3000_Interaction>>LED on entry (07): R3000_Interaction>>Console on entry (7D): R3000_Interaction>> loop_cnt : 00000001 - 0000FFFF ?(00000001) 3 R3000_Interaction>> sel_dev : 00000000 - 0000000F ?(0000000F) 18 bytes left Next test number : >>> T A0 80..7D.. >>> Example 4–2 shows the script-building procedure to follow if (a) you are unsure of the test number to specify, and (b) you want to run one test repeatedly. If you are not sure of the test number, enter ? at the Next test number: prompt to invoke test 9E and display test numbers, test names, and so on. To run one test repeatedly, enter the following sequence: KN220 Troubleshooting and Diagnostics 4–13 1. Enter the test number (55 in Example 4–2) at the Next test number: prompt. 2. Enter A0 at the next Next test number: prompt. 3. Press Return at the next Next test number: prompt. 4. Enter T A0 to begin running the script repeatedly. 5. Press Ctrl/C to stop the test. The sequence above is a useful alternative to using the REPEAT console command to run a test, because REPEAT (test) displays line feeds only; it does not display the console test announcement. Example 4–2: Listing and Repeating Tests with Utility 9F, Help and Loop on A0 >>>T 9F SP=20140670 Create script in ?[0=SSC,1=SII_RAM,2=RAM] :0 Script starts at 201407D4 40 bytes left Next test number :? Test # Address Name Parameters _______________________________________________________________ 2004CA00 CP_SCB 2004DCA8 De_executive 20 200583BC R_D_Cache_Seg *** 21 200583D4 R_D_Cache_Tag *** 22 200583EC R_D_Cache_Tag_Par *** 23 20058408 R_D_Cache_Data_Par *** 24 20058425 R_D_Cache_Val_Bit *** 25 20058441 R_D_Cache_RAM *** 26 20058472 R_I_Cache_Seg *** 27 2005848A R_I_Cache_Tag *** 28 200584A2 R_I_Cache_Tag_Par *** 29 200584BE R_I_Cache_Data_Par *** 2A 200584DB R_I_Cache_Val_Bit *** 2B 200584F7 R_I_Cache_RAM *** 2C 2005850F R_I_Cache_Inst *** 2D 20058459 R_D_Cache_Inst *** 2E 20058528 R_Cache_IStream *** 2F 20058542 R_Cache_Exerciser *** 30 20058058 MEM_Bitmap * Example 4–2 Cont’d on next page 4–14 KN220 CPU System Maintenance Example 4–2 (Cont.): Listing and Repeating Tests with Utility 9F, Help and Loop on A0 34 40 41 42 43 2004F25C 2005774C 20055FFC 2005617A 20057BD0 44 45 46 47 200561F8 20050490 20050790 2005822B 48 200581B4 4C 2005819C 4D 2005811E 4E 2005810B 4F 200580F8 52 53 54 55 56 57 58 59 5B 5C 5D 5F 60 65 66 67 71 72 73 74 75 76 77 2004FEEF 200501D0 20055D19 20050387 20051624 20054124 20053D40 200557B8 2005450D 2005192F 200525DD 20054B08 2004FB6E 20054139 20058834 200546A8 2005855E 20058572 20058586 200585A3 200585BD 200585D8 200585F2 ROM logic test * Memory Count Errs Soft_errs_allowed ******* CDE Cleanup ****** Check_for_intrs ****** CVAX Mem Interface start_add end_add inc pat sel_tst sav_map **** CVAX Cache mem addr_incr ********* C_cache_mem_cqbic start_addr end_addr addr_incr **** C_Cache_diag_mode addr_incr ********* MEM_Refresh start end incr cont_on_err time_seconds MEM_Addr_shrts start_add end_add * cont_on_err pat_2 pat_3 MEM_ECC_Error start_add end_add add_incr cont_on_err MEM_Address start_add end_add add_incr cont_on_err MEM_Byte start_add end_add add_incr cont_on_err MEM_Data start_add end_add add_incr cont_on_err Prog timer which_timer wait_time_us *** TOY clock repeat_test_250ms_ea Tolerance *** Virtual mode ********* Interval timer which_timer ** SII_ext_loopbck *** SII_memory incr test_pattern ******* DSSI reset port_no time_secs * SGEC_LPBCK_ASSIST time_secs ** SII_registers **** SII_initiatior ****** SII target ******* SGEC loopback_type no_ram_tests ****** SSC Console Serial start_baud end_baud ****** SCSI_memory incr test_pattern ******* R_SCSI_Test ********** SCSI Quick test ********** R3000_FPU * R3000_TLB * R_IO_Reg_Interface loop *** R_SII_Buf_Intrf start_add end_add incr patrn ** R_SCSI_Buf_Intrf start_add end_add incr patrn ** R3000_Interrupt * R_Mem_Moving_Inver start_add end_add incr *** Example 4–2 Cont’d on next page KN220 Troubleshooting and Diagnostics 4–15 Example 4–2 (Cont.): Listing and Repeating Tests with Utility 9F, Help and Loop on A0 78 79 7A 7C 7D 80 81 82 83 90 91 92 9A 9B 9C 9D 2005860F 2005862C 20058642 2005865C 20058672 2004F424 20050E2F 20051003 200588D4 2004F39E 2004F32C 20057988 2005806F 20057890 20056662 2005655E 9E 9F C1 C2 C5 C6 C7 20050E07 20056FDF 200511E4 200513B0 20051529 2004F0E0 2004F1A1 R3000_Write_Buffer * R3000_NVRAM start_add end_add R3000_NVRAM_all start_add end_add R3000_DUART * R3000_Interaction loop_cnt sel_dev CQBIC_memory ********** MSCP-QBUS test IP_csr ****** DELQA device_num_addr **** VME Test * CQBIC registers * CQBIC Powerup ** CDAL_RIO Intrf ***** Memory Descrip Board1 Bd2 Bd3 Bd4 verify_only Init_memory * List Registers * Utilities Expnd_err_msg get_mode init_LEDs clr_ps_cnt List diags * Create Script ******* SSC RAM * SSC RAM ALL * SSC regs * SSC_powerup ********* CBTCR timeout *** Scripts # Description A0 A1 A3 A4 A7 A8 A9 B3 Soft Script, created by 9F Powerup field Manuf FV Manuf Loop on A3 Memory tests, called by A8 Field memory acceptance, mark Hard SBEs Run memory tests, stop on any error Manuf APT, Do NOT use in field Example 4–2 Cont’d on next page 4–16 KN220 CPU System Maintenance Example 4–2 (Cont.): Listing and Repeating Tests with Utility 9F, Help and Loop on A0 40 bytes left Next test number :55 Interval timer >>Run from ?[0=ROM,1=Diag_RAM,2=RAM,3=fastest possible] (0): Interval timer >>Addressing mode? [0=physical,1=virtual] (0): Interval timer >>Repeat? [0=no,1=forever,>1=count<FF] (0): Interval timer >>Error severity ? [0,1,2,3] (2): Interval timer >>Console error report? [0=none,1=full] (1): Interval timer >>Stop script on error? [0=NO,1=YES] (1): Interval timer >>LED on entry (05): Interval timer >>Console on entry (55): Interval timer >> which_timer : 00000001 - 00000003 ?(00000003) 29 bytes left Next test number :a0 - script 28 bytes left Next test number : >>>R T A0 55..55..55..55..55..55..55..55..55..55..55..55..55..55..55..55..55.. 55..55..55..55..55..55..55..55..55..55..55..55..55..55..55..55..55.. 55..55..55.. >>> 4.2.5 Console Displays and LEDs Example 4–3 shows a typical console display during execution of the ROMbased diagnostics (power-up). Example 4–3: Console Display (No Errors) KN220-A Vn.n Performing normal system tests. 83..82..81..80..79..78..77..76..75..74..73..72..71..70..69..68..67.. 66..65..64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Tests completed. >>> KN220 Troubleshooting and Diagnostics 4–17 The first line contains the module (KN220–A) and the firmware version (Vn.n). The numbers on the console display do not refer to actual test numbers. Table 4–3 shows the actual ROM-based diagnostic tests that run during power-up. Table 4–3: Tests Run During Power-up Number Displayed/Test Run Number Displayed/Test Run Number Displayed/Test Run 83/91 82/90 81/52 80/52 79/53 78/C1 77/34 76/C5 75/55 74/5B 73/57 72/C7 71/C2 70/5C 69/5D 68/65 67/67 66/92 65/79 64/78 63/7C 62/71 61/72 60/21 59/22 58/23 57/24 56/25 55/2D 54/27 53/28 52/29 51/2A 50/2B 49/2C 48/30 47/9A 46/4F 45/4E 44/4D 43/48 42/48 41/48 40/48 39/48 38/48 37/48 36/48 35/48 34/48 33/48 32/48 31/48 30/48 30/48 29/48 28/48 27/47 26/4C 25/40 24/46 23/43 22/5F 21/7A 20/20 19/26 18/2E 17/2F 16/73 15/74 14/75 13/76 12/66 11/44 10/80 09/54 08/34 07/C5 06/45 05/83 04/7D 03/41 During execution of the IPT, normal error messages are displayed if the console terminal is working. Console announcements, such as test numbers and countdown, however, are suppressed. Tests continue to run after the IPT, up to and including the appropriate console test. 4–18 KN220 CPU System Maintenance Diagnostic test failures, if specified in the firmware script, produce an error display in the format shown in Example 4–4 and Example 4–5. Example 4–4: Sample Output with Errors: R3000 >>>T 0 83..82..81..80..79..78..77..76..75..74..73..72..71..70..69..68..67.. 66..65.. ?79 2 06 FF 0000 0007 P1 =28000000 P2 =2807FFFC P3 =00000000 P4 =00000000 P5 =00000000 P6 =00000000 P7 =00000000 P8 =00000000 P9 =00000000 P10=00000000 P11=00000000 P12=00000000 P13=00000000 P14=00000000 P15=00000000 P16=00000000 P17=00000000 P18=00000000 P19=00000000 P20=00000000 gp =1C270008 sp =B8001B1C fp =00000000 sr =B048FF04 epc=BFC2903C badvaddr =00000000 cause =00000000 64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Normal operation not possible. >>> KN220 Troubleshooting and Diagnostics 4–19 Example 4–5: Sample Output with Errors: CVAX >>>T 0 83..82..81..80..79..78..77..76..75..74.. ?5B 2 01 FF 0000 0009 P1 =20160044 P2 =000080FF P3 =00000000 P4 =FFFF0000 P5 =00000000 P6 =00000000 P7 =00000000 P8 =00000000 P9 =00000000 P10=00000000 P11=00000000 P12=00000000 P13=00000000 P14=00000000 P15=00000000 P16=00000000 P17=00000000 P18=00000000 P19=00000000 P20=00000000 r0 =00000001 r1 =2005462B r2 =0000005B r3 =201407AC r4 =2005450D r5 =2005452B r6 =200589B3 r7 =00000000 r8 =0000000C ERF=80000000 73..72..71..70..69..68..67.. 66..65..64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Normal operation not possible. >>> 4–20 KN220 CPU System Maintenance The errors are printed in a seven-line display. The first line has six fields: Test Severity Error De_error Vector Count • Test identifies the diagnostic test. In Example 4–5, the test is 5B. • Severity is the severity level of a test failure, as dictated by the script. In Example 4–4 and Example 4–5, 2 is the severity level. Failure of a severity level 2 test causes the display of this five-line error printout and halts an autoboot. An error of severity level 1 causes a display of the first line of the error printout, but does not interrupt an autoboot. Most tests have a severity level of 2. • Error is two hex digits identifying, usually within 10 instructions, where in the diagnostic the error occurred. This field is also called the subtestlog. In Example 4–5, 01 is the area where the error occurred. • De_error (diagnostic executive error) signals the diagnostic’s state and any illegal behavior. This field indicates a condition that the diagnostic expects on detecting a failure. FE, EE, or EF in this field means that an unexpected exception or interrupt was detected. FF indicates an error as a result of normal testing, such as a miscompare. The possible codes are: FF—Normal error exit from diagnostic FE—Unexpected interrupt FD—Interrupt in cleanup routine FC—Interrupt in interrupt handler FB—Script requirements not met FA—No such diagnostic EF—Unexpected exception in executive EE—Unexpected exception in console • Vector identifies the SCB vector (0000 in the example above) through which the unexpected exception or interrupt trapped, when the de_ error field detects an unexpected exception or interrupt (FE or EF; for EE look at the CAUSE REGISTER). • Count is four hex digits. It shows the number of previous errors that have occurred (seven in Example 4–4 and nine in Example 4–5). Lines 2 through 5 of the error printout are parameters 1 through 20. When the diagnostics are running normally, these parameters are the same parameters that are listed in Table 4–5. KN220 Troubleshooting and Diagnostics 4–21 When an unexpected machine check exception or other type of exception occurs during the executive (de_error is EF), the stack is saved in the parameters on lines 2 and 3, as listed in Tables 4–4 and 4–5. Table 4–4: Values Saved, Machine Check Exception During Executive (CVAX) Parameter Value P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Contents of SP, points to vector value in P2 Vector = 04, vector of exception 04–FC, 00 = Q-bus Address of PC pointing to failed instruction, P9 Byte count = 10 Machine check code Most recent virtual address Internal state information 1 Internal state information 2 PC, points to failing instruction PSL Table 4–5: Values Saved, Exception During Executive (CVAX) Parameter Value P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11-P20 Contents of SP, points to vector value in P2 Vector = nn, vector of exception 04–FC, 00 = Q-bus Address of PC pointing to failed instruction, P4 PC, points to instruction following failed instruction PSL Contents of stack Contents of stack Contents of stack Contents of stack Contents of stack Unused 4–22 KN220 CPU System Maintenance In the example of CVAX errors (Example 4–5), lines 6 and 7 of the error printout are general registers R0 through R8 and the hardware error summary register. In the example of R3000 errors (Example 4–4) lines 6 and 7 are the general registers gp, sp, fp, sr, epc, badvaddr, and cause. When returning a module for repair, record the first line of the error printout and the version of the ROMs on the module repair tag. In addition to the console diagnostic countdown, a hexadecimal value is displayed on the diagnostic LEDs on the KN220 I/O module and on the H3602–AC CPU I/O panel. Table 4–6 lists all LED codes and the associated actions that are performed at power-up. Table 4–6: LED Codes LED Value Action F E D C B A 9 8 7 6 5 4 3 2 1 0 Initial state on power-up. No code has executed. Entered ROM. Some instructions have executed. Waiting for power to stabilize (POK). SSC and ROM tests. CVAX tests. R3000 tests. Memory controller and memory tests. CQBIC (Q22-bus) tests. Console loopback tests. DSSI and SCSI subsystem tests. Ethernet subsystem tests. CVAX maintenance mode. R3000 normal mode. CVAX primary/secondary bootstrap. R3000 primary/secondary bootstrap. Operating system running. Figure 4–1 shows the LEDs on the KN220 I/O module. They correspond to the hex display on the H3602–AC. KN220 Troubleshooting and Diagnostics 4–23 Figure 4–1: KN220 I/O Module LEDs Green DC OK LED Red LEDs Value On Value Off 8 0 4 0 2 0 1 0 MLO-005176 Table 4–7 lists the hex LED display, the default action on errors, and the most likely FRUs. It is divided into IPTs and scripts. The Default Action on Error column refers to the action taken by the diagnostic executive under the following circumstances: • The diagnostic executive detects an unexpected exception or interrupt. • A test fails and that failure is reported to the diagnostic executive. The Default on Error column does not refer to the action taken by the memory tests. The diagnostic executive either halts the script or continues execution at the next test in the script. Most memory tests have a continue on error parameter (labeled cont_on_ error, as shown in test 47 in Example 4–2). If you explicitly set cont_on_ error, using parameter 4 in a memory test, the test marks bad pages in the bitmap and continues without notifying the diagnostic executive of the error. In this case, a halt on error does not occur even if you specify halt on error in the diagnostic executive (by answering Yes to Stop script on error? in Utility 9F), since the memory test does not notify the diagnostic executive that an error has occurred. 4–24 KN220 CPU System Maintenance Table 4–7: KN220 Console Displays and FRUs Hex LED Normal Error Console Console Default Display Display on Error Description FRU1 Initial Power-Up Tests F D 4 7 None None None None None None None None Loop on test Loop on test Loop on self Loop on test Power-up WAIT_POK Entering IPT SLU_EXT_LOOPBACK2 7, 2, 5, 6, 10 2 2 8, 9, 2 ?9D ?42 ?C6 ?60 Continue Continue Continue Continue Utilities Check_for_intrs SSC_power-up CONSOLE_SERIAL 2, 10 2, 1, 10 2, 10 2, 10 ?91 ?90 ?52 ?52 ?53 ?C1 Continue Continue Continue Continue Continue Continue CQBIC Powerup CQBIC registers Prog timer Prog timer TOY clock SSC RAM 2 2 2 2 2 2 Script B1 C None B None C None 7 None End of script. Script A1 8 8 C C C C 83 82 81 80 79 78 1 In the case of multiple FRUs, refer to Section 4.4.2 for further information. If a problem recurs with the same FRU, check that the tolerances for system power supply +5 Vdc, +12 Vdc, and ac ripple are within specification. 2 This test runs only if the power-up mode switch on the H3602–AC is set to select the test. See Section 4.5.3. FRU key: 1 = KN220 CPU module 2 = KN220 I/O module 3 = MS220 memory module 4 = Memory interconnect cable 5 = Q22-bus device 6 = Q22/CD backplane 7 = System power supply 8 = H3602–AC CPU I/O panel 9 = H3602–AC cable 10 = CPU and I/O module interconnect cable 11 = CPU and VME interconnect cable KN220 Troubleshooting and Diagnostics 4–25 Table 4–7 (Cont.): KN220 Console Displays and FRUs Hex LED Normal Error Console Console Default Display Display on Error Description FRU1 ROM logic test SSC regs Interval timer SII_registers SII_memory CBTCR timeout SSC RAM ALL SII_initiatior SII target SCSI_memory SCSI Quick test CDAL_RIO Intrf R3000_NVRAM R3000_Write_Buffer R3000_DUART R3000_FPU R3000_TLB R_D_Cache_Tag R_D_Cache_Tag_Par R_D_Cache_Data_Par R_D_Cache_Val_Bit R_D_Cache_RAM R_D_Cache_Inst 2, 10 2, 10 2, 1, 10 2, 10 2, 10 2, 10 2, 10 2, 10 2, 10 2, 10 2, 10 2, 1, 10 1 1 1 1 1 1 1 1 1 1 1 Script A1 C C B 6 6 C C 6 6 6 6 C A A A A A A A A A A A 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 ?34 ?C5 ?55 ?5B ?57 ?C7 ?C2 ?5C ?5D ?65 ?67 ?92 ?79 ?78 ?7C ?71 ?72 ?21 ?22 ?23 ?24 ?25 ?2D Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Halt Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue 1 In the case of multiple FRUs, refer to Section 4.4.2 for further information. If a problem recurs with the same FRU, check that the tolerances for system power supply +5 Vdc, +12 Vdc, and ac ripple are within specification. FRU key: 1 = KN220 CPU module 2 = KN220 I/O module 3 = MS220 memory module 4 = Memory interconnect cable 5 = Q22-bus device 6 = Q22/CD backplane 7 = System power supply 8 = H3602–AC CPU I/O panel 9 = H3602–AC cable 10 = CPU and I/O module interconnect cable 11 = CPU and VME interconnect cable 4–26 KN220 CPU System Maintenance Table 4–7 (Cont.): KN220 Console Displays and FRUs Hex LED Normal Error Console Console Default Display Display on Error Description FRU1 R_I_Cache_Tag R_I_Cache_Tag_Par R_I_Cache_Data_Par R_I_Cache_Val_Bit R_I_Cache_RAM R_I_Cache_Inst MEM_Bitmap Memory Descrip MEM_Data MEM_Byte MEM_Address MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts 1 1 1 1 1 1 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 Script A1 A A A A A A 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 ?27 ?28 ?29 ?2A ?2B ?2C ?30 ?9A ?4F ?4E ?4D ?48 ?48 ?48 ?48 ?48 ?48 ?48 ?48 ?48 ?48 ?48 ?48 Continue Continue Continue Continue Continue Continue Halt Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue 1 In the case of multiple FRUs, refer to Section 4.4.2 for further information. If a problem recurs with the same FRU, check that the tolerances for system power supply +5 Vdc, +12 Vdc, and ac ripple are within specification. FRU key: 1 = KN220 CPU module 2 = KN220 I/O module 3 = MS220 memory module 4 = Memory interconnect cable 5 = Q22-bus device 6 = Q22/CD backplane 7 = System power supply 8 = H3602–AC CPU I/O panel 9 = H3602–AC cable 10 = CPU and I/O module interconnect cable 11 = CPU and VME interconnect cable KN220 Troubleshooting and Diagnostics 4–27 Table 4–7 (Cont.): KN220 Console Displays and FRUs Hex LED Normal Error Console Console Default Display Display on Error Description FRU1 MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Addr_shrts MEM_Refresh MEM_ECC_Error Memory Count Errs C_Cache_diag_mode CVAX Mem Interface SGEC R3000_NVRAM_all R_D_Cache_Seg R_I_Cache_Seg R_Cache_IStream R_Cache_Exerciser R_IO_Reg_Interface R_SII_Buf_Intrf R_SCSI_Buf_Intrf R3000_Interrupt R_SCSI_Test CVAX Cache mem CQBIC_memory Virtual mode 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 3,1,2,4,6 2 3,2,1,4,6 2 1 1 1 1 1 1 2,1 2,1 1,2 2,1 1,3,4,6 1,3,5,4,6 2,1,3,4,6 Script A1 9 9 9 9 9 9 9 B 9 5 A A A A A A A A A 6 B 8 B 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 ?48 ?48 ?48 ?48 ?47 ?4C ?40 ?46 ?43 ?5F ?7a ?20 ?26 ?2e ?2f ?73 ?74 ?75 ?76 ?66 ?44 ?80 ?54 Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue Continue 1 In the case of multiple FRUs, refer to Section 4.4.2 for further information. If a problem recurs with the same FRU, check that the tolerances for system power supply +5 Vdc, +12 Vdc, and ac ripple are within specification. FRU key: 1 = KN220 CPU module 2 = KN220 I/O module 3 = MS220 memory module 4 = Memory interconnect cable 5 = Q22-bus device 6 = Q22/CD backplane 7 = System power supply 8 = H3602–AC CPU I/O panel 9 = H3602–AC cable 10 = CPU and I/O module interconnect cable 11 = CPU and VME interconnect cable 4–28 KN220 CPU System Maintenance Table 4–7 (Cont.): KN220 Console Displays and FRUs Hex LED Normal Error Console Console Default Display Display on Error Description FRU1 Script A1 C C 8 A A C 08 07 06 05 04 03 ?34 ?C5 ?45 ?83 ?7d ?41 Continue Continue Continue Continue Continue Continue ROM logic test SSC regs C_cache_mem_cqbic VME Test R3000_Interaction CDE Cleanup 2 2 2,1,3,5,4,6 11 2,1,3,4,10 2,1,5 ?4F ?4E ?4D ?4C ?48 ?47 ?40 ?41 Halt Halt Halt Halt Continue Continue Continue Continue MEM_data MEM_byte MEM_addr MEM_ECC_error MEM_Addr_shrts MEM_refresh MEM_count_errs Board reset 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 4, 6 3, 1, 4, 6 3, 1, 4, 6 3, 1, 4, 6 2, 1, 5 Halt MEM_bitmap 1, 3, 2, 4, 6 Script A9 9 4F 9 4E 9 4D 9 4C 9 48 9 47 9 40 C 41 End of script. Script A8 9 30 ?30 Invoke script A7. 1 In the case of multiple FRUs, refer to Section 4.4.2 for further information. If a problem recurs with the same FRU, check that the tolerances for system power supply +5 Vdc, +12 Vdc, and ac ripple are within specification. FRU key: 1 = KN220 CPU module 2 = KN220 I/O module 3 = MS220 memory module 4 = Memory interconnect cable 5 = Q22-bus device 6 = Q22/CD backplane 7 = System power supply 8 = H3602–AC CPU I/O panel 9 = H3602–AC cable 10 = CPU and I/O module interconnect cable 11 = CPU and VME interconnect cable KN220 Troubleshooting and Diagnostics 4–29 Table 4–7 (Cont.): KN220 Console Displays and FRUs Hex LED Normal Error Console Console Default Display Display on Error Description FRU1 MEM_data MEM_byte MEM_addr MEM_ECC_error MEM_address_shorts MEM_refresh MEM_count_bad pages CQBIC_memory Board reset 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 2, 4, 6 3, 1, 2, 4, 6 1, 3, 5, 4, 6 2, 1, 5 Script A8 End of script. Script A7 9 4F 9 4E 9 4D 9 4C 9 48 9 47 9 40 8 80 C 41 End of script. ?4F ?4E ?4D ?4C ?48 ?47 ?40 ?80 ?41 Halt Halt Halt Halt Halt Halt Cont Cont Halt 1 In the case of multiple FRUs, refer to Section 4.4.2 for further information. If a problem recurs with the same FRU, check that the tolerances for system power supply +5 Vdc, +12 Vdc, and ac ripple are within specification. FRU key: 1 = KN220 CPU module 2 = KN220 I/O module 3 = MS220 memory module 4 = Memory interconnect cable 5 = Q22-bus device 6 = Q22/CD backplane 7 = System power supply 8 = H3602–AC CPU I/O panel 9 = H3602–AC cable 10 = CPU and I/O module interconnect cable 11 = CPU and VME interconnect cable 4–30 KN220 CPU System Maintenance 4.2.6 System Halt Messages Table 4–8 lists messages that may appear on the console terminal when a system error occurs. Table 4–8: System Halt Messages Code Message Explanation ?02 EXT HLT ?03 – ?04 ISP ERR ?05 DBL ERR ?06 ?07 ?08 ?0A HLT INST SCB ERR3 SCB ERR2 CHM FR ISTK ?OB ?OC CHM TO ISTK SCB RD ERR ?10 MCHK AV ?11 KSP AV ?12 DBL ERR2 ?13 DBL ERR3 ?19 ?1A ?1B ?1D ?1E ?1F ?38 PSL EXC5 PSL EXC6 PSL EXC7 PSL REI5 PSL REI6 PSL REI7 SECENB External halt, caused either by console BREAK condition or because Q22-bus BHALT_L or DBR<AUX_HLT> bit was set while enabled. Power-up; no halt message displayed. The presence of the firmware banner and diagnostic countdown indicates this halt. Caused by attempt to push interrupt or exception state onto the interrupt stack when the interrupt stack was mapped NO ACCESS or NOT VALID. A second machine check occurred while the processor was attempting to service a normal exception. The processor executed a HALT instruction in kernel mode. The vector had bits <1:0> = 3. The vector had bits <1:0> = 2. A change mode instruction was executed when PSL<IS> was set. The SCB vector for a change mode had bit <0> set. A hard memory error occurred during a processor read of an exception or interrupt vector. An access violation or an invalid translation occurred during machine check exception processing. An access violation or an invalid translation occurred during invalid kernel stack pointer exception processing. Double machine check error. A machine check occurred during an attempt to service a machine check. Double machine check error. A machine check occurred during an attempt to service a kernel stack not valid exception. PSL <26:24> = 5 on interrupt or exception. PSL <26:24> = 6 on interrupt or exception. PSL <26:24> = 7 on interrupt or exception. PSL <26:24> = 5 on an rei instruction. PSL <26:24> = 6 on an rei instruction. PSL <26:24> = 7 on an rei instruction. Security is enabled. KN220 Troubleshooting and Diagnostics 4–31 4.2.7 Console Error Messages Table 4–9 lists messages issued in response to an error or to a console command that was entered incorrectly. Table 4–9: Console Error Messages Code Message Explanation ?20 CORRPTN ?21 ILL REF ?22 ?23 ?24 ILL CMD INV DGT LTL ?25 ?26 ?27 ILL ADR VAL TOO LRG SW CONF ?28 ?29 UNK SW UNK SYM ?2A CHKSM ?2B ?2C HLTED FND ERR ?2D TMOUT ?2E ?2F ?30 ?31 ?32 ?33 ?34 ?35 ?36 ?37 ?64 MEM ERR UNXINT UNIMPLEMENTED QUAL NOVAL QUAL AMBG QUAL REQ VAL QUAL OVERF ARG OVERF AMBG CMD INSUF ARG INVSCSIID The console data base was corrupted. The console simulates a power-up sequence and rebuilds its data base. The requested reference would violate virtual memory protection, address is not mapped or is invalid in the specified address space, or value is invalid in the specified destination. The command string cannot be parsed. A number has an invalid digit. The command was too large for the console to buffer. The message is sent only after the console receives the Return at the end of the command. The specified address is not in the address space. The specified value does not fit in the destination. Switch conflict. For example, an EXAMINE command specifies two different data sizes. The switch is not recognized. The EXAMINE or DEPOSIT symbolic address is not recognized. An X command has an incorrect command or data checksum. If the data checksum is incorrect, this message is issued and is not abbreviated to ‘‘Illegal command.’’ The operator entered a HALT command. A FIND command failed either to find the RPB or 64 Kbytes of good memory. Data failed to arrive in the expected time during an X command. Memory error or machine check occurred. An unexpected interrupt or exception occurred. Unimplemented function. Qualifier does not take a value. Ambiguous qualifier. Qualifier requires a value. Too many qualifiers. Too many arguments. Ambiguous command. Too few arguments. Invalid SCSI host ID configuration. 4–32 KN220 CPU System Maintenance 4.2.8 VMB Error Messages (CVAX) If VMB is unable to boot MDM, it returns an error message to the console. Table 4–10 lists the error messages and their descriptions. Table 4–10: VMB Error Messages Message Number Mnemonic Interpretation ?40 ?41 ?42 ?43 ?44 ?45 ?46 ?47 ?48 ?49 ?4A ?4B ?4C ?4D ?4E ?4F ?50 ?51 ?52 ?53 NOSUCHDEV DEVASSIGN NOSUCHFILE FILESTRUCT BADCHKSUM BADFILEHDR BADDIRECTORY FILNOTCNTG ENDOFFILE BADFILENAME BUFFEROVF CTRLERR DEVINACT DEVOFFLINE MEMERR SCBINT SCB2NDINT NOROM NOSUCHNODE INSFMAPREG ?54 ?55 RETRY IVDEVNAM No bootable devices found Device is not present Program image not found Invalid boot device file structure Bad checksum on header file Bad file header Bad directory file Invalid program image format Premature end-of-file encountered Bad file name given Program image does not fit in available memory Boot device I/O error Failed to initialize boot device Device is off line Memory initialization error Unexpected SCB exception or machine check Unexpected exception after starting program image No valid ROM image found No response from load server Insufficient Q-bus mapping registers due to invalid memory configuration, bad memory, or because Q-bus map was not relocated to main memory No devices bootable, retrying Invalid device boot name KN220 Troubleshooting and Diagnostics 4–33 4.3 Acceptance Testing Perform the acceptance testing procedure listed below, after installing a system or whenever replacing the following: KN220 CPU module KN220 I/O module MS220–AA memory module Memory data interconnect cable Backplane DSSI device SCSI device H3602–AC 1. Run five error-free passes of the power-up scripts by entering the following command: >>> R T 0 2. Press Ctrl/C to terminate the scripts. 3. Perform the next two steps for a more thorough test of memory. >>> T A8 Script A8 runs for one pass. This command enables mapping out of solid single-bit ECC as well as multibit ECC errors. It will also run script A7 for one pass. 4–34 KN220 CPU System Maintenance If any of the memory tests fail, they mark the bitmap and continue with no error printout to the console. An exception is test 40 (count bad pages). If any single-bit or multibit ECC errors are detected, they are reported in test 40. Such a failure indicates that pages in memory have been marked bad in the bitmap because of solid single-bit and /or multibit ECC errors. The error printout does not display the 20 longwords, since it is a severity level 1 error. 4. Run T 9A to check the memory configuration again, since T 9A prompts you for the correct memory configuration. NOTE: The specifications you entered in T 9A stay in NVRAM as long as battery power is applied, or until you run T 9A and enter changes. >>> T 9A 0 MB = 0; 32 MB, M7639-A, MS220-AA = 1; 64 MB, M7639-B, MS220-BA = 2; MEM FRU 0:3 MEM FRU 0 = 1 MEM FRU 1 = 1 MEM FRU 2 = 0 MEM FRU = 0 MEM FRU = 1 >>> 32 MB, M7639-A, MS220-AA 32 MB, M7639-A, MS220-AA 00000000 01FFFFFF 02000000 03FFFFFF 5. To determine the exact configuration, run the SHOW MEMORY/FULL command. >>>SHOW MEM/FULL Memory 0: 00000000 to 01FFFFFF, 32MB, 0 bad pages Memory 1: 02000000 to 03FFFFFF, 32MB, 0 bad pages Total of 64MB, 0 bad pages, 128 reserved pages Memory Bitmap -03FF0000 to 03FF3FFF, 32 pages Console Scratch Area -03FF4000 to 03FF7FFF, 32 pages Qbus Map -03FF8000 to 03FFFFFF, 64 pages Scan of Bad Pages >>> KN220 Troubleshooting and Diagnostics 4–35 Memories 0 through 3 are the MS220 memory modules. The Q22-bus map always spans the top 32 Kbytes of good memory. The memory bitmap always spans two pages (1 Kbyte) per 4 Mbytes of memory configured. 6. Check the Q22-bus and the Q22-bus logic in the KN220 CQBIC chip and the configuration of the Q22-bus, as follows: >>> SHOW QBUS Scan of Qbus I/O Space -20000120 (760440) = 0080 (300) DHQ11/DHV11/CXA16/CXB16/CXY08 -20000122 (760442) = F081 -20000124 (760444) = DD18 -20000126 (760446) = 0200 -20000128 (760450) = 0000 -2000012A (760452) = 0000 -2000012C (760454) = 8000 -2000012E (760456) = 0000 -20001920 (774440) = FF08 (120) DELQA/DEQNA -20001922 (774442) = FF00 -20001924 (774444) = FF2B -20001926 (774446) = FF06 -20001928 (774450) = FF16 -2000192A (774452) = FFF2 -2000192C (774454) = 00F8 -2000192E (774456) = 1030 -20001940 (774500) = 0000 (260) TQK50/TQK70/TU81E/RV20/K-TAPE -20001942 (774502) = 0BC0 -20001F40 (777500) = 0020 (004) IPCR Scan of Qbus Memory Space >>> 4–36 KN220 CPU System Maintenance The columns are described below. The examples listed are from the last line of the example above. First column = the VAX I/O address of the CSR, in hex (20001F40). Second column = the Q22-bus address of the CSR, in octal (777500). Third column = the data, contained at the CSR address, in hex (0020). Fourth column = the device vector in octal, according to the fixed or floating Q22-bus and UNIBUS algorithm (004). Fifth column = the device name (IPCR, the KN220 interprocessor communications register). Additional lines for the device are displayed if more than one CSR exists. The last line, Scan of Qbus Memory Space, displays memory residing on the Q22-bus, if present. VAX memory mapped by the Q22-bus map is not displayed. If the system contains an MSCP or TMSCP controller, run test 81. This test performs the following functions: Performs step one of the UQ port initialization sequence Performs the SA wraparound test Checks the Q22-bus interrupt logic If you do not specify the CSR address, the test searches for and runs on the first MSCP device by default. To test the first TMSCP device, you must specify the first parameter: >>> T 81 20001940 You can specify other addresses if you have multiple MSCP or TMSCP devices in the first parameter. This action may be useful to isolate a problem with a controller, the KN220, or the backplane. Use the VAX address provided by the SHOW QBUS command to determine the CSR value. If you do not specify a value, the MSCP device at address 20001468 is tested by default. KN220 Troubleshooting and Diagnostics 4–37 5. Check that all UQSSP, MSCP, TMSCP, and Ethernet controllers and devices are visible by typing the following command line: >>> SHOW DEVICE DSSI Node 0 (R7YRMS) -rf(0,0,*) (RF71) DSSI Node 7 (*) SCSI Node 0 -rz(0,0,*) (RZ56) SCSI Node 7 (*) UQSSP Tape Controller 0 (774500) -tm(0,0) (TK70) -MUA0 Ethernet Adapter -mop() -EZA0 (08-00-2B-12-81-22) Ethernet Adapter 0 (774440) -XQA0 (08-00-2B-08-CB-5C) VME Interface Board - Not Installed >>> In the example above, the console displays the DSSI node names and numbers, then the R3000 boot names, which are followed by the controller number and unit number in parentheses, then the device type. DSSI Node 7 (*) is the DSSI adapter located on the KN220 I/O module. In most cases, the KN220 I/O module is the local DSSI node shown by the asterisk and has a node number of 7. DSSI node names, node numbers, and unit numbers should be unique. The console also displays the SCSI node number, the R3000 boot name, the controller number, the unit number, and the device type. SCSI node number (7 (*)), is the SCSI controller number contained in the environment variables described in Section 3.7.2. The UQSSP (TQK70) tape controller and its CSR address are also shown. The line below this display shows a TK70 connected. The next two lines show the logical name and station address for the Ethernet adapter located on the KN220 I/O module. A Q-bus Ethernet adapter is listed with Q-bus address and station address. 6. Test the DSSI subsystem, using the KN220 ROM-based Diagnostics and Utilities Protocol (DUP) facility. This facility allows you to connect to the DUP server in the RF drive controller. Here are some examples: 4–38 KN220 CPU System Maintenance >>> SET HOST/DUP/DSSI 7 Starting DUP server... Stopping DUP server... In this example, a DUP connection was made with DSSI node 7, the KN220 I/O module. The DUP server times out, since no local programs exist and no response packet was received. >>> SET HOST/DUP/DSSI 1 Starting DUP server... DSSI Node 1 (R3VBNC) DRVEXR V1.0 D 21-FEB-1988 21:27:54 DRVTST V1.0 D 21-FEB-1988 21:27:54 HISTRY V1.0 D 21-FEB-1988 21:27:54 ERASE V1.0 D 21-FEB-1988 21:27:54 PARAMS V1.0 D 21-FEB-1988 21:27:54 DIRECT V1.0 D 21-FEB-1988 21:27:54 End of directory Task Name? DRVTST Write/read anywhere on medium? [1=Yes/(0=No)]: <CR> 5 minutes for test to complete. Compare failed on head 1 track 1091. Compare failed on head 0 track 529. Task Name? DRVEXR Write/read anywhere on medium? [1=Yes/(0=No)]: <CR> Test time in minutes? [(10)-100]: 10 minutes for test to complete. R3VBNC::MSCP$DUP 21-FEB-1988 21:37:35 DRVEXR CPU=00:00:01.88 PI=43 R3VBNC::MSCP$DUP 21-FEB-1988 21:37:38 DRVEXR CPU=00:00:03.38 PI=79 Compare failed on head 1 track 1091. R3VBNC::MSCP$DUP 21-FEB-1988 21:37:40 DRVEXR CPU=00:00:04.97 PI=116 ^C >>> In the example above, the local programs DRVTST and DRVEXR are run on drive 1. Do not enter 1 in response to the question Write/read anywhere on medium?. Doing so destroys data on the disk. Press Return, which uses the default, allowing reads and writes to the DBNs only. Ctrl/T or Ctrl/G displays a message as shown in the DRVEXR example above (the lines beginning with R3VBNC::). In the example, Ctrl/T has been pressed twice to show the difference in the time and in the value of the progress indicator (PI). Press Ctrl/C to terminate the program. KN220 Troubleshooting and Diagnostics 4–39 Use the local programs HISTRY (Section 4.7.3) and PARAMS (Section 4.7.5) to determine the cause of errors displayed during DRVTST or DRVEXR. DRVTST should run successfully for one pass on each drive. Customer Services can refer to the RF71 Disk Drive Service Manual for details about the DUP local programs and corrective action. 7. Enter the SHOW SCSI/FULL command. Example 4–6: SHOW SCSI and SHOW SCSI/FULL >>> SHOW SCSI SCSI Node 0 -tz(0,0,*) (TLZ04) -DIA0 SCSI Node 1 -rz(0,1,*) (RZ56 ) SCSI Node 2 -rz(0,2,*) (RRD40) -DIA2 SCSI Node 4 -tz(0,4,*) (.....) -DIA4 SCSI Node 7 (*) >>> SHOW SCSI/FULL Boot Path Dev Cap (in Hex) Product Id Revs r/f -------------------------------------------------------------------tl(0,0,*) TAPE 4B0 MBs TLZ04 1989(C)DEC 0304 r -rz(0,1,*) DISK 27A MBs RZ56 (C) DEC 0200 f -rz(0,2,*) CDROM 23B MBs RRD40 TM DEC 250E r -tz(0,4,*) TAPE 5A MBs ................ .... r SCSI Node 7 This will list the R3000 boot path, the device type, the device capacity (in hexadecimal), the product identification (if available), the revision number of the drive, and whether it is removable or fixed. If the capacity field returns zero, then a problem exists with the specified drive. 8. If there are one or more DELQA modules in the system, use test 82 to invoke the Ethernet option’s self-test and receive status from the firmware. Test 82 is useful for acceptance testing if you cannot access the system enclosure to see the DELQA LEDs. 4–40 KN220 CPU System Maintenance 9. After the steps above have completed successfully, load MDM and run the system tests from the Main Menu. If they run successfully, the system has gone through its basic checkout and you can load the software. 4.4 Troubleshooting This section contains suggestions for determining the cause of ROM-based diagnostic test failures. 4.4.1 FE Utility If any of the tests that run after the IPTs and up to the primary console test fail, the major test code is displayed on the LEDs. Run the FE utility if the message Normal operation not possible is displayed after the tests are completed and there is no other error indication, or if you need more information than what is provided in the error display. The FE utility dumps the diagnostic state to the console (Example 4–7). This state indicates the major and minor test code of the test that failed, the 20 parameters associated with the test, and the hardware error summary register. Example 4–7: FE Utility Example >>> T FE bitmap=07FEC000, length=00008000, checksum=0000 busmap=07FF8000 return_stack=20140670 subtest_pc=2005668D timeout=000003E8, error=00, de_error=00 de_error_vector=0000, severity_code=02, total_error_count=0000 previous_error=00000000, 00000000, 00000000, 00000000 last_exception_pc=00000000 flags=000FFFFF, test_flags=0020 highest_severity=00 led_display=09 console_display=9C save_mchk_code=80, save_err_flags=000000 Interrupted test number = 48, Subtestlog=02, Error_type=FF gp =C10AE000 sp =B8001B14 fp =00000000 sr =BFC29A0C epc=B0482004 badvaddr =00000000 cause =10002000 parameter_1 =00000000 2=00000000 3=00000000 4=00000000 Example 4–7 Cont’d on next page KN220 Troubleshooting and Diagnostics 4–41 Example 4–7 (Cont.): FE Utility Example 5=00000000 parameter_6 =00000000 7=00000000 8=00000000 9=00000000 10=00000000 parameter_11=00000000 12=00000000 13=00000000 14=00000000 15=00000000 parameter_16=00000000 17=00000000 18=00000000 19=00000000 20=00000000 >>> The most useful fields displayed above are as follows: • De_error_vector, which is the SCB vector through which the unexpected interrupt or exception is trapped if de_error equals FE or EF. • Total_error_count. Four hex digits showing the number of previous errors that have occurred. • Previous_error. Contains the history of the last four errors. Each longword contains four bytes of information. From left to right these are the de_error, subtest_log, and test number (copied in both bytes). • Save machine check code (save_mchk_code). Valid only if the test halts on error. This field has the same format as the hardware error summary register. • Save error flags (save_err_flags). Valid only if the test halts on error. This field has the same format as the hardware error summary register. • Parameters 1 through 20. Valid only if the test halts on error. The parameters have the same format as the hardware error summary register. FE in the previous_error field indicates that an unexpected exception has occurred. If any of the tests that announce to the console fails, and the error code is FE, examine the last longword of the error printout. The last longword is the hardware error summary register and contains the machine check code (<31:24>) and KN220 error status bits (<23:0>). Table 4–11 lists the status bits. 4–42 KN220 CPU System Maintenance Table 4–11: Hardware Error Summary Register Bit Register 31 30 29 28 27 26 25 24 23 22 21 20 19 18 8 7 6 4 3 2 1 0 Machine check code Machine check code Machine check code Machine check code Machine check code Machine check code Machine check code Machine check code MSER <6> MSER <5> MSER <4> MSER <1> MSER <0> Unused CBCTR <31> CBCTR <30> DSER <7> DSER <5> DSER <4> DSER <3> DSER <2> IPCRn <15> Description ; CDAL data parity error ; Mchn chck CDAL parity error ; Machine check cache parity ; Cache data parity error ; Cache tag parity error ; CDAL bus timeout. ; CPU read/write bus timeout. ; Q22-bus NXM. ; Q22-bus parity error. ; Read main memory error. ; Lost error. ; No grant timeout. ; DMA Q22-bus memory error. KN220 Troubleshooting and Diagnostics 4–43 4.4.2 Isolating Memory Failures This section describes procedures for isolating memory subsystem failures, particularly when the system contains more than one MS220 memory module. 1. SHOW MEMORY/FULL. Use the SHOW MEMORY/FULL command to examine failures detected by the memory tests. If test 40 fails, indicating that pages have been marked bad in the bitmap, use this test. Memory failures normally show up as errors during test 40, which counts memory pages marked bad in the bitmap. If this test fails, you should use the SHOW MEMORY/FULL command to describe the number of bad pages on each individual memory module. If the system contains more than one memory module and SHOW MEMORY/FULL does not identify each module, then you should run test 9A. 2. T 9A to define capacity of memory modules. Test 9A allows you to enter the capacity of each individual memory module. When 9A is completed, enter the SHOW MEMORY/FULL command again to display the individual memory modules that contain errors. The utility prompts for a description of each board. The descriptions are as follows: 0 = no memory 1 = 32-Mbyte board 2 = 64-Mbyte board You can avoid the prompt by entering the specified command: >>> T 9A mem_board_0 mem_board_1 mem_board_2 mem_board_3 To specify a system with two 32-Mbyte boards, the command is: >>> T 9A 1 1 >>> See Section 4.3 for an example of running T 9A interactively. 3. T 40. Specify the first parameter in test 40 to be the threshold for soft errors. To allow 0 (zero) errors, enter the following: >>> T 40 0. The parameter is a threshold of allowable software errors on all boards. The default is to ignore soft errors. 4. Test 40 always fails if any hard errors are marked in the bitmap. 4–44 KN220 CPU System Maintenance This command tests the memory all memory installed modules. Use it after running memory tests individually or within a script. If test 40 fails with subtestlog = 6, enter the SHOW MEMORY/FULL command to see the error summary. Run test A9 after a failure of test 40. 5. T A9. >>> T [memory test] starting_address ending_address Script A9 stops on any error, hard or soft. This script is useful in determining the first memory test that failed. After finding a failure in test 40, T A9 runs the power-up memory test and prints the first error. When an error is detected, run the failed test on each memory module, one at a time. Enter parameters 1 and 2 of tests 40, 47, 48, and 4A–4F as the starting and ending addresses for testing. All memory tests with the exception of 40 save the MEAR, MESR, and CAUSE registers. 6. T 9C. Example 4–8: Isolating Bad Memory Using T 9C >>> T 9C TOY =000402C8 TCR0 =00000000 TCR1 =00000081 RXCS =00000000 MSER =00000000 BDR =FFFFFFD2 SCR =0000D000 QBMBR=07FF8000 MESR =FFFC0614 IOPRE=EFFFFFFF ICCS =00000000 TIR0 =00000000 TIR1 =01EE03BC RXDB =0000000D CADR =0000000C DLEDR=0000000B DSER =00000000 IPCR =0000 MEAR =3E030003 ISR =7FFFFFF1 NICSR0 =3FFF0003 NICSR7 =00000000 NICSR13=00000000 Ethernet 3=00008380 9=04E204E2 15=0000FFFF TNIR0=00000000 TNIR1=00000000 TXCS =00000000 TIVR0=00000078 TIVR1=0000007C TXDB =00000030 SSCCR=00D45077 QBEAR=0000000F CBTCR=00000004 DEAR =00000000 ITR =FFFFFF8F 4=00008360 10=00030000 5=803BFF00 11=00000000 6=09E0F108 12=00000000 SA = 08-00-2B-12-81-22 MSIDR0 =0000 MSIIDR =0007 MSIDSCR=80FF MSIDR1 =0000 MSITR =80CE MSIDSSR=AC00 MSIDR2 =0000 MSITLP =0032 MSIDCR =0004 MSICSR =0000 MSIILP =79D6 Example 4–8 Cont’d on next page KN220 Troubleshooting and Diagnostics 4–45 Example 4–8 (Cont.): Isolating Bad Memory Using T 9C XCTRL =00 INTR =00 >>> XCTRH =00 FFLAG =80 FIFO =00 CON1 =07 COMD =12 CON2 =00 STS =00 CON3 =00 SEQST =C4 MEAR contains the address of the failure. MESR indicates the type of failure. These registers are valid only after a memory test has failed. Bit 0 of MEAR is set if a non-existent memory error was detected. Bits 2 through 31 contain the failing address. 7. T A8 for testing a new memory module. Test A8 is used in the field when a new memory module is installed. It runs the same tests as the power-up script, but with different parameters. In addition, near the end when it runs test 40 to check the bitmap, it also counts soft errors and allows only one. 4.4.3 Running a Memory Test To run a memory test, check your entries against Table 4–12. The command is: >>> T [test] [start_address] [ending_address] [address_increment] Table 4–12: Running a Memory Test Entry Description 4F Memory test, floating 1s and 0s pattern 4E Memory byte test; use masked write cycles 4D Memory address uniqueness 4C ECC logic 48 Memory address shorts 47 Memory refresh logic Table 4–13 describes the common memory parameters. 4–46 KN220 CPU System Maintenance Table 4–13: Common Memory Parameters Entry Description Start_address First address to test; default is 0 Ending_address Last address to test plus one; default is all memory Address_increment How often to run the test; minimum value is always 0x10 or greater. Test 48 tests every location in memory; for tests 4F, 4E, and 4C set this parameter low since the test will take a long time; tests 47 and 4D run fairly quickly so you can test all locations. To see the parameters used, run T 9E after the test finishes. 4.4.4 Additional Troubleshooting Suggestions Note the following additional suggestions when diagnosing a possible memory failure. If more than one memory module is failing, you should suspect the KN220 CPU module, KN220 I/O module, CPU/memory cable, or the backplane. Always check the seating of the memory cable first before replacing a KN220 or MS220 module. If the seating appears to be improper, remove the cable and check the pins on the connector. If you are rotating MS220 modules to verify that a particular memory module is causing the failure, be aware that a module may fail in a different way when in a different slot. Be sure to put the modules back in their original positions when you are finished. If memory errors are found in the error log, use the KN220 ROM-based diagnostics to see if it is an MS220 problem or if it is related to the KN220, CPU/memory interconnect cable, or backplane. Follow steps 1–3 of Section 4.3 and Section 4.4.2 to aid in isolating the failure. Use the SHOW QBUS, SHOW DEVICE, and SET HOST/DUP commands when troubleshooting I/O subsystem problems. Use the CONFIG command to help with configuration problems or when installing new options onto the Q-bus. See the command descriptions in Chapter 3. You can run a DSSI device power-up diagnostic without performing a cold restart or spinning the disk drives down and back up. Type the following at the console program: KN220 Troubleshooting and Diagnostics 4–47 >>> T 58 <node_number> A CI RESET command is issued to the DSSI device, causing the device to perform its power-up diagnostics. Parameter 1 is the DSSI node or port number. It must be in the range of 0–7 (0 is the default). Use the default for parameter 2. You can perform this test repeatedly with the REPEAT command (R T 58 <node_number>). In that case, the drive’s self-tests run repeatedly until you press Ctrl/C to terminate the test. Once the test has completed successfully, you can examine the DSSI device’s internal error logs by running the DUP local programs HISTRY and PARAMS. Refer to Section 4.7.3 and Section 4.7.5 for further information. 4.5 Loopback Tests You can use external loopback tests to localize problems with the Ethernet, console, and DSSI subsystems. 4.5.1 DSSI Problems For DSSI problems, run the SII external loopback test (test 56). To check the DSSI out to the KN220 I/O module connector, plug one end of the cable (17–02216–01) into the H3281 loopback connector and the other end into the DSSI connector on the KN220 I/O module. To test out to the end of the DSSI bus, power down the system, remove all DSSI devices with the exception of the KN220 from the bus, and replace the DSSI bus terminator plug with the external DSSI loopback connector 12–30702–01. 4.5.2 Ethernet Problems For Ethernet problems, run the SGEC external loopback test by entering the following: >>> T 5F 1 <CR> Set the ThinWire/standard Ethernet switch on the H3602–AC to the appropriate position. Use two 50-ohm H8225 terminators connected to an H8223 T-connector. Before running the test, attach this assembly to the H3602–AC ThinWire port. To test the standard Ethernet connector, attach loopback connector 12– 22196–02 to the H3602–AC standard Ethernet port. 4–48 KN220 CPU System Maintenance To test further, connect the Ethernet port to a live network and run the SGEC_LPBCK_ASSIST test, number 59. To display responses from other network nodes, enter the following line: >>> T 59 <CR> 4.5.3 Testing the Console Port To test the console port at power-up, set the operation switch on the H3602– AC, using the procedure in Section 3.5.3. The H3103 connects the console port transmit and receive lines. At power-up, the SLU_EXT_LOOPBACK IPT then runs a continuous loopback test. To test the end of the console terminal cable: 1. Plug the MMJ end of the console terminal cable into the H3602–AC. 2. Disconnect the other end of the cable from the terminal. 3. Plug an H8572 adapter into the disconnected end of the cable. 4. Connect the H3103 to the H8572. While the test is running, the LED display on the CPU I/O insert should alternate between 7 and 4. A value of 7 latched in the display indicates a test failure. If the test fails, one of the following parts is faulty: the KN220, the H3602–AC, the cabling, or the I/O module. 4.6 Module Self-Tests Module self-tests run when you power up the system. A module self-test can detect hard or repeatable errors, but usually not intermittent errors. Module LEDs display pass/fail test results. A pass by a module self-test does not guarantee that the module is good, because the test usually checks only the controller logic. The test usually does not check the module Q22-bus interface, the line drivers and receivers, or the connector pins—all of which have relatively high failure rates. A fail by a module self-test is accurate, because the test does not require any other part of the system to be working. The following modules do not have LED self-test indicators: KLESI LPV11 TSV05 The following modules have one green LED, which indicates that the module is receiving +5 and +12 Vdc: KN220 Troubleshooting and Diagnostics 4–49 CXA16 CXB16 CXY08 Table 4–14 lists loopback connectors for common KN220 system modules. See Microsystems Options for a description of specific module self-tests. Table 4–14: Loopback Connectors for Q22-Bus Devices Device Module Loopback CXA16/CXB16 CXY08 DELQA KN220/H3602–AC H3103 + H85721 H3046 (50-pin) 12–22196–02 H3103 Cable Loopback H3197 (25-pin) H3103 + H8572 1 For DSSI to KN220 or RF-series connector, use 17–02216–01 plus H3281 loopback. connection to end of bus, use the DSSI loopback connector 12–30702–01. For 4.7 RF-Series ISE Troubleshooting and Diagnostics An RF-series integrated storage element (ISE) may fail either during initial power-up or during normal operation. In both cases, the failure is indicated by the lighting of the red fault LED on the operator control panel (OCP) on the enclosure front panel. The ISE also has a red fault LED, but it is not visible from the outside of the system enclosure. If the drive is unable to execute the Power-On Self-Test (POST) successfully, the red fault LED remains lit and the ready LED does not come on, or both LEDs remain on. POST is also used to handle the following two types of error conditions in the drive: 1. Controller errors are caused by the hardware associated with the controller function of the drive module. A controller error is fatal to the operation of the drive, since the controller cannot establish a logical connection to the host. If the red fault LED remains lit, replace the drive module. 2. Drive errors are caused by the hardware associated with the drive control function of the drive module. These errors are not fatal to the drive, since the drive can establish a logical connection and report the error to the host. Both LEDs go out for about 1 second, then the red fault LED lights. In this case, run either DRVTST, DRVEXR, or PARAMS (described in the next sections) to determine the error code. 4–50 KN220 CPU System Maintenance Three configuration errors also commonly occur: • More than one node with the same node number • Identical node names • Identical unit numbers The first error cannot be detected by software. Use the SHOW DSSI command to display the second and third errors. This command lists each device connected to the DSSI bus by node name and unit number. You must install a bus node ID plug in the bus node ID socket on the OCP. If the ISE is not connected to the OCP, the ISE reads its bus node ID from the three-switch DIP switchpack on the side of the drive. The RF-series ISE contains the following local programs (described in the following sections): DIRECT DRVTST DRVEXR HISTRY ERASE PARAMS A directory, in DUP specified format, of available local programs A comprehensive drive functionality verification test A utility that exercises the ISE A utility that saves information retained by the drive A utility that erases all user data from the disk A utility that allows you to look at or change drive status, history, and parameters A description of each local program follows, including a table showing the dialog of each program. The table also indicates the type of messages contained in the dialog, although the screen display will not indicate the message type. Message types are abbreviated as follows: Q—Question I—Information T—Termination FE—Fatal error To access these local programs, use the Maintenance mode SET HOST /DUP command, which creates a virtual terminal connection to the storage device and the designated local program, using the Diagnostic and Utilities Protocol (DUP) standard dialog. Once the connection is established, the local program is in control. When the program terminates, control is returned to the KN220 console. To abort or prematurely terminate a program and return control to the KN220 console, press Ctrl/C or Ctrl/Y . KN220 Troubleshooting and Diagnostics 4–51 4.7.1 DRVTST DRVTST is a comprehensive functionality test. Errors detected by this test are isolated to the FRU level. The messages are listed in Table 4–15. Table 4–15: DRVTST Messages Message Type I Q Q I T or FE FE FE FE Message Copyright © 1988 Digital Equipment Corporation Write/read anywhere on the medium? [1=yes/(0=no)] User data will be corrupted. Proceed? [1=yes/(0=no)] Five minutes to complete. Test passed. Unit is currently in use.1 Operation aborted by user. xxxx—Unit diagnostics failed.2 xxxx—Unit read/write test failed.2 1 Either the drive is inoperative, in use by a host, or is currently running another local program. 2 Refer to the diagnostic error code list at the end of this chapter. Answering No to the first question (‘‘Write/read...?’’) or pressing Return results in a read-only test. DRVTST, however, writes to a diagnostic area on the disk. Answering Yes to the first question or pressing Return causes the second question to be displayed. Answering No to the second question (‘‘Proceed?’’) or pressing Return is the same as answering No to the first question. Answering Yes to the second question permits write and read operations anywhere on the medium. DRVTST resets the ECC error counters, then calls the timed I/O routine. After the timed I/O routine ends (5 minutes), DRVTST saves the counters again. It computes the uncorrectable error rate and byte (symbol) error rate. If either rate is too high, the test fails and the appropriate error code is displayed. 4–52 KN220 CPU System Maintenance 4.7.2 DRVEXR The DRVEXR local program exercises the ISE. The test is data transfer intensive and indicates the overall integrity of the device. Table 4–16 lists the DRVEXR messages. Table 4–16: DRVEXR Messages Message Type I Q Q Q I I I I T or FE FE FE FE Message Copyright © 1988 Digital Equipment Corporation Write/read anywhere on the medium? [1=yes/(0=no)] User data will be corrupted. Proceed? [1=yes/(0=no)] Test time in minutes? [(10)-100] ddd minutes to complete. dddddddd blocks (512 bytes) transferred. dddddddd bytes in error (soft). dddddddd uncorrectable ECC errors (recoverable). Complete. Unit is currently in use.1 Operation aborted by user. xxxx—Unit diagnostics failed.2 xxxx—Unit read/write test failed.2 1 Either the drive is inoperative, in use by a host, or is currently running another local program. 2 Refer to the diagnostic error list at the end of this chapter. Answering No to the first question (‘‘Write/read...?’’) results in a read-only test. DRVEXR, however, writes to a diagnostic area on the disk. Answering Yes to the first question causes the second question to be displayed. Answering No to the second question (‘‘Proceed?’’) is the same as answering No to the first question. Answering Yes to the second question permits write and read operations anywhere on the medium. NOTE: If the write-protect switch on the OCP is pressed in (LED on) and you answer Yes to the second question, the drive does not allow the test to run. DRVEXR displays the error message 2006—Unit read/write test failed. In this case, the test has not failed but has been prevented from running. KN220 Troubleshooting and Diagnostics 4–53 DRVEXR saves the error counters, then calls the timed I/O routine. After the timed I/O routine ends, DRVEXR saves the counters again. It then reports the total number of blocks transferred, bits in error, bytes in error, and uncorrectable errors. DRVEXR uses the same timed I/O routine as DRVTST, with two exceptions: • DRVTST always uses a fixed time of five minutes, whereas you specify the time of the DRVEXR routine. • DRVTST determines whether the drive is good or bad. DRVEXR reports the data but does not determine the condition of the drive. 4.7.3 HISTRY The HISTRY local program displays information about the history of the ISE. Table 4–17 lists the HISTRY messages. Table 4–17: HISTRY Messages Message Type I I I I I I I I I I1 T Field Length Field Meaning 47 ASCII characters 4 ASCII characters 12 ASCII characters 6 ASCII characters 1 ASCII character 8 ASCII characters 17 ASCII characters 6 ASCII characters 5 ASCII characters 4 ASCII characters Copyright notice Product name Drive serial number Node name Allocation class Firmware revision level Hardware revision level Power-on hours Power cycles Hexadecimal fault code Complete 1 Displays the last 11 fault codes as informational messages. Refer to the diagnostic error code list at the end of this chapter. 4–54 KN220 CPU System Maintenance The following example shows a typical screen display when you run HISTRY: Copyright © 1988 Digital Equipment Corporation RF71 EN01082 SUSAN 0 RFX V101 RF71 PCB-5/ECO-00 617 21 A04F A04F A103 A04F A404 A04F A404 A04F A404 A04F A404 Complete. If no errors have been logged, no hexadecimal fault codes are displayed. 4.7.4 ERASE The ERASE local program overwrites application data on the drive while leaving the replacement control table (RCT) intact. This local program is used if an HDA must be replaced and the customer wants to protect any confidential or sensitive data. Use ERASE only if the HDA must be replaced and only after you have backed up the customer’s data. KN220 Troubleshooting and Diagnostics 4–55 Table 4–18 lists the ERASE messages. Table 4–18: ERASE Messages Message Type I Q Q I T or FE FE FE FE Message Copyright © 1988 Digital Equipment Corporation Write/read anywhere on the medium? [1=yes/(0=no)] User data will be corrupted. Proceed? [1=yes/(0=no)] 6 minutes to complete. Complete. Unit is currently in use. Operation aborted by user. xxxx—Unit diagnostics failed.1 xxxx—Operation failed.2 1 Refer to the diagnostic error code list at the end of this chapter. 2 xxxx = one of the following error codes: 000D : Cannot write the RCT. 000E : Cannot read the RCT. 000F : Cannot find an RBN to which to revector. 0010 : The RAM copy of the bad block table is full. If a failure is detected, the message indicating the failure will be followed by one or more messages containing error codes. 4.7.5 PARAMS The PARAMS local program supports modifications to device parameters that you may need to change, such as device node name and allocation class. You invoke it in the same way as the other local programs. However, you use the following commands to make the modifications you need: EXIT HELP SET SHOW STATUS WRITE Terminates PARAMS program Prints a brief list of commands and their syntax Sets a parameter to a value Displays a parameter or a class of parameters Displays module configuration, history, or current counters, depending on the status type chosen Alters the device parameters 4–56 KN220 CPU System Maintenance 4.7.5.1 EXIT Use the EXIT command to terminate the PARAMS local program. 4.7.5.2 HELP Use the HELP command to display a brief list of available PARAMS commands, as shown in the example below. PARAMS> HELP EXIT HELP SET {parameter | .} value SHOW {parameter | . | /class} /ALL /CONST /DRIVE /SERVO /SCS /MSCP /DUP STATUS [type] CONFIG LOGS DATALINK PATHS WRITE PARAMS> 4.7.5.3 SET Use the SET command to change the value of a given parameter. Parameter is the name or abbreviation of the parameter to be changed. Value is the value assigned to the parameter. For example, SET NODE SUSAN sets the NODENAME parameter to SUSAN. The following parameters are useful to Customer Services: ALLCLASS FIVEDIME UNITNUM FORCEUNI NODENAME FORCENAM The controller allocation class. The allocation class should be set to match that of the host. True (1) if MSCP should support five connections with ten credits each. False (0) if MSCP should support seven connections with seven credits each. The MSCP unit number. True (1) if the unit number should be taken from the DSSI ID. False (0) if the UNITNUM value should be used instead. The controller’s SCS node name. True (1) if the SCS node name should be forced to the string RF71x (where x is a letter from A to H corresponding to the DSSI bus ID) instead of using the NODENAME value. False (0) if NODENAME is to be used. KN220 Troubleshooting and Diagnostics 4–57 4.7.5.4 SHOW Use the SHOW command to display the settings of a parameter or a class of parameters. It displays the full name of the parameter (8 characters or less), the current value, the default value, radix and type, and any flags associated with each parameter. 4.7.5.5 STATUS Use the STATUS command to display module configuration, history, or current counters, depending on the type specified. Type is the optional ASCII string that denotes the type of display desired. If you omit Type, all available status information is displayed. If present, it may be abbreviated. The following types are available: CONFIG LOGS DATALINK PATHS Displays the module name, node name, power-up hours, power cycles, and other such configuration information. Unit failures are also displayed, if applicable. Displays the last 11 machine and bug checks on the module. The display includes the processor registers (D0–D7, A0–A7), the time and date of each failure (if available; otherwise the date 17 November 1858 is displayed), and some of the hardware registers. Displays the data link counters. Displays available path information (open virtual circuits) from the point of view of the controller. The display includes the remote node names, DSSI IDs, software type and version, and counters for the messages and datagrams sent and/or received. 4.7.5.6 WRITE Use the WRITE command to write the changes made while in PARAMS to the drive nonvolatile memory. The WRITE command is similar to the VMS SYSGEN WRITE command. Parameters are not available, but you must be aware of the system and/or drive requirements and use the WRITE command accordingly or it may not succeed in writing the changes. The WRITE command may fail for one of the following reasons: • You altered a parameter that required the unit, and the unit cannot be acquired (that is, the unit is not available to the host). Changing the unit number is an example of a parameter that requires the unit. • You altered a parameter that required a controller initialization, and you replied negatively to the request for reboot. Changing the node name or the allocation class are examples of parameters that require controller initialization. • Initial drive calibrations were in progress on the unit. The use of the WRITE command is inhibited while these calibrations are running. 4–58 KN220 CPU System Maintenance 4.7.6 Diagnostic Error Codes Diagnostic error codes appear when you are running DRVTST, DRVEXR, or PARAMS. Most of the error codes indicate a failure of the drive module. The exceptions are listed below. The error codes are listed in Table 4–19. If you see any error code other than those listed below, replace the module. Table 4–19: RF-Series ISE Diagnostic Error Codes Code Message Meaning 2032/A032 Failed to see FLT go away FLT bit of the spindle control status register was asserted for one of the following reasons: 1. Reference clock not present 2. Stuck rotor 3. Bad connection between HDA and module 203A/A03A Cannot spin up, ACLOW is set in WrtFlt Did not see ACOK signal, which is supplied by the host system power supply for staggered spin-up. 1314/9314 Front panel is broken Could be either the module or the operator control panel or both. 4.8 Memory Diagnostics The following subsections describe the memory diagnostics. 4.8.1 Test 30 - Bitmap Placing Test The purpose of test 30 is to determine the size of memory and set up a bitmap in memory to be used by the memory tests. After all memory tests are complete, the bitmap defines memory that is good and available and memory that is bad or being used for the bitmap, busmap, etc. An error is marked in the bitmap when a multibit error or a hard single bit error occurs. Soft single bit errors are not marked, but they are counted. This test is run before other memory tests to make sure the memory bitmap is present. Though this test is usually run only once, other memory tests may be run more than once if desired. The main purpose of this test is to find a good block of memory for the maps. It fails only when all memory is bad or the CPU memory logic is bad. If it fails, troubleshooting should be done by running the individual memory tests, do not try to troubleshoot using this test. The easiest way to run all individual tests is to run the A9 memory script (>>>T A9). KN220 Troubleshooting and Diagnostics 4–59 The bitmap placing test calls the data test (4F), the byte test (4E) and the address shorts test (48). During this time the parameters are determined by the test being run. First the memory is sized to determine the amount of memory available and describe any holes in memory if present. The test looks for a 256 KB section of memory to be used for the bitmap, busmap and CVAX reserved console area. The bitmap ranges in size from 8 KB (for 32 MB of memory) to 128 KB (for 512 MB of memory), the busmap is always 32 KB and the CVAX reserved console area is 16 Kb. The other 80 KB may be used by diagnostics. The actual size of the bitmap is determined by the results of the memory sizing routine previously run. The test starts at the top of available memory and tests the highest 256 KB section of each 8 MB of memory until a good section is found for the maps or the bottom of memory is reached in which case a failure is reported. When a good section is found, the bitmap is initialized to mark all memory other than the bitmap, busmap and CVAX reserved console area as good, these are marked as taken (same as being marked bad). Load the bitmap address, bitmap length and busmap address in the diagnostic state. Save address of CVAX reserved console area. The busmap itself is not properly setup at this time, it is left cleared. NOTE: This test reports an error only if it fails to find a good section of memory for the maps or if the size of memory is 0. It is important to note that the bitmap is always initialized to all good memory when this test is run except for memory holes which are marked as bad. You must run all memory tests after this test to insure that bad memory is marked correctly. The following list contains a detailed description of the procedure. 1. Clear bitmap address, bitmap checksum, bitmap length and busmap address in diagnostic state. Mark RAM available flag (DST$V_RAM) as not available. 2. Size memory from address 0 upwards. Memory is present if it responds to a write cycle without timing out (NXM). If memory is not present in 0 then there is error. Size every 32 MB from the beginning to end of memory. Store the results in a 16 bit mask with each bit defining one 32 MB memory bank, 0 = not present, 1 = present. Bit 0 is first 32 MB, etc. NOTE: This routine is a destructive sizing routine, it will destroy any contents present in the memory locations sized. The sizing routine does not write below 192 KB to protect R3000 console code. 4–60 KN220 CPU System Maintenance 3. From the top of memory -256KB, test the highest 256KB block in each 8MB section of memory until either a good block is found (success) or the bottom of memory is reached (failure). 4. Call the memory data test (4F) with the starting and ending address of the current 256KB section of memory to test. The address increment is set to 32 KB to test eight QWs in section. 5. Call the memory byte test (4E) with the starting and ending address of the current 256KB section of memory to test. The address increment is set to 64 KB to test four QWs in section. 6. Call the memory address shorts test (48) with the starting and ending address of the current 256KB section of memory to test. The address shorts test will always test every word selected. The misc parameter is set to use both I and D cache and to only run the first three passes of the address shorts test. This will leave the contents of the last pattern (0x55555555) left unchecked in the section of memory. 7. For all of memory from beginning to end by (4 KB + 4) clear the first QW in each 16 KB block. Ignore any errors if they occur. Do not clear any locations in the 256 KB area under test. Do not start below 192 KB to protect the R3000 console. 8. Call the memory address shorts test (48) with the starting and ending address of the current 256KB section of memory to test. The address shorts test will always test every word selected. The misc parameter is set to use both I and D cache and to only run the fourth pass of the address shorts test. This will verify that the pattern of 0x55555555 left by running passes 1,2 and 3 of the test was not disturbed by accessing other locations in memory. 9. If any error occurs during test then subtract 8 MB from the current base address and continue trying. 10. If a good 256 KB section of memory was not found then report error. 11. If a good 256 KB section of memory was found then continue. 12. Clear the 256 KB block of memory found. 13. Mark all locations in bitmap as good. Save length of bitmap and address of bitmap in diagnostic state. Determine correct checksum for bitmap and then save the complement of the good checksum. This makes sure the bitmap checksum is bad after running this test. The correct checksum is not placed in the diagnostic state until the test which counts bad pages in memory is run which is after all other memory tests. At this time the bitmap should be valid. Save the address of KN220 Troubleshooting and Diagnostics 4–61 the 16 KB CVAX reserved area for the console program in the console portion of SSC RAM. Mark RAM available flag good. 4.8.2 Test 4F - Memory Data Tests The purpose of Test 4F is to verify that each bit in the data path can be written to a one and a zero individually. This test also checks for shorts between individual paths. The test always checks a QW at a time to make sure that both sides of the memory array are checked. The test need only be run once for each array of memory chips. 4.8.3 Test 4E - Memory Byte Tests Test 4E verifies that masked write cycles work correctly. The test writes to each byte of a QW and verifies the data. The test need only be run once for each array of memory chips. 4.8.4 Test 4D - Memory Address Uniqueness Test The main purpose of test 4D is to verify that each location in memory can be uniquely addressed. Write each LW from the starting address to ending address with its own R3000 physical address. From starting address to ending address read back each LW and verify that it contains its address. 4.8.5 Test 4C - Memory ECC Logic, Verify Error Detection and Reporting The main purpose of test 4C is to test ECC logic. It is not intended to test the memory boards explicitly. The test introduces single and multiple bit errors and then reads back or tries to do a masked write to the location and verifies the proper responses and error logging. 4.8.6 Test 48 - Memory Address/Shorts Test Test 48 verifies that all locations in each bank can be uniquely written and that each of the 39 data bits in each LW can be written to a one and a zero. This test also writes all locations in memory with good ECC. This test takes 12 seconds to verify each 32 MBs of memory. T 48 runs address shorts test across every LW from beginning to end address. 4–62 KN220 CPU System Maintenance 4.8.7 Test 47 - Memory Data Retention, Verify Refresh Logic Test 47 verifies that the refresh logic is working for all memory boards. 4.8.8 Test 40 - Memory Count; Bad Pages Marked in Bitmap Test 40 counts the number of pages marked in the memory bitmap. It also places the correct bitmap checksum into the diagnostic state. 4.8.9 Test 9A - Define Current Memory Configuration Test 9A is an optional test which allows a user to define exactly what size memory boards are present in the system and in what order they are. This information is useful to the memory tests to allow them to associate memory addresses with physical memory boards in the backplane (FRUs). NOTE: It is not possible for a sizing routine to associate accurately memory addresses with board numbers for all possible memory configurations. This is an optional test that the user can invoke to prompt the user with questions to describe the actual memory configuration of the system. It then verifies the information and if it is reasonable it saves it in SSC RAM. Otherwise an error is reported. The memory configuration information is used by memory diagnostics to allow the test to identify which memory board is bad if a failure occurs. This routine must be manually invoked and is not run automatically by any of the powerup scripts. The routine is not required to run any of the test scripts. The following is a example of the interaction with the user. In this case the system has two 32-Mbyte memory boards. The memory board number (M7639-x) is shown because it is readable from the handle end of the module. 0 MB = 0; 32 MB, M7639-A, MS220-AA = 1; 64 MB, M7639-B, MS220-BA = 2; MEM FRU 0:3 MEM FRU 0 = 1 MEM FRU 1 = 1 MEM FRU 2 = 0 MEM FRU = 0 MEM FRU = 1 >>> 32 MB, M7639-A, MS220-AA 32 MB, M7639-A, MS220-AA 00000000 01FFFFFF 02000000 03FFFFFF KN220 Troubleshooting and Diagnostics 4–63 4.9 SCSI Controller Chip Test There are five SCSI controller chip tests, as shown below. 4.9.1 ASC Reset Test The ASC reset test checks whether the Software can reset the ASC and bring it to a known state. Reset the ASC through the COMMAND register and check Initial values of some of the registers. Reset the ASC through the RESET command and the COMMAND register. The following registers will ZERO after reset. 1. Command Register 2. First element of FIFO 3. Status Register 4. Interrupt Register 5. FIFO Flag and Sequence register 6. Configuration Registers 1, 2 and 3 4.9.2 ASC Register Test The purpose of this test is find whether the software can "Access" internal bits in a register. This is a read write test done on a register that can be read as well as written to. The configuration registers are chosen for this test. Each register is run through an 8 bit up-counter and the values are tested at each increment. Configuration 2 register is run through an 8 bit down-counter. 4.9.3 ASC Interrupt Test ASC interrupt tests the ability of the ASC to generate an Interrupt and tests the ability of the hardware to field an interrupt generated by the SCSI subsystem. There are two ways that the ASC can be ’faked’ into generating an interrupt without actually having any devices connected to the SCSI bus. These interrupts are generated and fielded to prove that the interrupts can be handled by the SCSI subsystem. 4–64 KN220 CPU System Maintenance After Poweron/Reset, ASC will be in disconnected mode. Issuing a command from another mode (either Initiator or target mode) will cause an Illegal command interrupt. The ASC is reset through the software. An ISR is setup to handle the interrupt and a flag is setup. The interrupt is initiated by writing an Initiator command to the command register. The flag is checked and reset in the ISR. If the flag is not reset within a reasonable time, it signifies error. Without an actual device (target) on the bus, it is difficult to test the Disconnect Interrupt. The Target Disconnect interrupt is the same as the interrupt that indicates Selection or Reselection Timeout, which can be tested. Set the SELECT/RESELECT TIMEOUT register to 1 (minimum value), then issue a select command with the SCSI ID the same as the ASC. The effect of this is to setup a short timeout and selecting the host itself. After the timeout, expect the Disconnected Interrupt. The interrupt is tested with a flag being set before causing the interrupt and checking/resetting the flag in the ISR. 4.9.4 ASC FIFO Test This is to test the working of the FIFO and associated FIFO flags inside the ASC. The FIFO inside the ASC helps speed up the transfer of Command, data and messages to and from the SCSI bus. The FIFO test checks out the operation of the 16 by 9 FIFO along with the FIFO flags inside the ASC. The FIFO registers tells how many bytes are in the FIFO. Load a number of bytes into the FIFO and check the flags. The number in the register should agree with the number of bytes sent. This is checked for numbers 0 through 15 and the flags are checked. Also in this test, the bytes read from out of FIFO should follow the order in which it was written. 4.9.5 ASC DMA Counter Register Test This is to test the working of the DMA counter and count register inside ASC. The DMA register stores the DMA transfer count. A DMA transfer command instructs the ASC to use this counter to do DMA operation. This test will check whether a DMA command will transfer this value to the internal count-down counter. KN220 Troubleshooting and Diagnostics 4–65 Setup the COUNT register with a ’starting value’. Issue a DMA NOP instruction to the ASC. This command will transfer the COUNT value into the internal count-down counter. A read from the COUNTER register will return the number of bytes remaining to be transferred. In this case no bytes will have been transferred, so the values read from COUNT should be identical to the value written to the COUNT register. Repeat the test from the ’starting value’ being the lowest possible number to the highest possible count value. 4–66 KN220 CPU System Maintenance Appendix A ULTRIX–32 Exerciser and uerf Command Summary This appendix contains a summary of ULTRIX–32 exerciser and uerf commands to help you troubleshoot and diagnose errors in the DECsystem 5500. See the following documents for detailed information on the commands: • ULTRIX–32 Guide to System Exercisers • ULTRIX–32 Guide to the Error Logger System A.1 On-line ULTRIX Exerciser The ULTRIX exercisers perform functional system and device testing. The exercisers are run in single- or multiuser mode from an account with root privileges. The exercisers log status information in LOG files. Normal device errors are handled by the error log and uerf. You can run each of the exercisers in the background by ending each command line with an &. This allows many (the same or different) exercisers to be run concurrently, which enhances your ability to perform system testing. To run the exercisers, your current directory must be the field account. To terminate the exercisers, enter Ctrl/C if the job is in the foreground, or kill -15 pid if in the background. When you run an exerciser in the background, pid is displayed when the command is envoked. A time stamp entry is made in the system error log each time you stop or start an exerciser. Use the uerf option -r 350 to include these in an error report. All the system exercisers, except netx, have the -o option. The -o option allows you to specify a file where diagnostic output is saved when the exerciser terminates. Exercising More Than One Part of the System You can run more than one exerciser at the same time. Keep in mind, however, that the more processes you have running, the slower the system ULTRIX–32 Exerciser and uerf Command Summary A–1 performs. Before exercising the system extensively, make sure there are no other users on the system. To exercise more than one part of the system simultaneously, use the syscript maintenance command. The syscript command asks you which exercisers you want to run, how long you want to run each exerciser, and how many exercisers you want to run at one time. The syscript command allows you to exercise a device, a subsystem, or the entire system. You can start each exerciser by using either of the following methods: • Manually, by specifying the time parameter (-t option) and by placing each command in the background before executing the next command • By typing the syscript command as follows: # syscript Once the syscript command is running, answer the questions displayed on the console. The syscript command then executes the individual exercisers and creates a file called testsuite, which contains all the answers you entered. You can reexecute the commands in the testsuite file by entering the following, which causes testsuite to execute using the original commands and parameters that you specified: # sh testsuite A.1.1 Communications Exerciser (Asynchronous Serial Lines) The communications exerciser writes, reads, and validates random data and packet lengths on communication lines as specified. Syntax cmx [-h] [-ofile] [-t m] -lline# Options -h Prints a help message. -ofile Writes run-time statistics to file. Default file is #LOG_CMX_##. -tmin Runs the exerciser for x minutes. Default is run continuously. -lline# Specifies the line number to exercise. exercised is /dev/tty03, line#=03. A–2 KN220 CPU System Maintenance For example, if the line to be Usage Any line to be exercised must have a loopback connector on the communication option’s bulkhead panel or the end of the cable. Any line to be exercised must be disabled in the letc/ttys file by setting the status to off. Exercise line tty01 and tty03 for 10 minutes in the background: cmx -t10 -1 01 03 A.1.2 Disk Exerciser CAUTION: This exerciser can DESTRUCTIVELY WRITE on a disk. Do not use this exerciser on any portion of a disk that contains customer data. The -p and -c options destroy data on a disk. The -rdev command does not overwrite data. Syntax dskx [options] -rdev dskx [options] -pdevpart dskx [options] -cdev Arguments rdev Random read-only test on all but the c partition. -pdevpart Writes, reads, and validates on device dev on partition part. -cdev Writes, reads, and validates on devide dev on all but the c partition. Options -h Prints a help message. -ofile Writes run-time statistics to file. The default file is #LOG_DSKX_##. -tm Runs the exerciser for m minutes. The default is run continuously. Test (read only) the first RA disk in the system (ra0) for 20 minutes in the background. Diagnostics display every five minutes: dskx -rra0 -t20 -d5 & ULTRIX–32 Exerciser and uerf Command Summary A–3 A.1.3 File System Exerciser The file system exerciser initiates multiple processes and creates, writes, closes, opens, and reads a test file of random data. Syntax fsx [-h] [-ofile] [-tm ] -fpath) [-pn] Options -h Prints a help message. -ofile Writes run-time statistics to file. The default file is #LOG_FSX_##. -tmin Runs the exerciser for x minutes. The default is run continuously. -fpath Path name of the file system directory to test. Default is /usr/field. -pn Number of fsx processes to spawn. Maximum is 250. Default is 20. Usage This test writes and reads data on the disk; it is not destructive to the customer’s data. The file system exerciser can also be used on an NFSmounted file system. Exercise the /usr/tmp file system continuously using 10 processes in the background: fsx -p10 -f/usr/tmp & A.1.4 Line Printer Exerciser Syntax lpx [-h] [-ofile] [-tm] -fpath [-pn] Arguments -ddev Printer device name to exercise. Options -h Prints a help message. -ofile Writes run-time statistics to file. Default file is #LOG_LPX_##. -tmin Runs the exerciser for x minutes. Default is run continuously. A–4 KN220 CPU System Maintenance -fpath Path name of the file system directory to test. Default is /usr/field. -pn To save paper, pauses printing for n minutes and only exercises the controller. Default is 15. A value of 0 indicates no pause. Exercise lp1: lpx -dlp 1 A.1.5 Memory Exerciser Syntax memx [-h] [-s] [-ofile] [-tm] [-mj] [-pk] Options -h Prints a help message. -s Disables shared memory testing. Shared memory is software functionality, not hardware. -ofile Writes run-time statistics to file. Default file is #LOG_MEMX_##. -tmin Runs exerciser for x minutes. Default is run continuously. -mj Memory size in j bytes to be tested by each spawned process. Default is (total memory)/20. -pk Number of memx processes to spawn. Maximum is 20. Default is 20. Usage The memory exerciser is restricted by available swap space. Errors like out of memory generally indicate swap space was used up. If you have more physical memory than swap space, you may see this problem. If so, reduce the number of spawned processes and/or the size of memory you are testing. Running the memory exerciser can also cause other users to have the same memory problem. Exercise all of memory and the shared memory functionality for 10 minutes in the background: memx -t10 & A.1.6 Magtape Exerciser The magtape exerciser reads, writes, and validates random data from the beginning of the tape (BOT) to the end of the tape (EOT). Syntax mtx [options] -adev ULTRIX–32 Exerciser and uerf Command Summary A–5 mtx [options] -sdev mtx [options] -ldev mtx [options] -vdev Arguments -adev Use short-, long-, and variable-length record tests on raw device dev. -sdev Use short records on raw dev. -ldev Use long records on raw dev. -vdev Use variable records on raw dev. Options -h Prints a help message. -ofile Writes run-time statistics to file. Default file is #LOG_MTX_##. -ti Runs exerciser for i minutes. Default is run continuously. -rj Record length for long record test. Range is 1 to 20480. Default is 10240. -tk Size of file in k number of records. Default: -1, go to EOT. Run all record lengths on tape drive rmt0h for five minutes in the background: mtx -armt0h -t5 & A.1.7 TCP/IP Network Exerciser Syntax netx [-h] [-tm] [-pm]nodename Arguments nodename Node name of target system to test. May also be the host system name. Options -h Prints a help message. -tmin Runs exerciser for x minutes. Default is run continuously. -pm Port number. A–6 KN220 CPU System Maintenance Usage The TCP echo service defined in the /etc/inetd.conf file must not be commented out (# at start of line) on the host and target systems. Exercise the network from the local host to the remote node max continuously in the background: netx max & ULTRIX–32 Exerciser and uerf Command Summary A–7 A.2 uerf Error Log Commands The uerf utility generates error log reports and does bit-to-text translation for hardware device registers and messages, similar to ERF on VMS. Syntax is case sensitive. If no options are specified, all errors are reported. To disable error logging to an error log file, type: # /etc/eli -d To enable error logging in multiuser mode, type: # /etc/eli -e Syntax /etc/uerf [options...] Options -A adapter_type Example: /etc/uerf -A uba,nmi aie BVP controller aio BVP controller bia BI LESI adapter bua BI UNIBUS adapter nmi NMI errors uba VAX UNIBUS adapter default Report all error types -c classes Example: /etc/uerf -c oper err All hardware and software errors maint Maintenance events oper System status; startup/shutdown; configuration A–8 KN220 CPU System Maintenance -D Reports errors for MSCP disks (ra, rd). Default: all MSCP disks are reported. Example: /etc/uerf -D ra60 -f Specifies the error log file to be used to generate the report. Example: /etc/uerf -f old.errorlog -h Displays a brief help message. -H Selects errors only for the specified system name. Example: /etc/uerf -H guru -M mainframe_errors Example: /etc/uerf -M mem cpu Reports CPU errors and machine checks. mem Reports memory errors (SBE and DBE). default Reports all error types. -n Uerf runs. Waits for errors to be logged and immediately reports them. -o output Example: /etc/uerf -o full brief Reports errors in brief format (default). full Reports all information for each error. terse No bit-to-text translation for register values. -O operating_system_events Example: /etc/uerf -O seg,raf aef Arithmetic exception faults ast Asynchronous trap exception faults bpt Breakpoint instruction faults cmp Compatibility mode faults pag Page faults ULTRIX–32 Exerciser and uerf Command Summary A–9 pif Privileged instruction faults pro Protection faults ptf Page table faults raf Reserved address faults rof Reserved operand faults scf System call exception faults seg Segmentation faults tra Trace exception faults xfc Reports xfc instruction faults -R Reports errors in reverse chronological order. -r record_type Example: /etc/uerf -r 102,210,250 Hardware Detected Error Types: 100 Machine check 101 Memory CRD/RDS errors 102 Disk errors 103 Tape errors 104 Device controller errors 105 Adapter errors 106 Bus errors 107 Stray interrupts 108 Asynchronous write errors 109 Exceptions/faults 112 Stack dump Software Detected Error Types: A–10 KN220 CPU System Maintenance 200 Panics (bug checks) 201 CI pdd information Informational ASCII Message Types: 250 Informational Operational Message Types: 300 Startup 301 Shutdown 310 Time change 350 Diagnostic information 351 Repair information -s sequence numbers Reports errors for the specified sequence numbers. EXAMPLE: /etc/uerf -s 1011,1320 -S Summarizes error information. Example: /etc/uerf -S -o full -t s:dd-mmm-yyyy,hh:mm:ss e:dd-mmmm-yyyy,hh:mm:ss Example: /etc/uerf -t s:08-aug-1989:13:20:00 s Starting date and time e Ending date and time dd Day mmm Month yyyy Year hh Hour mm Minute ss Second ULTRIX–32 Exerciser and uerf Command Summary A–11 -T Reports errors for TMSCP tapes (tk, tu). Default: all TMSCP tapes are reported. Example: /etc/uerf -T tu81 -x Excludes specified error types from the report. Example: /etc/uerf -x -r 102,103 -Z Displays the entire error record as hexadecimal data. Used only for debugging. A–12 KN220 CPU System Maintenance Appendix B KN220 Address Assignments This appendix explains how to access R3000 physical address locations and provides physical address space maps for the KN220 CPU module set. B.1 Accessing Physical Locations (R3000) From the R3000 processor, you must use virtual addresses to access physical locations. Figure B–1 shows the virtual memory map for the R3000 and CVAX processors. Note that the R3000 virtual addresses are separated into kernel segments (ksegs): • To address physical locations, use the upper four bits of the kernel segment. • Always reference kernel segment 1 for I/O addresses, which are unmapped and uncached. For example, from the R3000 processor: • If you are using kernel segment 0 (80000000; unmapped and cached), use 8001A340 to access physical location 0001A340. • If you are using kernel segment 1 (a0000000; unmapped and uncached), use a001A340 to access physical location 0001A340. • Use a008000C to access DMA error address register 1008000C (physical). KN220 Address Assignments B–1 1024 MB (TLB) CVAX Physical Physical kseg2 Kernel Mapped Cacheable ffff ffff 3fff Any c000 0000 bfff ffff 512 MB I/O a000 0000 9fff ffff 512 MB kseg1 No Access Unused Kernel b000 0000 Unmapped afff ffff Uncached Memory I/O kseg0 Kernel 9000 0000 Unmapped 8fff ffff Uncached 8000 0000 Memory 7fff ffff 4000 0000 3fff ffff Memory 3000 0000 kuseg 256 MB UserMapped Cacheable Any 2fff ffff Unused 2000 0000 1fff ffff I/O 1000 0000 256 MB 0fff ffff 256 MB Memory 000 0000 0000 0000 3040 0000 303f ffff 2fff ffff 2048 MB (TLB) 4 MB Q22-bus CVAX I/O 2000 0000 1fff ffff CVAX Memory Space 0000 0000 MLO-005177 Figure B–1: KN220 Virtual Memory Map B–2 KN220 CPU System Maintenance R3000 Virtual ffff ffff Sections B.2 through B.6 list contents and address ranges for the KN220 CPU module (M7637–AA). B.2 R3000 Physical Address Space Map (M7637–AA) Table B–1: R3000 Physical Address Space Contents Address Range Local memory space (up to 256 Mbytes) 0000 0000–0FFF FFFF Local Q22-Bus I/O Space Reserved Q22-bus I/O space Q22-bus floating address space User reserved Q22-bus I/O space Reserved and fixed CSR Q22-bus I/O space Interprocessor communication register Reserved Q22-bus I/O space Reserved I/O module address space SGEC internal registers Reserved (copies of SGEC regs) Reserved I/O module address space Two copies of CVAX ROM Q22 system configuration register Q22 system error register Q22 master error address register Q22 slave error address register Q22-bus map base register Reserved Interrupt status register Boot and diagnostic register Select processor register Interval timer register Reserved I/O module address space Q22-bus map registers Reserved I/O module address space DSSI buffer RAM NI station address ROM Reserved I/O module address space SSC base address register SSC configuration register 1000 0000–1000 0007 1000 0008–1000 07FF 1000 0800–1000 0FFF 1000 1000–1000 1F3F 1000 1F40 1000 1F48–1000 1FFF 1000 2000–1000 7FFF 1000 8000–1000 803C 1000 8040–1001 FFFF 1002 0000–1003 FFFF 1004 0000–1007 FFFF 1008 0000 1008 0004 1008 0008 1008 000C 1008 0010 1008 0014–1008 3FFF 1008 4000 1008 4004 1008 4008 1008 4010 1008 4014–1008 7FFF 1008 8000–1008 FFFF 1009 0000–1009 FFFF 1010 0000–1011 FFFF 1012 0000–1012 007C 1012 0080–1013 FFFF 1014 0000 1014 0010 KN220 Address Assignments B–3 Table B–1 (Cont.): R3000 Physical Address Space Contents Address Range Local Q22-Bus I/O Space CDAL bus timeout control register Diagnostic LED register Reserved I/O module address space Time-of-year register Reserved CVAX console receiver control/status CVAX console receiver data buffer CVAX console transmitter control/status CVAX console transmitter data buffer Reserved I/O system reset register Reserved ROM data register Bus timeout counter Interval timer Reserved Timer 0 control register Timer 0 interval register Timer 0 next interval register Timer 0 interrupt vector Timer 1 control register Timer 1 interval register Timer 1 next interval register Timer 1 interrupt vector MSIDB address decode match register MSIDB address decode mask register LIOD address decode match register LIOD address decode match register Reserved CVAX battery backed-up RAM Reserved I/O module address space SII internal registers Reserved I/O module address space Reserved Local Q22-bus memory space Reserved (4 copies local Q22-bus memory) Reserved Vector read register 01 1 Accessible only from R3000 processor. B–4 KN220 CPU System Maintenance 1014 0020 1014 0030 1014 0034–1014 0068 1014 006C 1014 0070–1014 007C 1014 0080 1014 0084 1014 0088 1014 008C 1014 0090–1014 00DB 1014 00DC 1014 00E0 1014 00F0 1014 00F4 1014 00F8 1014 00FC–1014 00FF 1014 0100 1014 0104 1014 0108 1014 010C 1014 0110 1014 0114 1014 0118 1014 011C 1014 0130 1014 0134 1014 0140 1014 0144 1014 0148–1014 033F 1014 0400–1014 07FF 1014 0800–1015 FFFF 1016 0000–1016 007C 1016 0080–1017 FFFF 1018 0000–13FF FFFF 1400 0000–143F FFFF 1440 0000–14FF FFFF 1500 0000–1600 004F 1600 0050 Table B–1 (Cont.): R3000 Physical Address Space Contents Address Range Local Q22-Bus I/O Space Vector read register 11 Vector read register 21 Vector read register 31 Reserved Vector write register Reserved I/O presence register Memory error syndrome register Memory error address register Memory ID register SCSI 53C94 registers Reserved Reserved (copies of SCSI registers) SCSI DMA register Reserved (copies of DMA register) SCSI buffer RAM Reserved (copy of SCSI RAM) Reserved SCSI address space R3000 LED register Reserved I/O module address space R3000 nonvolatile RAM Reserved I/O module address space R3000 UART registers Reserved (copies of UART registers) Reserved I/O module address space VME option memory and I/O space FDDI option memory and I/O space Reserved I/O module address space R3000 ROM Reserved I/O module address space Reserved Memory space (up to 256 Mbytes) Reserved 1600 0054 1600 0058 1600 005C 1600 0060–1610 0058 1610 005C 1610 0060–FFFF FFFF 1700 0000–1703 FFFF 1704 0000–1707 FFFF 1708 0000–170B FFFF 170C 0000–170F FFFF 1710 0000–1710 0028 1710 002C–1710 003C 1710 0040–1713 FFFF 1714 0000 1714 0004–1717 FFFF 1718 0000–1719 FFFF 171A 0000–171B FFFF 171C 0000–171F FFFF 1720 0000–1723 FFFF 1724 0000–17FF FFFF 1800 0000–1807 FFFF 1808 0000–180F FFFF 1810 0000–1810 003C 1810 0040–1813 FFFF 1814 0000–18FF FFFF 1900 0000–1AFF FFFF 1B00 0000–1CFF FFFF 1D00 0000–1FBF FFFF 1FC0 0000–1FC3 FFFF 1FC4 0000–1FFF FFFF 2000 0000–2FFF FFFF 3000 0000–3FFF FFFF 4000 0000–FFFF FFFF 1 Accessible only from R3000 processor. KN220 Address Assignments B–5 B.3 R3000 Physical I/O Address Space Map (M7638–AA) Table B–2: R3000 Physical I/O Addresses Contents Address Range Local Q22-Bus I/O Space Reserved Q22-bus I/O space Q22-bus floating address space User reserved I/O module address space Reserved Q22-bus I/O space Interprocessor communication register Reserved Q22-bus I/O space Reserved I/O module address space SGEC CSR0: vector, IPL, mode SGEC CSR1: polling demand SGEC CSR2: reserved register SGEC CSR3: receive descriptor list SGEC CSR4: transmit descriptor list SGEC CSR5: status register SGEC CSR6: command and mode register SGEC CSR7: system base register SGEC CSR8: reserved register SGEC CSR9: watchdog timers SGEC CSR10: revision number and missed frame count SGEC boot message registers SGEC diagnostic registers Reserved (copies of SGEC registers) Reserved I/O module address space Two copies of CVAX ROM Q22 system configuration register Q22 system error register Q22 master error address register Q22 slave error address register Q22-bus map base register Reserved Interrupt status register Boot and diagnostic register Select processor register Interval timer register B–6 KN220 CPU System Maintenance 1000 0000–1000 0007 1000 0008–1000 07FF 1000 0800–1000 0FFF 1000 1000–1000 1F3F 1000 1F40 1000 1F48–1000 1FFF 1000 2000–1000 7FFF 1000 8000 1000 8004 1000 8008 1000 800C 1000 8010 1000 8014 1000 8018 1000 801C 1000 8020 1000 8024 1000 8028 1000 802C–1000 8034 1000 8038–1000 803C 1000 8040–1011 FFFF 1002 0000–1003 FFFF 1004 0000–1007 FFFF 1008 0000 1008 0004 1008 0008 1008 000C 1008 0010 1008 0014–1008 3FFF 1008 4000 1008 4004 1008 4008 1008 4010 Table B–2 (Cont.): R3000 Physical I/O Addresses Contents Address Range Local Q22-Bus I/O Space Reserved I/O module address space Q22-bus map registers Reserved I/O module address space DSSI buffer RAM NI station address ROM Reserved I/O module address space SSC base address register SSC configuration register CDAL bus timeout control register Diagnostic LED register Reserved I/O module address space Time-of-year register Reserved CVAX console receiver control/status CVAX console receiver data buffer CVAX console transmitter control/status CVAX console transmitter data buffer Reserved I/O system reset register Reserved ROM data register Bus timeout counter Interval timer Reserved Timer 0 control register Timer 0 interval register Timer 0 next interval register Timer 0 interrupt vector Timer 1 control register Timer 1 interval register Timer 1 next interval register Timer 1 interrupt vector DSSIDB address decode match register DSSIDB address decode match register LIOD address decode match register LIOD address decode match register Reserved CVAX battery backed-up RAM 1008 4014–1008 7FFF 1008 8000–1008 FFFF 1009 0000–1009 FFFF 1010 0000–1011 FFFF 1012 0000–1012 007C 1012 0080–1013 FFFF 1014 0000 1014 0010 1014 0020 1014 0030 1014 0034–1014 0068 1014 006C 1014 0070–1014 007C 1014 0080 1014 0084 1014 0088 1014 008C 1014 0090–1014 00DB 1014 00DC 1014 00E0 1014 00F0 1014 00F4 1014 00F8 1014 00FC–1014 00FF 1014 0100 1014 0104 1014 0108 1014 010C 1014 0110 1014 0114 1014 0118 1014 011C 1014 0130 1014 0134 1014 0140 1014 0144 1014 0148–1014 033F 1014 0400–1014 07FF KN220 Address Assignments B–7 Table B–2 (Cont.): R3000 Physical I/O Addresses Contents Address Range Local Q22-Bus I/O Space Reserved I/O module address space DSSI diagnostic register 0 DSSI diagnostic register 1 DSSI diagnostic register 2 DSSI control and status register DSSI ID register Reserved DSSI register Reserved DSSI register DSSI timeout register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register DSSI short target list pointer DSSI long target list pointer DSSI initiator list pointer DSSI DSSI control register DSSI DSSI status register Reserved DSSI register Reserved DSSI register DSSI diagnostic control register DSSI clock control register DSSI internal state register 0 DSSI internal state register 1 DSSI internal state register 2 DSSI internal state register 3 Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved I/O module address space Reserved Local Q22-bus memory space Reserved (4 copies local Q22 memory) Reserved B–8 KN220 CPU System Maintenance 1014 0800–1015 FFFF 1016 0000 1016 0004 1016 0008 1016 000C 1016 0010 1016 0014 1016 0018 1016 001C 1016 0020 1016 0024 1016 0028 1016 002C 1016 0030 1016 0034 1016 0038 1016 003C 1016 0040 1016 0044 1016 004C 1016 004C 1016 0050 1016 0054 1016 0058 1016 005C 1016 0060 1016 0064 1016 0068 1016 006C 1016 0070 1016 0074 1016 0078 1016 007C 1016 0080–1017 FFFF 1018 0000–13FF FFFF 1400 0000–143F FFFF 1440 0000–14FF FFFF 1500 0000–1600 004F Table B–2 (Cont.): R3000 Physical I/O Addresses Contents Address Range Local Q22-Bus I/O Space Vector read register 01 Vector read register 11 Vector read register 21 Vector read register 31 Reserved Vector write register1 Reserved I/O presence register Memory error syndrome register Memory error address register Memory ID register 53C94 transfer counter low register 53C94 transfer count low register 53C94 transfer counter high register 53C94 transfer count high register 53C94 FIFO register 53C94 command register 53C94 status register 53C94 select bus ID register 53C94 interrupt status register 53C94 select timeout register 53C94 sequence step register 53C94 synchronous transfer period register 53C94 FIFO flags register 53C94 synchronous offset register 53C94 configuration register 53C94 clock conversion register 53C94 test register Reserved Reserved (copies of SCSI registers) SCSI DMA register Reserved (copies of DMA register) SCSI buffer RAM Reserved (copy of SCSI RAM) Reserved SCSI address space R3000 LED register Reserved I/O module address space R3000 nonvolatile RAM 1600 0050 1600 0054 1600 0058 1600 005C 1600 0060–1610 0058 1610 005C 1600 0060–16FF FFFF 1700 0000–1703 FFFF 1704 0000–1707 FFFF 1708 0000–170B FFFF 170C 0000–170F FFFF 1710 0000 (read only) 1710 0000 (write only) 1710 0004 (read only) 1710 0004 (write only) 1710 0008 1710 000C 1710 0010 (read only) 1710 0010 (write only) 1710 0014 (read only) 1710 0014 (write only) 1710 0018 (read only) 1710 0018 (write only) 1710 001C (read only) 1710 001C (write only) 1710 0020 1710 0024 (write only) 1710 0028 (write only) 1710 002C–1710 003C 1710 0040–1713 FFFF 1714 0000 (write only) 1714 0004–1717 FFFF 1718 0000–1719 FFFF 171A 0000–171B FFFF 171C 0000–171F FFFF 1720 0000–1723 FFFF 1724 0000–17FF FFFF 1800 0000–1807 FFFF 1 Accessible only from R3000 processor. KN220 Address Assignments B–9 Table B–2 (Cont.): R3000 Physical I/O Addresses Contents Address Range Local Q22-Bus I/O Space Reserved I/O module address space R3000 UART registers Reserved (copies of UART registers) Reserved I/O module address space VME option memory and I/O space FDDI option memory and I/O space Reserved I/O module address space R3000 ROM Reserved I/O module address space Reserved B–10 KN220 CPU System Maintenance 1808 0000–180F FFFF 1810 0000–1810 003C 1810 0040–1813 FFFF 1814 0000–18FF FFFF 1900 0000–1AFF FFFF 1B00 0000–1CFF FFFF 1D00 0000–1FBF FFFF 1FC0 0000–1FC3 FFFF 1FC4 0000–1FFF FFFF 2000 0000–2FFF FFFF B.4 KN220 Diagnostic Processor Physical Address Space Map (M7638–AA) Table B–3: KN220 Diagnostic Processor Physical Addresses Contents Address Range Local Memory Space (up to 256 Mbytes) 0000 0000–0FFF FFFF Local Q22-Bus I/O Space Reserved Q22-bus I/O space Q22-bus floating address space User reserved I/O module address space Reserved Q22-bus I/O space Interprocessor communication register Reserved Q22-bus I/O space Reserved I/O module address space SGEC CSR0: vector, IPL, mode SGEC CSR1: polling demand SGEC CSR2: reserved register SGEC CSR3: receive descriptor list SGEC CSR4: transmit descriptor list SGEC CSR5: status register SGEC CSR6: command and mode register SGEC CSR7: system base register SGEC CSR8: reserved register SGEC CSR9: watchdog timers SGEC CSR10: revision number and missed frame count SGEC boot message registers SGEC diagnostic registers Reserved (copies of SGEC registers) Reserved I/O module address space Two copies of CVAX ROM Q22 system configuration register Q22 system error register Q22 master error address register Q22 slave error address register Q22-bus map base register Reserved Interrupt status register Boot and diagnostic register 2000 0000–2000 0007 2000 0008–2000 07FF 2000 0800–2000 0FFF 2000 1000–2000 1F3F 2000 1F40 2000 1F48–2000 1FFF 2000 2000–2000 7FFF 2000 8000 2000 8004 2000 8008 2000 800C 2000 8010 2000 8014 2000 8018 2000 801C 2000 8020 2000 8024 2000 8028 2000 802C–2000 8034 2000 8038–2000 803C 2000 8040–2001 FFFF 2002 0000–2003 FFFF 2004 0000–2007 FFFF 2008 0000 2008 0004 2008 0008 2008 000C 2008 0010 2008 0014–2008 3FFF 2008 4000 2008 4004 KN220 Address Assignments B–11 Table B–3 (Cont.): KN220 Diagnostic Processor Physical Addresses Contents Address Range Local Q22-Bus I/O Space Select processor register Interval timer register Reserved I/O module address space Q22-bus map registers Reserved I/O module address space DSSI buffer RAM NI station address ROM Reserved I/O module address space SSC base address register SSC configuration register CDAL bus timeout control register Diagnostic LED register Reserved I/O module address space Time-of-year register Reserved CVAX console receiver control/status CVAX console receiver data buffer CVAX console transmitter control/status CVAX console transmitter data buffer Reserved I/O system reset register Reserved ROM data register Bus timeout counter Interval timer Reserved Timer 0 control register Timer 0 interval register Timer 0 next interval register Timer 0 interrupt vector Timer 1 control register Timer 1 interval register Timer 1 next interval register Timer 1 interrupt vector DSSIDB address decode match register DSSIDB address decode mask register LIOD address decode match register LIOD address decode match register Reserved B–12 KN220 CPU System Maintenance 2008 4008 2008 4010 2008 4014–2008 7FFF 2008 8000–2008 FFFF 2009 0000–2009 FFFF 2010 0000–2011 FFFF 2012 0000–2012 007C 2012 0080–2013 FFFF 2014 0000 2014 0010 2014 0020 2014 0030 2014 0034–2014 0068 2014 006C 2014 0070–2014 007C 2014 0080 2014 0084 2014 0088 2014 008C 2014 0090–2014 00DB 2014 00DC 2014 00E0 2014 00F0 2014 00F4 2014 00F8 2014 00FC–2014 00FF 2014 0100 2014 0104 2014 0108 2014 010C 2014 0110 2014 0114 2014 0118 2014 011C 2014 0130 2014 0134 2014 0140 2014 0144 2014 0148–2014 033F Table B–3 (Cont.): KN220 Diagnostic Processor Physical Addresses Contents Address Range Local Q22-Bus I/O Space CVAX battery backed-up RAM Reserved I/O module address space DSSI diagnostic register 0 DSSI diagnostic register 1 DSSI diagnostic register 2 DSSI control and status register DSSI ID register Reserved DSSI register Reserved DSSI register DSSI timeout register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register DSSI short target list pointer DSSI long target list pointer DSSI initiator list pointer DSSI DSSI control register DSSI DSSI status register Reserved DSSI register Reserved DSSI register DSSI diagnostic control register DSSI clock control register DSSI internal state register 0 DSSI internal state register 1 DSSI internal state register 2 DSSI internal state register 3 Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved DSSI register Reserved I/O module address space Reserved Reserved I/O presence register Memory error syndrome register 2014 0400–2014 07FF 2014 0800–2015 FFFF 2016 0000 2016 0004 2016 0008 2016 000C 2016 0010 2016 0014 2016 0018 2016 001C 2016 0020 2016 0024 2016 0028 2016 002C 2016 0030 2016 0034 2016 0038 2016 003C 2016 0040 2016 0044 2016 004C 2016 004C 2016 0050 2016 0054 2016 0058 2016 005C 2016 0060 2016 0064 2016 0068 2016 006C 2016 0070 2016 0074 2016 0078 2016 007C 2016 0080–2017 FFFF 2018 0000–23FF FFFF 2400 0000–26FF FFFF 2700 0000–2703 FFFF 2704 0000–2707 FFFF KN220 Address Assignments B–13 Table B–3 (Cont.): KN220 Diagnostic Processor Physical Addresses Contents Address Range Local Q22-Bus I/O Space Memory error address register Memory ID register 53C94 transfer counter low register 53C94 transfer count low register 53C94 transfer counter high register 53C94 transfer count high register 53C94 FIFO register 53C94 command register 53C94 status register 53C94 select bus ID register 53C94 interrupt status register 53C94 select timeout register 53C94 sequence step register 53C94 synchronous transfer period register 53C94 FIFO flags register 53C94 synchronous offset register 53C94 configuration register 53C94 clock conversion register 53C94 test register Reserved Reserved (copies of SCSI registers) SCSI DMA register Reserved (copies of DMA register) SCSI buffer RAM Reserved (copy of SCSI RAM) Reserved SCSI address space R3000 LED register Reserved I/O module address space R3000 nonvolatile RAM Reserved I/O module address space R3000 UART registers Reserved (copies of UART registers) Reserved I/O module address space VME option memory and I/O space FDDI option memory and I/O space Reserved I/O module address space B–14 KN220 CPU System Maintenance 2708 0000–270B FFFF 270C 0000–270F FFFF 2710 0000 (read only) 2710 0000 (write only) 2710 0004 (read only) 2710 0004 (write only) 2710 0008 2710 000C 2710 0010 (read only) 2710 0010 (write only) 2710 0014 (read only) 2710 0014 (write only) 2710 0018 (read only) 2710 0018 (write only) 2710 001C (read only) 2710 001C (write only) 2710 0020 2710 0024 (write only) 2710 0028 (write only) 2710 002C–2710 003C 2710 0040–2713 FFFF 2714 0000 (write only) 2714 0004–2717 FFFF 2718 0000–2719 FFFF 271A 0000–271B FFFF 271C 0000–271F FFFF 2720 0000–2723 FFFF 2724 0000–27FF FFFF 2800 0000–2807 FFFF 2808 0000–280F FFFF 2810 0000–2810 003C 2810 0040–2813 FFFF 2814 0000–28FF FFFF 2900 0000–2AFF FFFF 2B00 0000–2CFF FFFF 2D00 0000–2FBF FFFF Table B–3 (Cont.): KN220 Diagnostic Processor Physical Addresses Contents Address Range Local Q22-Bus I/O Space R3000 ROM Reserved I/O module address space Local Q22-bus memory space Reserved 2FC0 0000–2FC3 FFFF 2FC4 0000–2FFF FFFF 3000 0000–303F FFFF 3040 0000–3FFF FFFF B.5 Diagnostic Processor Registers Several KN220 internal processor registers (IPRs) are implemented in the SSC chip rather than the CVAX chip. These registers are listed in Table B–4. The R3000 accesses these registers through R3000 memory space. Table B–4: Diagnostic Processor Registers Dec Hex Register Name Mnemonic Type Location 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 Kernel Stack Pointer Executive Stack Pointer Supervisor Stack Pointer User Stack Pointer Interrupt Stack Pointer Reserved Reserved Reserved P0 Base Register P0 Length Register P1 Base Register P1 Length Register System Base Register System Length Register Reserved Reserved Process Control Block Base System Control Block Base Interrupt Priority Level AST Level Software Interrupt Request Software Interrupt Summary KSP ESP SSP USP ISP r/w r/w r/w r/w r/w P0B P0LR P1BR P1LR SBR SLR r/w r/w r/w r/w r/w r/w PCBB SCBB IPL ASTLVL SIRR SISR r/w r/w r/w r/w w r/w CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX KN220 Address Assignments B–15 Table B–4 (Cont.): Diagnostic Processor Registers Dec Hex Register Name 22 23 24 25 26 27 28 29 30 16 17 18 19 1A 1B 1C 1D 1E 31 32 33 34 1F 20 21 22 35 36 37 38 39 40 41 42 43 44 45 46 47 55 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 47 Reserved Reserved Interval Clock Control Status Next Interval Count Interval Count Time-of-year Register Console Storage Receiver Status Console Storage Receiver Data Console Storage Transmitter Status Console Storage Transmitter Data Console Receiver Control Status Console Receiver Data Buffer Console Transmitter Control Status Console Transmitter Data Buffer Translation Buffer Disable Cache Disable Machine Check Error Summary Memory System Error Reserved Reserved Console Saved PC Console Saved PSL Reserved Reserved Reserved Reserved I/O System Reset Register B–16 KN220 CPU System Maintenance Mnemonic Type Location ICCS NICR ICR TOY CSRS CSRD CSTS r/w w r r/w r/w r r/w CVAX CVAX CVAX CVAX CVAX SSC SSC SSC SSC CSDB RXCS RXDB TXCS w r/w r r/w SSC SSC SSC SSC TXDB TBDR CADR MCESR MSER w r/w r/w r/w r/w SAVPC SAVPSL r r IORESET – SSC CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX CVAX B.6 Global Q22-Bus Memory Space Map Table B–5: Q22-Bus Memory Space Contents Address Range (Octal) Q22-bus memory space 0000 0000–1777 7777 Table B–6: Q22-Bus I/O Space with BBS7 Asserted Contents Address Range (Octal) Q22-bus I/O space Reserved Q22-bus I/O space Q22-bus floating address space User-reserved Q22-bus I/O space Reserved and fixed CSR Q22-bus I/O space Interprocessor communication register Reserved Q22-bus I/O space 1776 0000–1777 7777 1776 0000–1776 0007 1776 0010–1776 3777 1776 4000–1776 7777 1777 0000–1777 7477 1777 7500 1777 7502–1777 7777 KN220 Address Assignments B–17 Appendix C Configuring the KFQSA This appendix describes the KFQSA storage adapter and explains how to: • Configure the KFQSA storage adapter at installation • Enter console I/O mode • Run the Configure utility • Program the EEROM on the KFQSA • Reprogram the EEROM on the KFQSA • Change the ISE’s allocation class and unit number C.1 KFQSA Overview The KN220 CPU module contains the DSSI adapter that interfaces six DSSI devices, both internal and external to the DECsystem 5500. At the same time, the KFQSA adapter module can be added to interface six DSSI devices external to the DECsystem 5500. The KFQSA module is a storage adapter that allows Q-bus systems that support the KFQSA to communicate with storage peripherals based on the Digital Storage Architecture (DSA), using the Digital Storage System Interconnect (DSSI). The KFQSA contains the addressing logic required to make a connection between the host and a requested ISE on the DSSI bus. Each ISE has its own controller, which contains the intelligence and logic necessary to control data transfers over the DSSI bus. The KFQSA presents a mass storage control protocol (MSCP) U/Q port for each ISE. The EEROM on the KFQSA contains a configuration table. After you install the KFQSA, you program the EEROM with the CSR address for each ISE in the system. Configuring the KFQSA C–1 C.2 Configuring the KFQSA at Installation At installation, configure the KFQSA as follows: CAUTION: Static electricity can damage integrated circuits. Use the wrist strap and antistatic mat found in the Antistatic Kit (29–26246) when you work with the internal parts of a computer system. 1. Check the KFQSA module for the presence of a jumper intended for manufacturing use only. The location of this jumper is shown in Figure C–1. Remove the jumper. 2. Use the four-position DIP switchpack shown in Figure C–1 as follows to set a temporary CSR address that enables you to access the EEROM: a. Set switches 1, 2, 3, and 4 to reflect a fixed CSR address to allow the KFQSA to be programmed. Table C–1 shows the switch settings for the KFQSA. b. Install the KFQSA adapter module into the backplane according to the procedures in the appropriate enclosure maintenance manual. C–2 KN220 CPU System Maintenance Figure C–1: KFQSA Module Layout (M7769) Four-Position Switchpack On 1 2 3 4 LEDs Jumper (For Manufacturing Use Only) MLO-001878 Configuring the KFQSA C–3 The positions of the KFQSA four-position switchpack are shown in Table C–1. Table C–1: KFQSA (M7769) Service Mode Switch Settings Switches S/N Mode 1 Fx/F1 2 MSB 3 LSB 4 Fixed Address First KFQSA on off on on 0774420 Additional on off on off 0774424 " on off off on 0774430 " on off off off 0774434 S/N = Service mode/Normal operating mode Fx/Fl = fixed/floating CSR address C.2.1 Entering Maintenance Mode After installing the KFQSA, you issue a series of commands to the KN220 system at the maintenance mode prompt (>>>) to program the EEROM on the KFQSA. You may type these commands in either uppercase or lowercase letters. Unless otherwise specified, type each command, then press Return . Enter maintenance mode as follows: 1. Set the operation switch on the H3602–AC CPU cover panel to the maintenance position ( ). 2. Set the function switch on the CPU cover panel to the enable position ( ). 3. Set the on/off power switch to on (1). 4. When the power-up self-tests complete, the console prompt appears, as shown in Example C–1. C–4 KN220 CPU System Maintenance Example C–1: Entering Console Mode Display KN220-A Vn.n Performing normal system tests. 83..82..81..80..79..78..77..76..75..74..73..72..71..70..69..68..67.. 66..65..64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Tests completed. >>> C.2.2 Displaying Current Addresses Type SHOW QBUS to display the current Q22-bus addresses (Example C–2). The KFQSA adapter appears in service mode as KFQSA #0. Example C–2: SHOW QBUS Display >>> SHOW QBUS Scan of Qbus I/O Space -20001910 (774420) = 0000 (000) KFQSA #0 -20001912 (774422) = 0AA0 -20001920 (774440) = FF08 (120) DELQA/DEQNA/DESQA -20001922 (774442) = FF00 -20001924 (774444) = FF2B -20001926 (774446) = FF09 -20001928 (774450) = FFA3 -2000192A (774452) = FF96 -2000192C (774454) = 8000 -2000192E (774456) = 1030 -20001940 (774500) = 0000 (260) TQK50/TQK70/TU81E/RV20/KFQSA-TAPE -20001942 (774502) = 0BC0 -20001F40 (777500) = 0020 (004) IPCR Scan of Qbus Memory Space >>> Configuring the KFQSA C–5 C.2.3 Running the Configure Utility Now that you have physically reconfigured the system by installing the KFQSA storage adapter, you must run the Configure utility to find the correct address for each device and module in the system. The Configure utility uses Q-bus/Unibus fixed and floating address space rules. Run the Configure utility as follows. Refer to Example C–3. 1. At the maintenance mode prompt, type CONFIGURE, then type HELP at the Device,Number? prompt for a list of devices that can be configured. NOTE: Some of the devices listed in the HELP display are not supported by the KN220–A CPU. 2. For each device in the system, type the device name at the Device,Number? prompt. If you have more than one of the same type, type a comma followed by the total number of that device. In Example C–3, the system contains one KFQSA with six ISEs. Be sure you list all the devices: those already installed and those you plan to install. 3. Type EXIT. The Configure utility displays an address and vector assignment for each device. Example C–3 shows the address and vector assignments and the device input. Write down the addresses for the KFQSA devices. 4. For all modules except the KFQSA, verify that the CSR addresses are set correctly by comparing the addresses listed in the SHOW QBUS command with those listed in the Configure utility display. If necessary, remove modules from the backplane and reset switches or jumpers to the addresses in your Configure display, using module removal and replacement procedures in BA430/BA440 Enclosure Maintenance. C–6 KN220 CPU System Maintenance Example C–3: Configure Display >>> CONFIGURE Enter device configuration, HELP, or EXIT Device,Number? help Devices: LPV11 KXJ11 DLV11J DZQ11 RLV12 TSV05 RXV21 DRV11W DMV11 DELQA DEQNA DESQA RRD50 RQC25 KFQSA-DISK TQK50 RV20 KFQSA-TAPE KMV11 IEQ11 CXA16 CXB16 CXY08 VCB01 LNV21 QPSS DSV11 ADV11C KWV11C ADV11D AAV11D VCB02 DRQ3B VSV21 IBQ01 IDV11A IDV11D IAV11A IAV11B MIRA DESNA IGQ11 DIV32 KIV32 KWV32 KZQSA Numbers: 1 to 255, default is 1 Device,Number? KFQSA-DISK, 6 Device,Number? DESQA Device,Number? TQK70 Device,Number? EXIT DZV11 DRV11B RQDX3 TQK70 DHQ11 QVSS AAV11C QDSS IDV11B ADQ32 DTCN5 DFA01 DPV11 KDA50 TU81E DHV11 LNV11 AXV11C DRV11J IDV11C DTC04 DTC05 Address/Vector Assignments -774440/120 DESQA -772150/154 KFQSA-DISK !NODE 0 -760334/300 KFQSA-DISK !NODE 1 -760340/304 KFQSA-DISK !NODE 2 -760344/310 KFQSA-DISK !NODE 3 -760350/314 KFQSA-DISK !NODE 4 -760354/320 KFQSA-DISK !NODE 5 -774500/260 TQK70 >>> NOTE: KN220 does not support all devices in this list. Installation Guide for complete information. See ULTRIX Configuring the KFQSA C–7 C.3 Programming the KFQSA Program the configuration table in the EEROM of the KFQSA to include all ISEs on the DSSI bus, as follows. Refer to Examples C–4 through C–6. 1. Determine the DSSI node plug address for each ISE you are configuring. Start with node 0, then continue up through node 5. In Example C–3, nodes 0, 1, 2, 3, 4, and 5 are used; node 7 is saved for the KFQSA adapter. 2. At the console prompt on each system, type SET HOST/UQSSP/MAINT /SERV 0 to program the KFQSA. 3. Type HELP to display a list of supported commands. 4. Program the KFQSA to include each DSSI device in the system: a. For each ISE, type SET, followed by the node number, the CSR address (from the list of addresses you obtained from the Configure utility), and the model number (ISEs are model 21). b. Type SHOW to display the configuration table you just programmed. c. Check the display to make sure the addresses are correct. d. Type EXIT to save the configuration table or QUIT to leave the table unchanged. Example C–4: Display for Programming the First KFQSA >>> SET HOST/UQSSP/MAINT/SERV 0 !in the system. !0 refers to first KFQSA UQSSP Controller (772150) Enter SET, CLEAR, SHOW, HELP, EXIT, or QUIT Example C–4 Cont’d on next page C–8 KN220 CPU System Maintenance Example C–4 (Cont.): Display for Programming the First KFQSA Node CSR Address Model 7 ------- KFQSA ------? HELP Commands: SET <node> /KFQSA !Sets KFQSA DSSI node !number SET <node> <CSR_address> <model> !Enables a DSSI device CLEAR <node> !Disables a DSSI device SHOW !Displays current !configuration HELP !Displays this display EXIT !Saves the KFQSA program QUIT !Does not save the KFQSA !program Parameters: <node> !0 through 7 <CSR_address> !760010 to 777774 <model> !21 (disk) or 22 (tape) ? SET 0 772150 21 ? SET 1 760334 21 ? SET 2 760340 21 ? SET 3 760344 21 ? SET 4 760350 21 ? SET 5 760354 21 ? SHOW Node CSR Address Model 0 772150 21 1 760334 21 2 760340 21 3 760344 21 4 760350 21 5 760354 21 7 ------ KFQSA ------? exit Programming the KFQSA... !Note from the system that !the KFQSA is !being programmed. Configuring the KFQSA C–9 5. Turn the system power off by setting the on/off switch to off (0). 6. Remove the KFQSA from the backplane. 7. Confirm that the unit ID plugs on the enclosure’s operator control panel (OCP) match the node IDs you just programmed. 8. On the KFQSA, set switch 1 on the four-position switchpack to on (1). (Figure C–1 shows the location and position of the switchpack.) This action sets the KFQSA to the normal operating mode; switches 2, 3, and 4 are ignored since switch 1 is set to off, and the DSSI addresses are read from the EEROM. 9. Reinstall the KFQSA in the backplane. 10. Power on the system by setting the on/off switch to on (1). Wait for the self-tests to complete. 11. At the maintenance mode prompt, type SHOW QBUS to verify that all addresses are present and correct, as shown in Example C–5. 12. Type SHOW DEVICE to verify that all ISEs are displayed correctly, as shown in Example C–6. C–10 KN220 CPU System Maintenance Example C–5: SHOW QBUS Display >>> show qbus Scan of Qbus I/O Space -200000DC (760334) = 0000 (300) RQDX3/KDA50/RRD50/RQC25/KFQSA-DISK -200000DE (760336) = 0AA0 -200000E0 (760340) = 0000 (304) RQDX3/KDA50/RRD50/RQC25/KFQSA-DISK -200000E2 (760342) = 0AA0 -200000E4 (760344) = 0000 (310) RQDX3/KDA50/RRD50/RQC25/KFQSA-DISK -200000E6 (760346) = 0AA0 -200000E8 (760350) = 0000 (314) RQDX3/KDA50/RRD50/RQC25/KFQSA-DISK -200000EA (760352) = 0AA0 -200000EC (760354) = 0000 (320) RQDX3/KDA50/RRD50/RQC25/KFQSA-DISK -200000EE (760356) = 0AA0 -20001468 (772150) = 0000 (154) RQDX3/KDA50/RRD50/RQC25/KFQSA-DISK -2000146A (772152) = 0AA0 -20001920 (774440) = FF08 (120) DESQA -20001922 (774442) = FF00 -20001924 (774444) = FF2B -20001926 (774446) = FF09 -20001928 (774450) = FFA3 -2000192A (774452) = FF96 -2000192C (774454) = 0050 -2000192E (774456) = 1030 -20001940 (774500) = 0000 (260) TQK70/TU81E/RV20/KFQSA-TAPE -20001942 (774502) = 0BC0 -20001F40 (775500) = 0020 (004) IPCR Scan of Qbus Memory Space >>> Configuring the KFQSA C–11 Example C–6: SHOW DEVICE Display >>> SHOW DEVICE DSSI Node 0 (772150) -rf(0,0,*) (RF71) DSSI Node 1 (760334) -rf(1,1,*) (RF71) DSSI Node 2 (760340) -rf(2,2,*) (RF71) DSSI Node 3 (760344) -rf(3,3,*) (RF71) DSSI Node 4 (760350) -rf(4,4,*) (RF71) DSSI Node 5 (760354) -rf(5,5,*) (RF71) DSSI Node 7 (*) SCSI Node 0 -rz(0,0,*) (RZ56) SCSI Node 7 (*) UQSSP Tape Controller 0 (774500) -tm(0,0) (TK70) -MUA0 Ethernet Adapter 0 -tftp() -mop() -EZA0 (08-00-2B-0C-C4-75) VME Interface Board - Not Installed >>> C–12 KN220 CPU System Maintenance C.4 Reprogramming the KFQSA When you add a new DSSI device to a system with at least one RF-series ISE that has been programmed correctly, you must reprogram each KFQSA on the DSSI bus to include the new device(s) as follows: 1. Enter maintenance mode, using the procedure in Section C.2.1. 2. At the maintenance mode prompt, type SHOW DEVICE for a display of all devices currently in the system. The display includes tape drives and the Ethernet adapter, as shown in Section C.3, Example C–6. This display lists the Q-bus address and port name of the device. 3. Type SHOW QBUS for a display of the eight-digit Q-bus address (hex) for each device, as shown in Section C.3, Example C–5. 4. Find the eight-digit Q-bus address for an ISE attached to the KFQSA that you are reprogramming. Use the SET HOST command to enter the KFQSA through an existing port and edit the configuration table as follows. Refer to Example C–7. a. Type SET HOST/UQSSP/MAINT followed by the Q-bus address. b. Use the SET and CLEAR commands to reconfigure the KFQSA, as shown in Example C–7. c. Type SHOW to display the new KFQSA configuration table setting. d. Type EXIT to save the configuration table or QUIT to cancel the reprogramming. Configuring the KFQSA C–13 Example C–7: Reprogramming the KFQSA Display >>> SET HOST/UQSSP/MAINT 20001468 UQSSP Controller (772150) Node CSR Address Model 0 772150 21 1 760334 21 2 760340 21 3 760344 21 4 760350 21 5 760354 21 7 ----- KFQSA -----? CLEAR 5 ? SHOW Node CSR Address Model 0 772150 21 1 760334 21 2 760340 21 3 760344 21 4 760350 21 7 ----- KFQSA -----? SET 5 760354 21 ? SHOW Node CSR Address Model 0 772150 21 1 760334 21 2 760340 21 3 760344 21 4 760350 21 5 760354 21 7 ----- KFQSA -----? EXIT Programming the KFQSA... !Note from the system that the !KFQSA is being programmed. C–14 KN220 CPU System Maintenance C.5 Changing the ISE Unit Number This section describes how to change the ISE unit number. For most configurations, you will not need to change the default unit numbers. Change the allocation class and unit number parameters, using the consolebased DUP driver utility, as follows. Refer to Example C–8. 1. Enter maintenance mode, using the procedure in Section C.2.1. 2. At the maintenance mode prompt, type SET HOST/DUP/UQSSP/DISK 0 PARAMS (0 through 6 for the ISE to which you want to connect) to start the DUP server. 3. Type SHOW UNITNUM to check the unit number. 4. To change the ISE’s unit number from the default value, type SET UNITNUM n (where n is the new unit number). For example, type SET UNITNUM 20 to change the unit number from 0 to 20. 5. Type SET FORCEUNI 0 to set the forceunit flag to zero in order to use a nondefault value. If you do not change the FORCEUNI parameter, the drive unit number defaults to the number of the corresponding DSSI plug on the operator control panel (OCP). 6. Type SHOW UNITNUM to show the new unit number. 7. Type SHOW FORCEUNI to show the new forceunit flag values. 8. Type WRITE, then type Y to save the new values into the EEROM or N to cancel the reprogramming. 9. Type SHOW DEVICE to make sure you have programmed the first ISE to have a unit number of 20. When you boot the operating system, the display shows the new unit number. Configuring the KFQSA C–15 Example C–8: Display for Changing Unit Number >>> SET HOST/DUP/UQSSP/DISK 0 PARAMS Starting DUP server... UQSSP Disk Controller 0 (772150) Copyright (c) 1988 Digital Equipment Corporation PARAMS> SHOW UNITNUM Parameter --------UNITNUM Current ---------0 Default ---------0 Type -----Word Radix -----Dec B Default ---------0 Type -----Word Radix -----Dec U Default ---------1 Type Radix ------ -----Boolean 0/1 U PARAMS> SET UNITNUM 20 PARAMS> SET FORCEUNI 0 PARAMS> SHOW UNITNUM Parameter --------UNITNUM Current ---------20 PARAMS> SHOW FORCEUNI Parameter --------FORCEUNI Current ---------0 PARAMS> WRITE Stopping DUP server... >>> SHOW DEVICE DSSI Node 0 (772150) -rf(0,20,*) (RF71) DSSI Node 1 (760334) -rf(1,1,*) (RF71) DSSI Node 2 (760340) -rf(2,2,*) (RF71) DSSI Node 3 (760344) -rf(3,3,*) (RF71) DSSI Node 4 (760350) -rf(4,4,*) (RF71) DSSI Node 5 (760354) -rf(5,5,*) (RF71) DSSI Node 7 (*) Example C–8 Cont’d on next page C–16 KN220 CPU System Maintenance Example C–8 (Cont.): Display for Changing Unit Number SCSI Node 0 -rz(0,0,*) (RZ56) SCSI Node 7 (*) UQSSP Tape Controller 0 (774500) -tm(0,0) (TK70) -MUA0 Ethernet Adapter 0 (774440) -mop() -EZA0 (08-00-2B-0C-C4-75) VME Interface Board - Not Installed >>> Configuring the KFQSA C–17 Appendix D Prestoserve Software on the DECsystem 5500 This appendix contains information about using Prestoserve on the DECsystem 5500, especially in regard to firmware support. D.1 Why Data Recovery Is Necessary Prestoserve is a software facility for disk acceleration. It uses non-volatile storage on the CPU board to cache data writes to disk. In the event of an abnormal system shutdown, data intended for disk may be left in the NVRAM cache. It is necessary to assure that the data intended for disk is ultimately written to the disk to maintain disk integrity. See the ULTRIX Guide to Prestoserve for a more detailed description of Prestoserve. Data in the cache is automatically recovered and moved to the appropriate disks in the following cases: • If you follow the normal ULTRIX shutdown procedures for the DECstation 5500 • If you unmount a removable device that uses Prestoserve software while running ULTRIX If your system shuts down abnormally because of a power failure, hardware failure, or software failure, data intended for disk may remain in the cache after the shutdown has completed. A cache containing data is referred to as dirty. The data intended for disk will be written to the disk automatically during reboot (if the system is able to boot). This section describes procedures for recovering data both in the case when reboot is possible, and in the case when reboot is not possible. D.2 Using the dc Commands Commands executed from the Maintenance mode prompt (>>>) allow you to try to recover any data in the cache and avoid corrupting your disks. The commands allow you to: • Determine if the cache contains data Prestoserve Software on the DECsystem 5500 D–1 • Save cache data to tape • Restore data from tape • Zero (clear) the data in the cache The commands that access tape drives depend on the availability of a functioning tape device. To determine the tape devices that are available on your system, enter the show device command at the Maintenance mode prompt. For example: >>> show device >>>show dev DSSI Node 0 (R7YRMS) -rf(0,0,*) (RF71) DSSI Node 7 (*) SCSI Node 0 -tz(0,0,*) (TLZ04) -DIA0 SCSI Node 1 -rz(0,1,*) (RZ56 ) SCSI Node 2 -rr(0,2,*) (RRD40) -DIA2 SCSI Node 4 -tz(0,4,*) (.....) -DIA4 SCSI Node 7 (*) UQSSP Tape Controller 0 (774500) -tm(0,0) (TK70) -MUA0 Ethernet Adapter -mop() -EZA0 (08-00-2B-12-81-22) Ethernet Adapter -XQA0 (08-00-2B-08-CB-5C) VME Interface Board - Not Installed >>> The available devices are displayed on the console terminal. Note the unit number of the tape device that you want to use. Use the Maintenance mode boot path. For example, for UQSSP tape controller 0, the Maintenance mode boot path is shown at the end of the line containing the ULTRIX boot path, and it is MUA0. D–2 KN220 CPU System Maintenance D.2.1 Determining If a Cache Contains Data To determine if the cache contains data, use the dc command with no qualifier, executed at the Maintenance mode >>> prompt. For example: >>> dc At the dc command, if the CPU board’s cache contains data the following message is displayed on the console terminal: Disk Cache - Dirty At the dc command, if the CPU board’s cache does not contain any data the following message is displayed on the console terminal: Disk Cache - Clean If there is no data in the cache (cache is clean), you can follow normal procedures for rebooting or troubleshooting. NOTE: You should always run the dc command before replacing or using any DECsystem 5500 CPU board. D.2.2 Saving the Cache Data to Tape with the dc/save Command If a problem exists with the CPU board, and there is data in the Prestoserve cache, save the data to tape before you replace the board. You can save data by using the dc/save command, and specifying the tape device. The dc/save command checks if the cache is clean or dirty and displays the status. If the cache is clean, no additional action is taken. After the data has been saved on tape, the dc/save command will attempt to clear the cache. Prior to this action it will query. The command is executed at the Maintenance mode (>>>) prompt. If the cache is dirty, the system responds to the command as follows: >>> dc/save mua0 Disk Cache - Dirty Do you want to continue (y/n)? y -MUA0 Zero Disk Cache (y/n)? y >>> Prestoserve Software on the DECsystem 5500 D–3 D.2.3 Restore Data From Tape with the dc/restore Command After you correct or replace the CPU board, you must move the data from the specified tape device to the new CPU board’s NVRAM cache, using the dc/restore command. The command is executed at the Maintenance mode (>>>) prompt. The command checks that the new cache is clear. If the cache is dirty, you will be prompted to continue, to make sure that you want to overwrite the cache contents, as in the following example. >>> dc/restore mua0 Disk Cache - Dirty Do you want to continue (y/n)? y -MUA0 >>> If the cache is clean, as in the following example, the contents of the tape (in this example, mua0) are loaded into the cache. >>> dc/restore mua0 Disk Cache - Clean -MUA0 >>> When the system reboots, the contents of the cache are moved to the appropriate disks. D.2.4 Clearing the Cache with the dc/zero Command If you want to clear the contents of the cache because the data is not wanted or because the data cannot be saved to tape with the dc/save command, use the dc/zero command. The command is executed at the Maintenance mode (>>>) prompt. For example: >>> dc/zero Do you want to continue (y/n)? y The command prompts you to confirm that you want to clear the contents of the cache and then fills the cache with zeroes. You can use this command as a security measure to ensure that the cache is cleared. D.3 Recover from Abnormal System Shutdowns The following sections describe in detail how to use the dc commands in data recovery. Data recovery applies to systems that were abnormally shut down. In some circumstances, you may not be able to recover the data. D–4 KN220 CPU System Maintenance D.3.1 Recovering Data From a System That Can Reboot If the system was shut down uncleanly but can still reboot, the contents of the cache are automatically moved to the appropriate disks during the boot process. If a particular disk that is needed is unavailable, you will be given the opportunity to discard the cache data for that disk; then you must recreate that disk by using backups or by re-entering the data. D.3.2 Recovering Data From a System That Cannot Reboot If the system was shut down uncleanly and cannot reboot, the following message is displayed on the console terminal after the execution of the system self-tests: Normal operation not possible. >>> The Maintenance mode prompt (>>>) is then displayed. NOTE: Make sure that the CPU cover panel Operation switch is set to Maintenance mode before you attempt to recover data. If you are unable to enter any commands, you will be unable to recover the data in the cache. Also, if the cache fails, you will be unable to recover the data. To recover any data that may be in the cache, you must determine the contents of the CPU board’s cache by using the dc command. If the display on the console terminal indicates that the cache is clean, no file systems were being accelerated when the system was shut down; therefore you will not lose data or corrupt your disks when the system reboots. You should continue troubleshooting the system. If the display on the console terminal indicates that the cache is dirty (that is, it contains data), you should attempt to recover the data by the following steps. Note that you should not remove any disks from the system, and you should not change the system configuration until the data has been recovered. You can use the maint command at the console prompt (>>) to set the system to Maintenance mode. For example: >> maint >>> You should run the full system self-tests to determine the hardware problem. The self-test command is t 0, or press the Reset button. Prestoserve Software on the DECsystem 5500 D–5 Note the results of the system self-tests and refer to the appropriate section to correct the hardware error. D.3.2.1 Bad I/O Board If the system self-tests indicate a bad I/O board (Table 4–7), follow these steps: 1. Replace the I/O board. 2. Run the system self-tests again and note the results. 3. If a problem still exists, perform the appropriate corrective action. If the problem is corrected, attempt to reboot. If you are able to reboot, a message indicating the CPU board and I/O board mismatch is displayed on the console terminal. At the prompt, you should confirm that you want to continue with the reboot. Then, the contents of the cache are moved to the appropriate disks if available. D.3.2.2 Bad CPU Board If the system self-tests indicate a bad CPU board (Table 4–7), follow the steps in this section. Before you replace the CPU board, you must make sure that the bootmode environment variable is not set to autoboot. You must also make sure that the CPU cover panel is switched to Maintenance mode. To install a new CPU board and recover data in the cache, follow these steps: 1. Determine what tape devices are available on your system by typing the show device command at the Maintenance mode prompt. For example: >>> show device The available devices are displayed on the console terminal, as shown in Section D.2. Note the unit number of the tape device that you want to use. 2. Move the contents of the bad CPU board’s cache to tape by using the dc/save command. For example: >>> dc/save [tape device] 3. Use the dc/zero command to clear the contents of the cache. example: >>> dc/zero Do you want to continue (y/n)? y D–6 KN220 CPU System Maintenance For 4. If you want to install a new CPU board, place the battery jumper on the new CPU board to the two top jumper pins (position 1, On). To prevent battery drain, new CPU boards are shipped with the battery jumper on the bottom two jumper pins (position 0, Off). Clear the old board’s cache either by setting the battery jumper to position 0 for two seconds or by using the dc/zero command. NOTE: Before installing a CPU board, reposition the jumper to the On position. 5. Use the dc/restore command to move the contents of the tape to the newly installed CPU board’s cache. For example: >>> dc/restore [tape device] Do you want to continue (y/n)? y 6. Run the system self-tests again and note the results. 7. If a problem still exists, perform the appropriate corrective action; then attempt to reboot. Once the reboot is successful, the data in the cache is moved to the appropriate disks. D.3.2.3 Bad Boot Disk If you have a bad boot disk, you should attempt to reboot the system and move the contents of the cache to the appropriate disks. However, any data destined for the boot disk will be lost. To reboot the system, follow these steps: 1. Boot the memory-based operating system from the installation tape. 2. Make a system special file for any file system by using the MAKEDEV command. Refer to MAKEDEV(8) in the ULTRIX Reference Pages for more information. 3. Use the fsck command to check the file system. Refer to fsck(8) in the ULTRIX Reference Pages for more information. 4. During the file system checking, the system moves the data in the cache to the appropriate disks. If a disk is unavailable, the system prompts you to confirm that you want to discard the data for those disks. Once the data is discarded the cache is empty. 5. Reinstall the ULTRIX operating system on a viable boot disk. Refer to the appropriate installation guide for more information. Prestoserve Software on the DECsystem 5500 D–7 D.3.2.4 Other Hardware Problems Once you correct a hardware problem, you should be able to reboot, and the data in the cache will be moved to the appropriate disks. D.3.3 Power-up Screen and Test 79 with NVRAM Battery Off If the battery jumper on the CPU module is installed in the ON position (1), there is no message. If the battery jumper is installed in the OFF position (0), there is an error message in the first line of the error display. The following screen messages are displayed after the initial power-up, and then after running test 79. This is the display when the cache is dirty. >>> KN220-A VX.x Performing normal system tests. 83..82..81..80..79..78..77..76..75..74..73..72..71..70..69..68..67.. 66..65.. ?79 1 07 FF 0000 0000 64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Tests completed. >>> >>>T 79 ?79 1 07 FF 0000 0001 >>> This is the display when the battery jumper is in the OFF (0) position. KN220-A VX.x Performing normal system tests. 83..82..81..80..79..78..77..76..75..74..73..72..71..70..69..68..67.. 66..65.. ?79 1 0A FF 0000 0000 64..63..62..61..60..59..58..57..56..55..54..53..52..51..50.. 49..48..47..46..45..44..43..42..41..40..39..38..37..36..35..34..33.. 32..31..30..29..28..27..26..25..24..23..22..21..20..19..18..17..16.. 15..14..13..12..11..10..09..08..07..06..05..04..03.. Tests completed. >>> >>>T 79 D–8 KN220 CPU System Maintenance ?79 1 0A FF 0000 0001 >>> Prestoserve Software on the DECsystem 5500 D–9 Appendix E Field-Replaceable Units (FRUs) This appendix lists the major field-replaceable units (FRUs) for the KN220based system (DECsystem 5500). FRU Description Part Number KN220 Base System H3602–AC bulkhead assembly H3605 bulkhead assembly Interface (ISE terminal power) module KN220 I/O module KN220 CPU module MS220–AA memory module, 32 Mbyte NVRAM battery 70–25775–03 70–27464–01 M9715–AA M7638–AA M7637–AA M7639–AA 12–33140–01 Field-Replaceable Units (FRUs) E–1 FRU Description Part Number BA430 Enclosure Battery pack Blank labels Backplane Bulkhead assy Bulkhead cover, single Bulkhead cover, dual Control assembly Door assembly, top Door assembly, bot EOS clip Fan, 6" FCC clip/handles Indicator panel Interface module, terminal power Key, plastic One quarter-turn fastener/handle Operator Control Panel Power supply assy (120/240) Side gap filler panel (2) Terminator, bus Wheel, base Wheel, shaft Wheel, pin E–2 KN220 CPU System Maintenance 12–19245–01 36–26883–01 54–20181–01 70–28083–01 70–23981–01 70–23982–02 70–27044–01 70–27047–01 70–27048–01 12–26922–01 12–31500–01 12–26340–01 70–27044–02 M9715–AA 12–17119–01 12–26948–01 70–25752–01 H7874–00 70–24505–01 12–29258–01 74–34068–01 74–34069–01 90–09385–00 FRU Description Part Number Cables, Base System Backplane cable to operator control panel (OCP) CPU and I/O module interconnect cable to H3605 Data cable, with MMJ 50-cond flat cable H3602–AC cable H3605 cable KN220 CPU module cable to KN220 I/O module Memory daisy chain cable (1 memory board) Memory daisy chain cable (2 memory boards) Memory daisy chain cable (3 memory boards) Memory daisy chain cable (4 memory boards) Power cord, 120 V (USA) Power control cable, BA400-BA400 Power control cable, BA400-BA200 17–01964–01 17–02665–01 BC16E–43 17–01836–01 17–02666–01 17–02665–01 17–02700–01 17–02700–01 17–02700–02 17–02700–03 17–02700–04 17–00083–43 17–02638–01 17–02637–01 Digital Storage System Interconnect (DSSI) Cable, external Cable, round Cable, conns, bulkhead to backplane Daisy-chain cable, flat Operator control panel (OCP) Port protector Terminator, bus Unit ID plugs KFQSA module RF30/71 drive bracket RF31 integrated storage element RF71 drive module RF71 head disk assembly (HDA) RF71 integrated storage element (ISE) RF71 shock mount, bottom RF71 shock assembly, top RF-series lens, encoder set 17–02152–03 17–02059–01 70–27458–01 17–01836–01 70–25752–01 12–33902–01 12–29258–01 12–28766–19 M7769–00 70–36498–01 70– 54–18316–01 70–23557–01 RF71–EA 70–25452–03 70–25452–04 12–28766–19 Field-Replaceable Units (FRUs) E–3 FRU Description Part Number Small Computer Storage Interface (SCSI) ISEs, Modules, and Cables SCSI cable, external Cable, conns, bulkhead to backplane Port cover Unit ID plugs 17–02659–01 70–27459–01 12–33377–01 12–28766–28 Q22-Bus Devices CXA16–M module CXB16–M module CXY08–M module DESQA–SA module Load module LPV11–SA module Q-bus expansion modules Q-bus expansion cable M3118–YA M3118–YB M3119–YA M3127–PA M9060–YA M8086–PA M9405–PA/M9405–PA 17–02048–01 Loopback Connectors CXY08 loopback DEQNA Ethernet loopback H3103–00 (MMJ) loopback H3197–00 CXY08 loopback E–4 KN220 CPU System Maintenance 12–26964–01 12–22196–02 12–25083–01 12–15336–07 Appendix F Related Documentation The following documents contain information relating to the KN220 CPU system: Document Title Order Number Modules CXA16 Technical Manual CXY08 Technical Manual DESQA Technical Manual DSV11–S Communications Option User Guide DSV11 Communications Option Technical Description KDA50–Q CPU Module User’s Guide KFQSA Installation Guide EK–CAB16–TM EK–CXY08–TM EK–DESQA–TM EK–DSV11–UG EK–DSV11–TD EK–KDA5Q–UG EK–KFQSA–IN Disk and Tape Drives RF31 Installation Guide RF71 Disk Drive User’s Guide RZ56 Manual RZ57 Manual RRD40 Owner’s Manual TLZ04 Cassette Tape Drive Owner’s Manual EK–RF31–IN EK–RF71D–UG TBD TBD EK-RRD40-OM EK-TLZ04-OM-001 Enclosures BA430/BA440 Enclosure Maintenance Microsystems Options Microsystems Site Preparation Guide EK–348AB–MG EK–192AA–MG EK–067AB–PG Related Documentation F–1 Document Title Order Number Diagnostics MDM User’s Guide MicroVAX Diagnostic Monitor Ethernet Server User’s Guide MicroVAX Diagnostic Monitor Reference Card AA-FM7AB-DN AA–FNTAC–DN AV–FMXAA–DN Expanders B400X Expander Installation R400X Expander Installation and Maintenance EK–400AA–MG EK–349AA–MG Networks Ethernet Transceiver Tester User’s Manual F–2 KN220 CPU System Maintenance EK–ETHTT–UG Index ! (comment command), 3–82 9E utility, 4–12 examples, 4–13 A Acceptance testing, 4–34 Address assignments, B–3 to B–17 B BA430 enclosure termination with internal drive, 2–11 termination with tabletop drive, 2–11 Boot and diagnostic facility, on KN220 CPU, 1–9 BOOT command, in maintenance mode, 3–47 boot command, in normal mode, 3–21 Bootstrap of MDM, description of, 3–11 of MDM, supported boot devices, 3–13 of MDM, supported boot flags, 3–13 of ULTRIX–32, description of, 3–9 of ULTRIX–32, procedures for, 3–10 of ULTRIX–32, supported devices, 3–10 support, for KN220 systems, 3–8 Bus length (DSSI), 2–10 C 53C94 chip, on KN220 I/O module, 1–12 Cables available, SCSI, 2–14 Cabling DSSI, 2–9 ISE, 2–9 Cache data, clearing, D–2 Cache memory, on KN220 CPU, 1–8 ? command, in normal mode, 3–31 Comment command (!), 3–82 Configuration and module order, 2–1 DSSI, 2–4 rules, 2–2 CONFIGURE command, 2–3, 3–48 Console commands address space control qualifiers, in maintenance mode, 3–43 address specifiers, in maintenance mode, 3–39 binary load and unload (X), 3–80 BOOT, in maintenance mode, 3–47 boot, in normal mode, 3–21 ! (comment), 3–82 CONFIGURE, in maintenance mode, 3–48 CONTINUE, in maintenance mode, 3–50 continue, in normal mode, 3–23 d (deposit), in normal mode, 3–24 data control qualifiers, 3–42 DC, in maintenance mode, 3–51 DEPOSIT, in maintenance mode, 3–53 dump, in normal mode, 3–25 Index–1 Console commands (Cont.) e (examine), in normal mode, 3–27 EXAMINE, 3–54 EXIT, 3–56 fill, in normal mode, 3–28 FIND, 3–57 go, in normal mode, 3–29 HALT, 3–58 HELP, 3–59 help, in normal mode, 3–30 init, in normal mode, 3–32 INITIALIZE, 3–61 ?, in normal mode, 3–31 keywords, 3–44 list of, 3–44 MOVE, 3–63 NEXT, 3–65 passwd, 1–18 printenv, in normal mode, 3–33 qualifier and argument conventions, in maintenance mode, 3–39 qualifiers, 3–42 REPEAT, 3–67 SEARCH, 3–68 SET, 3–70 setenv, in normal mode, 3–34 SHOW, 3–73 START, 3–77 symbolic addresses, 3–40 syntax, in maintenance mode, 3–39 TEST, 3–78 test, in normal mode, 3–35 UNJAM, 3–79 unpriv, 1–18 unsetenv, in normal mode, 3–36 X (binary load and unload), 3–80 x, in normal mode, 3–37 Console displays and FRUs, 4–24 Console displays, ROM-based diagnostics, 4–17 Console error messages, 4–31 Index–2 Console error messages (Cont.) list of, 4–32 sample of, 4–19 Console port, testing, 4–49 Console security, 1–16 privileged, 1–17 unprivileged, 1–16 Console serial lines on KN220 CPU, 1–8 CONTINUE command, 3–50 continue command, in normal mode, 3–23 CQBIC chip, on KN220 I/O, 1–10 CVAX console displays, 4–17 halt entry and dispatch code, 3–3 on KN220 CPU, 1–10 CVAX ROM-based diagnostics parameters for, 4–4 D d (deposit) command, in normal mode, 3–24 DC command, 3–51 DEPOSIT command, 3–53 Diagnostic executive, 4–3 error field, 4–21 Diagnostics CVAX, description of, 1–10 KN220 CVAX and boot and diagnostic facility, on KN220 CPU, 1–9 Diagnostic tests list of, 4–4 parameters for, 4–4 Differences, between KN220 and other systems in autoboot capability, 1–15 in H3602–AC switch meanings, 1–15 in modules and slot locations, 1–15 in terminology surrounding word size, 1–7 Displays Displays (Cont.) console banner, 3–5 Documentation, relating to KN220 systems, list of, F–1 Drive connect BA430, 2–11 Drives, 2–11 descriptions, 2–11 ID switches, 2–12 internal to tabletop connect, 2–12 RRD40 table, 2–14 tabletop to tabletop connect, 2–11 TLZ04 table, 2–12 DRVEXR local program, 4–39, 4–53 DRVTST local program, 4–39, 4–52 DSSI bus length, 2–10 bus termination, 2–10 cabling, 2–9 configuration, 2–4 interface, on KN220 I/O module, 1–11 ISE order, 2–4 node ID, 2–4 node name, changing, 2–6 testing with H3281 loopback, 4–48 unique addresses, 4–38 unit number, changing, 2–7 dump command, in normal mode, 3–25 E e (examine) command, in normal mode, 3–27 Embedded drive, 2–11 description, 2–11 Environmental variables, 3–17 ERASE local program, 4–55 Error messages console, list of, 4–32 console, sample of, 4–19 halt, 4–31 VMB, 4–33 Ethernet See Network interface Ethernet connectors location of, on H3602–AC, 1–12 EXAMINE command, 3–54 EXIT command, 3–56 F FE utility, 4–41 Field replaceable units (FRUs) for DECsystem 5500, E–1 to E–4 fill command, in normal mode, 3–28 FIND command, 3–57 Firmware description of, on KN220 CPU, 3–1 features of, 3–2 power-up sequence, 3–5 Firmware, on KN220 CPU, 1–9 Floating-point accelerator, on KN220 CPU, 1–7 FRUs and console display, 4–24 Function switch and loopback tests at power-up, 3–6 and query position at power-up, 3–7 Function switch, on H3602–AC, 1–15 G General purpose registers (GPRs) in error display, 4–23 initialization of, 3–12 symbolic addresses for, 3–40 go command, in normal mode, 3–29 H H3103 loopback connector, 4–49 H3281 loopback connector for DSSI, 4–48 H3602–AC CPU I/O panel description of, 1–12 Index–3 H3602–AC I/O panel, 4–49 H8572 loopback connector, 4–49 HALT command, 3–58 Halts and actions taken, 3–3 conditions for, external, 3–4 CVAX, halt entry and dispatch code, 3–3 messages, list of, 4–31 registers saved, 3–3 registers set to fixed values, 3–3 Hardware error summary register, 4–42 HELP command, 3–59 help command, in normal mode, 3–30 HISTRY local program, 4–39, 4–54 I init command, in normal mode, 3–32 INITIALIZE command, 3–61 Initial power-up test See IPT Installation of KN220 and MS220–AA modules, 1–15 Internal processor registers (IPRs) symbolic addresses for, 3–40 IPT, 3–5, 4–25 ISE cabling, 2–9 node ID switches, 2–4 K KFQSA storage adapter and running Configure utility, C–6 changing the ISE unit number, C–15 configuring, C–2 programming, C–8 reprogramming, C–13 KN220 features of, 1–6 Index–4 KN220 (Cont.) LEDs, 4–30 KN220 CPU module description of, 1–1, 1–3 firmware, features of, 3–2 L Loopback connectors H3103, 4–49 H8572, 4–49 list of, 4–50 tests, 4–48 Loopback tests at power-up, 3–6 for DSSI problems, 4–48 for Ethernet problems, 4–48 M Maintenance mode, 3–21 address specifiers, 3–39 command keywords, 3–44 command qualifiers, 3–42 command syntax, 3–39 console commands, 3–47 description of, 3–38 special characters for, 3–38 symbolic addresses, 3–40 Maintenance mode commands CONFIGURE, 2–3 Mass storage See DSSI MDM operating system and restart procedures, 3–15 boot devices, supported, 3–13 bootstrap, 3–11 supported boot flags, 3–13 Memory cache, on KN220 CPU, 1–8 isolating FRU, 4–44 main memory system, on KN220 CPU, 1–8 maximum supported, in KN220 systems, 1–8 Memory (Cont.) MS220–AA, description of, 1–19 testing, 4–44 Messages console error, 4–32 system halt, 4–31 VMB error, 4–33 Module configuration, 2–2 order, in backplane, 2–1 self-tests, 4–49 MOVE command, 3–63 MS220–AF option kit, contents of, 1–19 MS220 memory module, description of, 1–19 N Network interface on KN220 I/O module, 1–11 NEXT command, 3–65 Node name DSSI, changing, 2–6 Normal mode command syntax in, 3–19 console commands for, 3–18 conventions used for description purposes, 3–20 description of, 3–16 environmental variables for, 3–17 special characters for, 3–16 O OCP, 4–51 cabling, 2–9 Operating system bootstrap and bootstrap support, 3–8 and ULTRIX–32 procedures, 3–10 conditions for, 3–8 of MDM, description of, 3–11 of ULTRIX–32, 3–9 Operating system restart, MDM, 3–15 Operating system support, 1–1 Operation switch and action position at power-up, 3–6, 3–7 and maintenance position at power-up, 3–6 and normal position at power-up, 3–5 Operation switch, on H3602–AC, 1–15 Operator console panel See OCP P Panel, CPU I/O See H3602–AC CPU I/O panel Parameters for diagnostic tests, 4–7 in error display, 4–21 PARAMS local program, 4–39, 4–56 commands, 4–56 passwd command, 1–18 Physical address locations, and accessing through R3000 processor, B–1 Power-up sequence, 3–5 Prestoserve software, D–1 printenv command, in normal mode, 3–33 Q Q22-bus interface chip (CQBIC), 1–10 R R3000 RISC chip, on KN220 CPU, 1–7 REPEAT command, 3–67 RF30 local programs DRVEXR, 4–39 DRVTST, 4–39 HISTRY, 4–39 PARAMS, 4–39 RF-series ISE, local programs Index–5 RF-series ISE, local programs (Cont.) DRVEXR, 4–53 DRVTST, 4–52 ERASE, 4–55 HISTRY, 4–54 list of, 4–51 PARAMS, 4–56 RF-series ISEs configuration errors, 4–51 diagnostic error codes, 4–59 diagnostics, 4–50 RISC chip, R3000, on KN220 CPU, 1–7 ROM-based diagnostics description of, 4–3 list of, 4–4 utilities, 4–4 Switch (Cont.) function, on H3602–AC, 1–15 function, set to test position at power-up, 3–6 operation, on H3602–AC, 1–15 operation, set to action position at power-up, 3–6, 3–7 operation, set to maintenance position at power-up, 3–6 operation, set to normal position at power-up, 3–5 Symbolic addresses, 3–40 for any address space, 3–42 for GPRs, 3–40 for IPRs, 3–40 for physical memory, 3–41 Systems, for KN220 CPU module set, 1–1 S T Scripts calling sequence for, 4–10 commonly used, 4–10 creating with 9E utility, 4–12 description of, 4–7 list of, 4–9 SCSI interface, on KN220 I/O module, 1–12 SEARCH command, 3–68 Securing the system, 1–16 Security password forgotten, 1–17 Self-test, for modules, 4–49 SET command, 3–70 setenv command, in normal mode, 3–34 SET HOST/DUP command, 3–70 SHOW command, 3–73 Shutdown, abnormal, recovery from, D–1 SII chip, on KN220 I/O module, 1–11 START command, 3–77 Switch Tabletop drive, 2–11 description, 2–11 TEST command, 3–78 test command, in normal mode, 3–35 Tests, diagnostic See also Troubleshooting; Loopback list of, 4–4 parameters for, 4–7 Time-of-year clock, on KN220 I/O, 1–9 Timers, on KN220 I/O, 1–9 Troubleshooting memory failures, 4–44 memory failures, additional suggestions for, 4–47 with FE utility, 4–41 Index–6 U ULTRIX–32 operating system boot devices, supported, 3–10 bootstrap, 3–9 bootstrap procedure for, 3–10 ULTRIX–32 operating system (Cont.) Exerciser and Uerf commands, list of, A–1 Unit number DSSI, changing, 2–7 UNJAM command, 3–79 unpriv command, 1–18 Unsecuring the system, 1–17 unsetenv command, in normal mode, 3–36 Utilities, diagnostic, 4–4 V Virtual memory bootstrap See VMB VMB, 3–12 boot flags, 3–13 error messages, 4–33 X X command (binary load and unload), 3–80 x command, in normal mode, 3–37 Index–7
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies