SY20 0882 4_VM370_Rel_6_Service_Routines_Pgm_Logic_Mar79 4 VM370 Rel 6 Service Routines Pgm Logic Mar79
User Manual: SY20-0882-4_VM370_Rel_6_Service_Routines_Pgm_Logic_Mar79
Open the PDF directly: View PDF .
Page Count: 269
Download | |
Open PDF In Browser | View PDF |
File No. S370-37 Order No. SV20-0882-4 IBM. Virtual Machine Facility /370: Service Routines Program Logic Systems I Release 6 PLC 1 This publication describes the program logic for the VM/370 service routines. Each service routine (or group of routines) is described in its own chapter. Each chapter contains an introduction, a method of operation section, a program organization section, a directory, a data areas section, and a diagnostic aids section, if the section is applicable. I The service routines that are described in this publication are: the I BCDASDI Virtual Disk !nitialization Program, the Interactive Problem Control System OPCS), the Format Service Program, the DMKDI R Directory Program, the Installation Verification Procedure, the Procedures for Generating and Updating VM/370, the VM/370 Starter System, the 3704/3705 Service Programs, the ZAP Service Program, the EREP/Error Recording Interface, the MSS Communicator, and the IEBIMAGE Interface. --...----~ -.:. .:...: ---. ---'::' :. ---- .:_.zrl - ~ !ift~ ]giti2B (March 1979) This is a major revision of 5Y20-0882-3 and .akes obsolete that editien and Technical Newsletters 5125-0402, dated August 31, 1977, 5N25-0415, dated December 15, 1977, and 5N25-0440, dated July 15. 1978. This edition corresponds to Release 6 Ptc 1 (Progra. Level Change) of lEft Virtual Machine Facility/370, and to all subsequent releases unless otherwise indicated in new editions or Technical Newsletters. Extensive changes have been made to user should read it in its entirety. this publication; therefore, the Changes are Feriodically .ade to the infor.aticn herein; before using this publication in connection with the oFeration cf IBM syste.s. consult the latest !~~ ~st~!L~lQ ~ibli~gI~Ehl, Crder Nc. GC20-000l. for the editions that are aFplicable and current. Publications are not stocked at the address given below; requests fer copies of IBM publications should be .ade to your IBft representative er to the IBM branch office serving your locality. A form for readers' com.ents is provided at the back of this Fublication. If the for. has been removed, com.ents .ay be addressed to IEM Corporation, YM/370 Publications, Dept. D58. Bldg. 706-2, P.O. Bex 390, Poughkeepsie, New York 12602. IBM may use cr distribute any of the information you supply in any way it believes appropriate without incurring any obligation whatever. You .ay, of course, continue to use the information you supply. © copyright International Business Machines corporation 1974, 1975, 1976, 1977, 1979 1972. 1973, Preface The "Introduction" describes the format of this publication, with special emphasis on using the method of operation diagrams. The first chapter of this publication, "IBCDASDI--The Virtual Disk Initialization Program," describes the program that initializes virtual disks and assigns alternate tracks to disks that are used by VMj":nn ..., - .. ...,The "IPCS--Interactive problem Control System" chapter describes the logic for the commands that track and report both CP and non-CP problems. The program that formats disks so they can be used by VM/310 is described in the "Format Service Program" chapter. The "DMKDIR--The chapter describes the the VM/37P directory. interfaces between V"/310 and Storage Control. ~he "IMKIMG and D!KNMT IEEIMAGE Interface" chapter describes the utility programs required to dynamically change the character arrangement tables, graphic modifications, copy modifications, and FCEs for the 3eOO printing Subsystem. In this publication: • ~he term "2305 series" is used in reference to the IEM 2305 Disk Storage, Models 1 and 2. • The term "3330 series" is used in reference to the IBM 3330 Disk Storage, Models 1, 2, and 11, and the IBM 3333 tisk Storage and Control, Models 1 and 11; and the 3350 Direct Access Storage operating in 3330/3333 Model 1 or 3330/3333 Model 11 comFatibility mode. • The term "3340 series" is used in reference to the IEM 3340 Disk Storage, Models A2, B1 and E2, and the 3344 tirect Access Storage Model B2. • The term "3350 series" is used in reference to the IBM 3350 Direct Access Storage Models A2 and E2 in native mode. Directory Program" Frogram that creates The "DASD Dump Restore Program" chapter describes the program that dumps, restores, and copies system disk files. The "Installation Verification Procedure" chapter describes the EXEC procedure that checks the accuracy of the starter or newly generated system. the MSS Mass The The "Procedures for Generating and Updating VM/310" chapter describes the EXEC procedures and modules that aPFly updates to the system, load the system, and generate new macro libraries. terms "3105," "310X," and include the IBM 3104, 3105-1, and 3105-11 Communications Controllers, unless otherwise specified. "3104/3105" • Any mention of the IEM 2141 Communication Terminal also applies to the IEM 3161 Communication Terminal, unless otherwise stated. The "3104/3705 Service programs" chapter describes the programs that perform generation and service functions for the control program for the IBM 3104/3105 Communications Controllers. • Information on the IBM 3105-11 Communications Controller and the Type 4 Channel Adapter is for Flanning purposes only until the availability of the product. The "ZAP Service Program" chapter describes the program that modifies and dumps MODULE, LOADLIB, and TITLIE files. Refer to the following publications for related material: The "VM/310 Starter System" chapter describes the system that is distributed to be used for system generation. The "DMSIFC and DMSREA--EREP/Error Recording Interface" chapter describes the modules that interface between CMS and the OS/VS EREP Frogram. ~~§ No. Command and Macro Reference, Order GC20=181S-- ----- ------- The "DMKMSS -- The MSS Communicator" chapter describes the program that operates in a virtual machine under as/vs and Preface l.l.l. ~!2f~9~ ~I§!~! 1291f, Order 2Y§!~! ~Y1g~, 1£91£ gng Problem Determination Order No. 2Y§!~! ~~§§g9~§, 1~!~fg£!1!~ 5120=0885------------ Q~L!~~ ~E§§ Communicator (MSSC) 5Y35=0013--- ---- ~!2f~9~ 2I§!~! 1291f, Order Ne. Order No. GC20-1808 ff2~1~! (lfCS) Q§~!~§ GC20-1823 Control ~I§!~ ~Y1g~:---order No. the IBM --Order- iv Ne. IBM VM/370 Service Routines Program Logic J~QQ Ne. Contents SUMMARY OF AMENDMENTS. INTRODUCTION • • Illustrations. • Figures.. • Diagrams • • • Illustration Numbering • • • xi • •1 • • • • • •1 • • • • • •1 • •1 ••• 2 CHAPTER 1. IBCDASDI--THE VIRTUAL DISK INITIALIZATION PROGRAM~ Introduction • • • • • • Invoking ~he Virtual Disk Initialization Program. • • • • • • METHOD OF OPERATION • • • • • , PROGRAM ORGANIZATION • • • • • IBCDASDI -- General Information. Program Description~ Directory • • • • Data Areas • • • • • • Track Zerc • • • • • Unit Control Block • Diagnostic Aids. • • • • .3 • .3 • .3 • .5 • .9 • .9 .9 • 11 12 • 12 • 13 14 CHAPTER 2. IPCS--THE INTERACTIVE PROBLEM CONTROL SY STEM. • • • • • • • Introduction • • • • • • • • • IPCS Report Files. • Other IPC S Files • • • .• • '. CP Abend Dumps • • • Method of Operatien. • • Program Organization • • DMMCPA -- Extracts Information Pertinent to Individual Abend Conditions and Enters it in a Problem Report. • • • • • • • • • • • DMMDIR -- Formats and Displays Hexadecimal Data on the Terminal Screen. • • • • • • • • • • • • • • • DMMDSC -- Provides a Method of Examining the CMS Format CP Dumps Created by VMFDUMP. • '. ... • • ' . . . • DMMEDM -- Edits and Prints a CP Dump • DMMFED -- Displays 'nnn' Bytes from Address 'hexloc' • • • • • • • ,• • • • DMMFEX -- Displays X'130' Bytes of the Dump. • • • • • • • • • • • • • • • • DMMGET -- Fetches Portions of the Dump into Storage. • • • • • • '. • • • • • DMMGRC -- Reads Dump Record Containing Data at a Given Address and Passes Data Back to Caller • • • • • • • • • DMMHEX -- Translates EBCDIC to Hexadecimal and Checks for Validity • DMMIDM -- Determines the Failing or Calling Module Name and Displacement within the Module • • • • • • • • • • DMMINI -- Initializes for Data Extractien from the CMS File Containing the Dump • • '. • • • DMMINT -- Translates the Binary Data to Printable Format • • • • • • • DMMIOB -- Displays the I/O Blocks. • • 17 17 17 17 18 19 38 38 38 38 39 39 IMMLOC -- Locates 'string' 'from' 'to' 'increment' • • • • • • • • • • • • • IMMMAP -- Appends Compressed and Sorted Load Map at End of Dump File • IMMMOD -- Locates Modules and Entry Points in Load Map and Identifies Module Containing Given Address IMMPRG -- Handles the CP Program Check processing • • • • • • • • • • • • • • IMMPRM -- Prompts User for Supplementary Data Files and Textual Notes about Failure • • • • • • • IMMPRO -- Creates a Problem Report through User Prompting. • • • .• • IMMREG -- Displays the Registers • IMMRMV -- Places Registers in the Text Area of the Report • • • • • __ • • • IMMSCR -- Scrolls the Iisplay Up or Iown from the Last Address. • • • • • IMMSEA -- Locates any froblems which are Duplicates of a Newly Entered Problem • • .. • • • • • • • • • • • • IMMSTA -- Displays the Status of a Given problem or Group of Problems cr all Problems • • • • • • • • • • • • • IMMSUM -- Updates or Finds Symptcm Summary Control Record for a Given Problem and Passes it to Caller • • • IMMTRC -- Displays 'nnn' Trace Entries IMMTRN -- Translates Binary Data into a Printable Format • • • • • • • • • • IMMVME -- Displays all VMBLCR Addresses, User ids, and Status. • • • IMMWRT -- Creates a freblem Report en Disk and Adds this Preblem to the • • Symptom Summary File. • • Directory • • • • • • • • • • • Data Areas • • • • • • .. • • • SHARECON -- VMFDUMP Shared Ccnstant Area. • • • • • '. • • • • • '. INTSECT -- VMFDUMP and fRCB Internal Data Area • • • • • • • • • • • • • • SYMSECT -- Symptom Summary Centrol Record Format • • • Diagnostic Aids • • • • • • • • • • • • • 42 43 43 43 44 44 44 45 45 45 46 46 46 47 47 " "7 '"t, 48 53 53 57 58 60 40 40 40 41 41 CHAPTER 3. THE FCRMAT SEBVICE fBOGBAM •• Introduction • • • •• •••••••• Format Operation •• ••••• • Label-Only Operation Aliocation Operation • • • • • • • Executing the Format Program • Method of Operation. • Program Organization • • • • • • IMKFMT • • • • • • • • • • • • Directory. • • • • • • • • • Data Areas .. • • • • Diagnostic Aids. • ••••••• 63 63 63 63 63 63 65 69 69 70 71 80 41 42 42 CHAPTER 4. DMKDIR--THE DIBECTORY PROGRAM • • • • • 81 Introduction • • • • • • • • • • • • • • 81 Contents v Method of operation. • Program Organization • DMKDIR • Directory. Data Areas Diagnostic Aids. • • .• • 82 88 88 89 91 • 92 CHAPTER 5. THE DASD DUMP RESTORE PROGRAM • • • • 93 Introduction • 93 DUMP • • • • 93 RESTORE. • • • • • • 93 COpy •.•• • • • • • 93 PRINT • • • • • • • • 93 TYPE • .• • • • • 93 Method of OFeration. _ • • ~ _ • • 94 • .102 Program organization • DMKDDR • • • • • • • • • • • • • 102 Directory. • • • • • • • .• 103 .106 Data Areas • • • • • • Cylinder Header Record • .106 Track Header Record. • • • • • • 107 lOB • • • • • • • • 108 Dia~nostic Aids. • • • • _ .110 • • • Ie CHAPTER 6. THE INSTALLATION VERIFICATION PROCEDURE •• Introduction • • • • _ • • • Method of OFeration. • • • • Program Organization • • • • Installation Verification Procedure Routine Structuring • • • • • • • • Installation Verification Procedure Testing Directory. .• • • • • • • Diagnostic Aids. • • • • • • • • • • • • .113 .113 .114 .120 .120 .121 .122 .123 CHAPTER 7. PROCEDURES FOR GENERATING AND UPDATING VM/370 • • • • • • • • • .125 .125 Introduction • • Update Files • • • • • • .125 .125 TXT Files • • • • • • • • .125 Control Files. • • • • .126 System EXEC Procedures • VMFLOAD Service prcgram. .127 .128 DMKLDOOE Service Program • The VMFMAC Macro Library Update Procedure • • • • • .128 Method of Operation. • • • • • • • • • • 129 Program Organization • • • • • • • • 149 Directory • • • • • • • • • • • • • • • 150 Assemble Update Procedure. .151 VMFLOAD Program. • • .153 VMFMAC Procedure • • • • • • • 153 .154 GENERATE Procedure • Diagnositc Aids • • • • • • • • • 155 VMFASM Prccedure • .• • • • 155 DMSUPD Program • • • • • .• • .156 VMFLOAD Program. • • • • .• • • 157 VMFMAC Procedure • • .157 GENERATE Procedure • • • .158 DMKLDOOE (Loader) Program. .161 Loader Wait State Codes •• • • • • • 161 CHAPTER 8. THE VM/370 STARTER SYSTEM •• 163 Introduction • • • • • • 163 Method of Operation • • • • • • • • • • • 164 vi IBM VM/370 Service Routines Program Logic program Organization IMKSSP • • • • • Directory. • • • • • Diagnostic Aids • • • • • • .166 .166 • .167 .168 CHAPTER 9. THE 3704/3705 SERVICE PROGRAMS. _ • • • • • •••• .169 Introduction • • • • • • • •• 169 Method of Operation. • •• 170 program Organization .181 .• 181 IMKRNI • • IMSARN • •• 181 ItlSARX •• • • • • • • • • 182 IMSGRN • • • • • .183 IMSLKD • • • • • • • • • • • • • • 183 .184 IMSNCP • • • • • • Directory. • • • • • • • • • • • •• 185 1he NCPIUMP Command Processor (DMKRNI) • • • • • • • • • • • • .185 The ASM37C5 Command Processor (DMSARN) .186 1he ISM3705 Command Prccessor (DMSARX) • • • • • • • • • • • • • • .186 1he GEN3705 Command Prccessor (DMSGRII) • • • • • • • • • • • • • • .187 The LKEI Command Processor (DMSLKD) • • 188 1he SAVENCP Command Prccessor .189 (DMSNCP). • • • • • • • •• .190 Data Areas • • • • • • • • • • ..190 File System Control Block • • • • Diagnostic Aids • • • • • • • • • _ .• 191 The NCPIUMP Command Processor (DtlKRNI) • • • • • • • • • • • • .• 191 1he ASM3705 Command Prccessor .192 (DMSARN). • • • • • • • • • • • 1he ASM3705 Command Processor .192 (DMSARX). • • • • • • • • • • • 1he GEN3705 Command Processor (DMSGRN). • • • • • • • • • • • .193 1he LKEI Command Processor (DtlSLKD) •• 193 1he SAVENCP Command Prccessor (DtlSNCF) • • • • • • • • • • • • • • • 194 CHAPTER 1e. THE ZAP SERVICE FReGRAM • • • 195 Introduction • • • • • •• 195 DUMP. • • • • • • • • • • • • • .195 VERIFY. • • • • • .195 REPLACE. • • • • • • • • • • • • • 195 Method of Operation. • • • • • • • • 196 Program Organization • • • • • • • • 206 IMSZAP • • • • • • .206 Directory. • • • • • • • • • • .207 Data Areas • • • • • • • • • 209 Diagnositc Aids. • • • • • • • • • • 210 1he ZAP Command Processor (DMSZAP) •• 210 CHAPTER 11. DMSIFC and IMSREA'-- EREP /Error Record ing Interface.211 Introduction • • • • • • • • • • • • 211 Method of Operation. .212 program Organization. • .215 IMSIFC • • • • • • • .215 IMSREA • • .216 Directory. • • • • • • • • • • .218 Data Areas. • • • • • • • • • .220 IMSREA • • .220 IMSIFC • • • • • • • • • • • • • • 220 Diagnostic Aids. • • • • • • .221 CHAPTER 12. DMKMSS -- THE MS5 COMMUNICATOR • • • Introduction • • • Method of OFeration. • Progra. Organization DMKM 55 .• • • • Directory • • • • Data Areas. • • Diagnostic Aids. .223 • 223 • 224 .227 .227 .228 • 229 .230 CHAPTER 13. DMKIMG and D!K6!T -IEEIMAGE INTERPACE. • .231 Introduction • • • • • .231 Method of Operation • • • .232 Program Organization • .235 IMKIMG • • • • • _ • .235 IMKNMT • • • • • • • • • • ,.235 Directory. • • • • .236 Data Areas • • • • • • • 237 Diagnostic Aids •• .238 INtEl. • • • • • 239 Contents vii Figure 1-1. Figure 1-2. Figure 1-3. Figure 1-4. Figure 1-5. Figure 2-1. Figure 2-2. Figure 2-3. Figure 2-4. Figure 2-5. Figure 2-6. Figure 3-1. Figure 3-2. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 3-3. 3-4. 3-5. 3-6. 3-7. 3-8. 3-9. 3-10. 3-11. 3-12. 3-13. 3-14. 3-15. Figure 3-16. Figure 3-17. Figure 3-18. Figure 4-1. Figure 4-2. Figure 4-3. Key to Virtual Disk Initialization Method of Operation Diagrams •••••••• ~ •• 5 Virtual Disk Initialization Program Label Directory ••• ~.11 IBCDASDI Track Zero ••••••••• 12 unit Control Block •••• '•••••• 13 IBCDASDI Messages ••••••••••• 14 Key to Interactive Problem Control System Method of Operation Diagrams •••••••••• 20 Interactive Problem Control System (IPCS) Label Directory •••••••••• ~ •• _ ••••• 48 VMFDUMP Shared Constant Area •••••••••••••••••••••••• S4 VMFDUMP and PROB Internal Data Area_ ••••••••••••••••• ~57 Symptom Su.mary Control Record Format.,••• ,••••• ,•••••• 58 Interactive Problem Control System Messages ••••••••••••• 60 Key to the Format/Allocate Program Method of Operation Diagrams •••••••••••••••••••• 65 The Format/Allocate Program Label Directory •••••• ~ •••••• 70 Record 0 Format ••••• ~ ••••••• 71 Record 1 For.at •••••••• ~ •••• 72 Record 2 Format ••••••••••••• 72 Record 3 Format ••••••••••••• 72 Record 4 Format ••••••••••••• 73 Record 5 Format ••••••••••••• 73 Record 6 Format ••••••••••••• 74 Record F3 ••• '•••••••••••••••• 74 Record F4 ••••••••••••• : ••••• 74 Record 4 •••••••••••••••••••• 74 2314/2319 Record Layout ••••• 75 3330 Series Record Layout ••• 76 2305 Models 1 and 2 Record Layout •••••••••••••••••••••• 77 3340 Record Layout •••••••••• 78 3350 Record Layout •••••••••• 79 The Format/Allocate Program Messages •••••••••••••••••••• 80 Key to the Directory Program Method of Operation Diagrams •••••••••••••••••••• 82 The Directory Program Label Directory ••••••• _~ ••• ~ •••••• 89 The Directory Program Messages •••••••• __ •••••••••• 92 Figure 5-6. The DASD Du.p Restore program Messages ••••••••••• 110 Figure 6-1. Key to the Installation Verification procedure Method of Operation Diagrams ••••••••••••••••••• 114 Structure of Installation Verification procedure Routines ••••••••••••••••••• 120 Installation Verification Procedure Tests •••••••••••• 121 Installation Verification Procedure Label Directory, •• 122 The Installation Verification procedure Messages ••••••••••••••••••• 123 Figure 6-2. Figure 6-3. Figure 6-4. Figure 6-5. Figure 7-1. Key to the Procedures for Generating and Updating VM/370 Method of Cperation Diagra.s ••••••••••••••••••• 130 Figure 7-2. GENERATE Introductory Message •••••••••••••••••••• 146 Figure 7-3. Label Directory for Assemtler Update Procedure.151 Figure 7-4. The VMFLOAD program Label Directory ••••••••••• _ •••••• 153 Figure 7-5. The VMFMAC Erocedure Label Directory •••••••••••••••••• 153 Figure 7-6. The GENERATE procedure Label Directory •••••••••••• 154 Figure 7-7. VMFASM Messages •••••••••••• 155 Figure 7-8. DMSUPD Messages •••••••••••• 156 Figure 7-9. VMFLOAD Messages ••••••••••• 157 Figure 7-10. VMFMAC Messages •••••••••••• 157 Figure 7-11. GENERATE Messages •••••••••• 158 Figure 8-1. Figure 8-2. Figure 9-1. Figure 9-2. Figure 9-3. Figure 9-4. Figure 9-5. Figure 5-1. Figure 5-2. Figure 5-3,. Figure 5-4. Figure 5-5. viii Key to the DASD Dump Restore Program Method of Operation Diagrams ••••••• ~._ •••• __ •••• 94 The DASD Dump Restore Program Label Directory •••• 103 Cylinder Header Record ••••• 106 Track Header Record •••••••• 107 lOB (Input/Output Block) For.at ••••••••••••••••••••• 108 Figure 9- 6. Figure 9-7. IBM VM/370 Service Routines Program Logic The Starter system (DMKSSP) Label Directory •••••••••••• 167 The Starter system (DMKSSP) Messages ••••••••••••••••••• 168 Key to the 3704/3705 Service Programs Method of Cperation Diagrams ••••••••• 170 Module Directory for the 3704/3705 Command Processors ••••••••••••••••• 185 The NCPDUMP Command Processor (tMKRNt) Label Directory •••••••••••••••••• 185 The ASM3705 Command Processor (tMSARJ) Label Directory •••••••••••••••••• 186 The ASM3705 Command Processor (DMSARX) Label Directory •••••••••••.••••• '•• 186 The GEB3705 Command Processor (tMSGRJ) Label Directory •••••••••••••••• ,•• 187 The LKED Co.mand Processor (DMSLKD) Label tirectory ••• 188 Figure 9-8. Figure 9-9 .. Figure 9-10. Figure 9-11. Figure 9-12. Figure 9-13. Figure 9-14. Figure 9-15. The SAVENCP Command Processor (DMSNCP) Label Directory •••••••••••••••••• 189 File SYstem Control Block (FSCB): •••••••••••••••••••• 190 The NCPDUMP Command Processor (DMSRND) Error Messages ••••••••••••••••••• 191 The ASM3705 Command Processor (DMSARN) Error Messages ••••••••••••••••••• 192 The ASM3705 Command Processor (DMSARX) Error Messages ••••• ~ •••••••••••• ~192 The GEN3705 Command Processor (D~SGRN) Error Messages ••••••••••••••••••• 193 The LKED Command Processor (DMSLKD) Error Messages •••••••• '•.•••••••••.• 193 The SAVENCP Command Processor (DMSNCP) Error Messages •••••••••••••••• ~ •• 194 Figure 10-1. Key to the ZAP Program Method of Operation Diagrams ••••••••••••••••••• 196 Figure 10-2. The ZAP Program Label Directory •••••••••••••••••• 207 Figure 10-3. File Status Table Entry •••• 209 Figure 10-4. ZAP Command Frccessor (DMSZAP) Messages •••••••••• 210 Figure 11-1. Key to the EBEF/Error Recording Interface Methcd of Operation Diagrams •••••• 212 Figure 11-2. DMSIFC and tMSREA Label Directory •••••• ~ •••••••• _ •• 218 Figure 11-3. DMSIFC and tl!SREA Messages ••••••••••••••••••• 221 Figure 12-1. Key to the DMK!SSS Method of Operation progra •• ~ •••• ~224 Figure 12-2. Key to the tMK!SS Label Directory •••••••••••• 228 Figure 12-3. DMKMSS Messages •••••••••••• 230 Figure 13-1. Key to IEBI!AGE Interface Method of OFeraticn Program Diagrams ••••••••• _.232 Figure 13-2. DMKIMG and tMKNMT Label Directory •••••••••••••••••• 236 Figure 13-3. PDEBLOK Directcry Entry for· Named System •••• _ •••••• 237 Figure 13-4. DMKIMG and tMKNMT Messages for Named System ••••••••••• 238 contents ix Diagram 1-1. Diagram 1-2. Diagram 1-3. Diagram Diagram Diagram Diagram Diagram Diagram Overview of Virtual Disk Initialization •••••••••••••• 6 Initializing a Virtual Disk •••••••••••••••••••••••• ? Assigning Alternate Tracks •• 8 2-1. 2-2. 2-3. 2-4. 2-5. 2-6. DUMPSCAN IPCS Command •••••• 21 PRB IPCS Co.mand ••••••••••• 24 PROB IPCS Command •••••••••• 25 STAT IPCS Command •••••••••• 27 VMFDUMP IPCS Command ••••••• 28 Compress the Nucleus Load Map ••••••••••••••••••• 31 Diagram 2-7. Program Check Routine (DMMPRG) .................... 32 Diagram 2-8. Coded Abend Routine (DMMCPA) ••••••••••••••••••• 33 Diagram 2-9. Operator Initiated Routine (DMMINI) ••••••••••••••••••• 34 Diagram 2-10. Print preliminary Information (DMMEDM) ••••••• 35 Diagram 2-11. Format and Print Control Blocks (DMMEDM) •••••••••••• 36 Diagram 2-12. Print Storage (DMMEDM) ••••• 37 Diagram 3-1. Diagram 3-2. Diagram 3-3. Diagra. 4-1. Diagram 4-2. Diagram 4-3. Diagram 4-4. Diagram 4-5. Diagram 5-1 .. Diagram 5- 2. Diagram Diagram Diagram Diagram Diagram 5-3. 5-4. 5-5. 5-6. 5-7. Diagram 6-1. Diagram 6-2. Diagram 6-3. Diagram 6-4. Diagram 6-5. Diagram 7-1. Diagram 7-2. Diagram 7-3. x Overview of the Format/Allocate Program •••• 66 The For.at Function •••••••• 67 The Allocate Function •••••• 68 Overview of the Directory Progra ••••••••••••••••••••• 83 DMKDIR Control Statement Processing ••••••••••••••••• 84 DMKDIR Control Statement Processing ••••••••••••••••• 85 DMKDIR Control Statement processing ••••••••••••••••• 86 Directory Exit ••••••••••••• 87 Diagram 7-4. tiagram 7-5. tiagram 7-6. Diagram Diagram Diagram Diagram Diagram Diagram Diagram 7-7. 7-8. 7-9. 7-10. 7-11. 7-12. 7-13. Diagram 7-14. Diagram 7-15. Diagram 8-1. DMKSSP--The Starter System •••••••••••••••••••• 165 Diagram 9-1. DMSNCP--SAVENCP Command processor ••••••••••••••••• 171 DMSNCP--Building the CCPARM List ••••••••••••••• 172 DMSGRN--Overview of the GEN3705 Co.mand processor ••••••••••••••••• 173 DMSGRN--Generating the 3705 Assembler Files •••••• 174 DMSGRN--Generating the Link/Edit Files ••••••••••• 175 DMSARN--ASM3705 Command Processor (for the NCP/VS Release 2 and 3 Assembler) •••••••••••••••• 176 DMSARX--ASM3705 Command Processor (for the NCP/VS Release 4 Assembler) •••••• 177 DMSLKD--LKED Command Processor ••••••••••••••••• 179 DMKRND--NCFDUMP Command Processor ••••••••••••••••• 180 Diagram 9-2. Diagram 9-3. Diagram 9-4. Diagram 9-5. Diagram 9-6. Diagram 9-7. Diagram 9-8. Diagram 9-9. overview of the DDR program •••••••••••••••••••• 95 DDR Program Control Statement processing ••••••• 96 The Dump Function •••••••••• 97 The Restore Function ••••••• 98 The Copy Function •••••••••• 99 The Print Function •••••••• 100 The Type Function ••••••••• l01 The IVP EXEC Procedure •••• 115 Overview of the IVPX EXEC Procedure •••••••••••• 116 Test Procedure 1•••••••••• 117 Test Procedure 2 •••••••••• 118 Installation Verification Procedure Error Processing •••••••••••••••• 119 Overview of the Assembler Update Prccedure •••••••••• 131 Initialization of the VMFASM Procedure •••••••••• 132 Assembling Portion of the VMFASM Procedure •••••••••• 133 IBM VM/370 Service Routines Program Logic The VMFDATE Program ••••••• 134 Overview of the Update (DMSUPD) Program •••••••••• 135 Operand and Option Checking •••••••••••••••••• 136 Multiple Update Procedure.137 Control Record Processing.138 Single Update Procedure ••• 139 Inserting Updates ••••••••• 140 Exit processing ••••••••••• 141 The Nucleus Load program •• 142 VMFMAC--Macro Library Creation program •••••••••• 143 The GENERATE procedure •••• 144 Generating a CP System •••• 147 Diagram 1 C-1. Overview of the ZAP program ••••••••••••••••••• 197 Diagram 10-2. ZAP Initialization and Control Record processing •••••••••••••••• 198 tiagram 1C-3. DUMP Contrel Record processing •••••••••••••••• 199 Diagram 1C-4. NAME and BASE Centrol Record Processing ••••••••• 200 DiagJam 1C-5. VER/VERIFY or REP and END Control Record processing •••••••••••••••• 201 Diagram 1 C- 6. Opening the File •••••••••• 202 Diagram 1C-7. Finding the CSECT ••••••••• 203 Diagram lC-8. Reading the Text •••••••••• 204 Diagram 10-9. Printing the Dump ••••••••• 205 Diagram 11-1. DMSIFC •••••••••••••••••••• 213 Diagram 11-2. DMSREA •••••••••••••••••••• 214 Diagram 12-1. DMKMSS Initialization ••••• 225 Diagram 12-2. DMKMSS Processing ••••••••• 226 Diagram 13-1. DMKIKG •••••••••••••••••••• 233 Diagram 13-2. DKKN!T •••••••••••••••••••• 234 Contents xi xii IBM VM/370 Service Routines Program Logic Summary of Amendments for SY20-0882-4 V~/370 Release 6 PLC 1 MSS COMMUNICATOR !~!: Program and Documentation A new chapter "DMK5SS--The l!SS that Communicator" has been added describes the program that operates in a virtual machine and interfaces between VM/370 and the MSS Mass Storage Control. IU SCELLA NEOUS The Chapter from their beginning of as a single beginning of contents have been deleted original Fosition at the each Chapter and now appear Table of Contents at the the publication. 3800 TABLE CONSTRUCTION Ne!: Program and Documentation A new chapter "DMKIMG and DMKNMT--IEBIMAGE Interface" has been added that describes the utility prcgra.s that can be used to change the character arrangement tables, graphic modifications, copy modifications and FCBs available on the 3800 Printing Subsystem, construct a directory and load it into a named system. Su •• ary of A.endments xiii Summary of Amendments for SY20-0882-3 as updated by SN25-0440 VM/370 Release 5 PLe 6 3340/3344 ALTERNATE TRACK SUPPORT ~ew: Error Recovery Support Software error recovery procedures in CP now provide for switching to an alternate track when an attempt to do I/O on a defective 3340 or 3344 track results in a track condition check~ Similar recovery procedures have also been added to three stand-alone utilities: the DASD Dump Restore (DDR) Service Program; Directory Service Program (DMKDIR); and the Format/Allocate Service Program (DMKFMT). This will enable these programs to deal with 3340/3344 disks having flagged tracks. The changes to this publication reflect the changes made to the three utility programs. xiv IBM VM/370 Service Routines Program Logic Summary of Amendments for SY20-0882-3 as updated by SN25-0415 VM/370 Release 5 PLC 1 CPEREP SUPPORT PROCESSORS !~!: OF 3031, 3032, AND 3033 Hardware and Program Feature INTERACTIVE VMFDUftP PROBLEM £hang~g: CCNTRCL Program SYSTEM Feature AND and Documentation VM/370 now supports the IBM 3031~ 3032# and 3033 processors which have logout formats different from those of the other System/370 processors,. During the initialization of the MCH/CCH error recording cylinders, frames are read from the Service Record File (SRF) device and written to the cylinder as a new record type. During CPEREP processing, both MeH and CCH records are formatted via the inforaation contained in the frames on the cylinder. The Interactive Problem Centrol System (IPCS) is now the VM/370 problem determination vehicle; therefore, the VMFDUMF (CP Abend DumF) Program chapter has been deleted and reFlaced with IPCS. summary of Amendments xv xvi IBM VM/370 Service Routines Program Logic Introduction This publication explains the program logic for each of the VM/370 service routines. Because the service routines are unrelated, they are discussed separately. One chapter of this publication is dedicated to each service routine (or logical group of service routines). The last section. "Diagnostic Aids," contains a cross-reference list of the messages issued by the service routine. The message number and text are included with a label in the Frogram reasonably close to the point where the .essage is issued. Messages are usually helpful when debugging a program problem. Each chapter is structured similarly. The following sections, where they are applicable, are included in each chapter: Illustrations • • • • • • Introducticn Method of Operation Program Organization Directory Data Areas Diagnostic Aids The first section, the "Introduction," gives a brief description of the service routine. This secticn explains what functions the service routine performs and tells how the program can be executed. The second section, "Method of Operation," describes the program logic for the service routine. Diagrams describe the functions that the service routine performs and the "Notes" section of each diagram relates the function performed to the coding in the program. The labels of the related program sections are identified so that you can easily find the area in the program listing. The "Program Organization" section contains a variety of information, such as entry points, data areas, and register usage. If the service routine is complex, there is a synopsis of the program modules or program routines. The "Directory" lists all the program labels that are mentioned in the method of operation diagrams with a cross reference list indicating the diagram on which they appear. Also, there is a brief description of the function performed at the point in the program corresponding to each label. If the service routine contains more than one module, the correct mcdule is indicated. The "Directory" is intended to help you quickly locate the section of the chapter that describes a particular function. The "Data Areas" section contains detailed descriptions of the control blocks and data areas used by the service routine. There are two types this publication: • • of illustrations in Figures Diagrams FIGURES All general illustraticns, such as data areas and relationship drawings, are called "Figures". Figures may aFpear in any section of this publication. DIAGRAMS The method of operation drawings are called "tiagrams". Diagrams consist of a drawing and, very often, complementary notes. The drawing has three distinct parts: • • • Process Input Output The process block describes the action taken by the service rcutine. The inFut block shows the necessary input, such as data areas and control statements. The output block shows the resulting output, such as initialized disks or copied files. The process block is found in the center of the drawing with the input block on the left and the output blcck cn the right. The Notes section aFpears below the drawing; it consists of a detailed comment, the module name (if the service routine consists of more than one module), the related program label, and a reference to any additional information (where appropriate) • Introducticn 1 Each step in the process block has a nUlbered key (1, 2, 3, ••• ) and each substep has an alphabetic key (1, B, C, ••• ). The related cOllent in the Notes section has the same key. The key that relates the Frocessing step to a note is inside a box, and the key that relates a processing substep to a note is indented so that it is easily visible. where X designates the chapter (one through ten) and nn designates the relative position of the figure or diagral within the chapter. For exalple, Figure 2-3 is the third figure in Chapter 2. Diagral 3-1 Illustration Numbering is the first lIethod of operation diagral in Chapter 3. Figures and diagrams are separately numbered. The format of the numbering system is: This publication is intended to acquaint the systel prograller, and those programmers responsible for updating VM/310 service routines, with the operation of these service routines. Figure x- nn Diagrall X- nn 2 IBM VM/370 Service Routines Program Logic Chapter 1. I BCDASDI-The Virtual Disk Initialization Program Introduction The IBCDASDI program initializes disks. A virtual disk- is a division of a physical DASD that is OS and DOS for user direct access space with VM/370. virtual logical used by storage Por virtual disk initialization, following functions are performed: the Alternate tracks are assigned those previously designated defective. for as 1. 2. A home address and track record are written. 3 .. IPL records are written the virtual disk. 4. A voluae label is written on of the virtual disk. 5. A volume table of contents (VTOC) is constructed and written on the virtual disk. 6. An IPL program is written on track 0 of the virtual disk (if requested). 1. Surface analysis of each track is performed (if requested.; Alternate tracks are automatically assigned, if necessary. on track 0 of 2. The address (CCHHR) of the priaary track is written in the count field of the selected alternate track. The address (CCHHR) of the alternate track is written in the count field of the primary track. The VTOC DSCB is modified to reflect the new status of available tracks. !£te: The IBCDASDI program does not assign alternate tracks or perform surface analysis for 3330 or 3350 disks. INITIILIZATICN 1. Put a copy of the IECDISDI object deck into your virtual card reader, or mount and attach the tape containing the object program. 2. Load the object program from the virtual reader on tape by issuing the CP IPt co.mand for the appropriate virtual device address. When the program is loaded, an ebabled wait state is entered with the address field of the PSi containing the hexadecimal value FFFP. 3. When the program is leaded and waiting for input, signal attention from the virtual console device. The message DEPINE INPUT DEVICE is sent to the virtual console. Enter the following resFonse from the virtual console: the The first available operative alternate track is selected from those indicated in the VTOC. DISK To execute the IBCDASDI Ircgram: track 0 1. THE VIRTUAL The IEC!ASDI program may be loaded as a card deck, or as card images on taFe. Control statements for the program can follow the last card (or last card image) for the program, or can be entered via a separate input device. descriptor Por alternate track assignment, following functions are performed: 3. INVOKING PRCGRIM INPUT=type cuu !!!~.£~: type is the virtual device type of the device containing the Valid control statements. device types are 1402, 1442, 2400, 2501, 2520, 2540, 3410, 3420, and 3505. cuu is the virtual device address ef the device containing the control statelents. Control statements are printed on the message output device. It the end of job, the END OF JOB message is printed en the message output device and the program enters the wait state. Chapter 1. IBCDASDI--The Virtual Disk Initializatien Program 3 The IBCDASDI program initializes virtual disks whenever the CYLBO=nnn operand of the DADEF control statement is specified. The CYLBO=nnn operand specifies the number of cylinders to be initialized for a virtual 4 IBM VM/370 Service Routines Program Logic disk. For information cn running the IECIAStI program and for a description of the necessary control cards see the !~lIQ QEgEgior~2 Gui£~. Method of Operation This section describes the execution of the virtual disk initialization (IBCDASDI) Frogram and shows the processing associated with: • • r~?gram describes the the virtual initialization program. func~10ns 1-1 OI tiagram 1-2 initialized. Initializing virtual disks Assigning alternate tracks. Figure 1-2 shows the relationship of the diagrams. Diagram 1-3 are assigned. shows shows how hew majer disk tracks are alternate tracks Diagram 1-' Overview of Virtual Disk Initialization Diagram 1-2 Initializing a Virtual Disk Diagram 1-3 Assigning Alternate Tracks Figure 1-1. Key to Virtual Disk Initialization Method of Operation Diagrams Chapter 1. IBCD1SDI--The Virtual Disk Initializaticn program 5 Processing Input • ~0 Output CP •••••• IPL the device containing the IBCDASDI module. 2 Analyze the control cards. ,'",,' moch'oe console Control Cards 3 If specified, initialize the disk. (See Diagram 1-2 for details.) I}8 4 If specified, get an alternate track. (See Diagram 1-3 for details.) Initialized virtual disk with alternate tracks assigned. I I ....~ CP Notes 1 The general registers are cleared and Module Label IBCDASDI START the PSWs are initialized. The SEREP flags in the machine check old PSW are set to X'FF' and the program enters a wait state with X'FFFF' in the address field of the PSW. Notes 3 The initialization routine is entered CKINPUl IBCDASDI 4 Control is passed to the GETAL TYZ routine if an alternate track is to be assigned. If volume label checking is requested, the CKVOLLBL routine does the checking. Assignment of alternate tracks starts with the GETALTX routine. CLRSCAN to the control statements scan routine at RDCARD. RDCARD returns a pointer to a field and the length of the field in registers SCANADR and LENGTH, respectively, and an indication of the field type in location SWITCHRD. SWITCHRD is a onebyte switch with the following settings: ~ Meaning X'50' X'40' X'10' Control statement error Bypass First control statement has been read Operator found Keyword found Parameter found x'oa' X'04' X'02' Diagram 1-1. Overview of Virtual Disk Initialization 6 Module IBCDASDI at VOLCHK if the volume label is to be checked and at GEN5E if the volume label is not to be checked. Initialization starts with the INT AL T routine. An attention interrupt identifies the virtual machine console and the input statement is read. The control cards may be read from a 1402, 1442, 2400, 2501, 2520, 2540, 3410, 3420, or 3505 input device. 2 Next, the CLRSCAN routine links Ref IBM VM/370 Service Routines Proqra. Logic Label VOLCHK GEN5E IBCDASDI GETALTYZ Ref Input I I Processing Output I I Initialize tracks. 2 Format and write track O. I 3 If requested, write the IPL program. 4 Notes Module :> Format and write the standard Volume Table of Contents. Label Ref Notes Initialized Virtual Disk Module Label Ref ~ 1 When the defective flag test is suppressed, the home address is written followed by a maximum length record 0 consisting of hexadecimal 55. The track is read and checked. A maximum·length record 0 is written again, this time consisting of hexadecimal 00. The track is again read and checked. If a data check is encountered, this write sequence is repeated ten times. I I I IBCDASDI INTALT I I I If data errors still occur, the track is flagged as defective. An alternate track is assigned when the device is disk. For drum devices, a message is issued indicating the address of the defective track. I 3 The user-supplied IPL initialization program is written. The program is written on cylinder 0 track 0 or 1, or, if the track is defective, on its assigned alternate. IBCDASDI 4 The DSCBs needed for the VTOe are constructed: the DSCB (format 4) and the DADSM DSCB (format 5). For the 3330 series, the alternate track field in the format 4 DSCB is set to zero since no alternate track cylinder is provided. Then, the VTOC is written at the user-specified location and normal end of job is initiated. Control returns to CPo l,seDASDI WRTIPL r- ... I I T \ / T n , . . . rIVIIVIV,,", I WRTVTOC IBC10l1 BAD TRACK cccehhhh If the home address-record 0 area is defective on a 2314 or 2319 disk storage volume, an attempt is made to move the home address-record 0 fields down the track approximately 800 bytes. 2 Track 0 is written. It consists I IBCDASDI CONSTR2 ;of two IPL records (or a dummy !PL record), a standard volume label and up to seven additional labels. l Diagram 1-2. Initializing a Virtual Disk Chapter 1. IBCDASDI--The Virtual Disk Initializaticn Program Processing Input Output If specified, track check is performed. 2 Flag defective track, assign alternate. ) 3 Update the VTOC. 8 VTOC Notes 1 If the track bypass is not selected, Module IBCDASDI a track check is performed on the user-specified track. If the track is good, a message is issued. Label Ref GETALTX GETALT2 IBC1091 TRACK CHK INDICATES TRACK IS GOOD 2 The ASGNALT routine flags the given track as defective and assigns an alternate. If the defective track is a primary track, the primary track is flagged and an alternate track is assigned. If the defective track is an alternate track that was not assigned to a primary track, the alternate track is flagged as defective. However, if the defective track is an alternate track that was assigned to a primary track, the alternate track is flagged and another alternate is assigned to the primary. IBCDASDI Then, the TRKPRNT routine causes a message to be printed stating the address of the defective track and its assigned alternate. Notes Control is then given to location GETAL T to repeat the process for the next user-specified track, or, if none exists, to initiate normal end of job. Control returns to CPo ASGNALT TRKPRNT IBCllOI BAD TRACK cccchhhh IBCllll ALTERNATE cccchhhh 3 Field six of the VTOC is decremented IBCDASDI GETALT4 to indicate that one less alternate track is available, field five is incremented to point to the next available alternate track. Diagram 1-3. Assigning Alternate Tracks 8 IBM VM/370 Service Routines Program Logic Module Label Ref Program Organization IBCD1SDI -- GENERAL INFORMATION VM/370 initializes virtual disks with the OS utility program IBCDASDI. IBCDASDI formats real or virtual VM/370 disk volumes for OS, DOS, and VSAM use. It should not be used to format CP disk areas (for paging, spooling, and so forth), or non-VSAM CMS disk areas. The execution of IBCDASDI is performed from the virtual card reader. Automatically assigns alternates, if necessary. TraCKS that are available for use as alternates are checked first. • For all devices: Writes a track descriptor record (record 0), and erases the remainder of each track. IECtASDI also writes a standard home address. Writes records on track 0 ...,._A'_ IPt 1 __ ;I ",), I ___ \.L. O;::\"V.L. Ui:) IBCDASDI can, in addition to initializing real disks, initialize a minidisk. A ainidisk can be initialized with or without a surface analysis (a test for defective tracks); a surface analysis should be included when a ainidisk is initialized for the first time. Tracks in the last cylinders of a 2314 minidisk are left open for assignment as alternate tracks. No tracks are saved for alternates on 3330, 3340, or 3350 ainidisks. For non-3330 devices: Checks for tracks that were previously designated as defective (flagged) and have had alternates assigned. Automatically assigns alternate tracks for 2314/2319 disk devices but not 33305, 3340, and 3350. N01~: This test must be suppressed when a disk is being initialized with surface analysis for the first tiae. This test .ust not be suppressed when a disk is initialized without surface analysis. • For 2314 and 2319 devices: Perforas a surface track ~/. For all devices except 3330 and 3340, checks for tracks that were previously designated as defective (flagged) and have had alternates assigned. The program automatically assigns alternates (2314/2319 disk devices only). This test must not be suppressed. • For 3340 and 3350 devices, rewrites the home address and track descriptor record on all tracks. Tracks flagged defective are surface analyzed and reclaimed if no errors are detected. The BYPASS and FtAGTEST options are ignored. The PASSES=O option will cause "QUICK DASDI" to be performed. • For all devices: The IBCDASDI program does the following: • au .... • PROGRAM DESCRIPTION This section describes the program logic of the IBCDASDI program. I Writes volume label on track 0 (record 3) and provides space for additional records, if requested. Constructs and writes a volume table of contents (VTOC). Writes IPt program, if requested, on track 0 (for all DASD devices exceFt 2302, 2303, and 2311) or track 1 (for 2302, 2303, and 2311). Writes a standard home address, a track descriptor record (record 0), and erases the remainder of each track. Writes IPt records on track 0 (records 1 and 2). Writes voluae label on track 0 (record 3) and provides space for additional records, if requested. Constructs and writes a voluae table of contents (VTOC). Writes IPt program, if requested, on track 0 (for all tASD devices except 2302, 2303, and 2311) or tr~k 1 (for 2302, 2303, and 2311). analysis of each Chapter 1. IBCDASDI--The Virtual Disk Initializaticn Program 9 !gl~: The 1BCDASD1 program can assign alternate tracks for real 3330/3340/3350 volumes only when they are specified by the GETALT statement. Even with the GETALT statement, the 1BCDASD1 program cannot assign alternate tracks for a 3330/3340/3350 minidisk because no cylinder has been allocated on which to assign alternate tracks. Defective tracks are flagged and alternate tracks are assigned when the 3330/3340/3350 storage volumes are initialized at the factory. An 1BCDASD1 job that initializes a 3330/3340/3350 performs the "Quick DASD1" function, which reads alternate tracks, decrementing the total unit of alternates by one whenever an alternate is found defective or assigned, writes a volume label and VTOC, and writes an 1PLTEXT if requested. No surface analysis is performed and no home address or record o is written on the primary tracks. The BYPASS and FLAGTEST options of the DIDEF statement are ignored. KEYTAB A list of valid key words used on control cards. SY1NTAB A list of valid input devices for control cards. DEVTAB A list of valid devices handled by the IBCD1SDI program. PROCBUFF 1 list of constants specific device types. COBVTIB I tatle used to convert console input to upper case. IOTAE I tatle used to convert hexadecimal to EBCDIC graphic. ALTTT I tatle used to convert EECtIC graphic to hexadecimal. TIB13 A buffer of hexadecimal (X'OO') for disk and surface analysis. TABS! A buffer of hexadecimal E5s (X'ES') for data cell surface analysis. Also used as a buffer of hexadecimal 55s (X' 55') for disk and drum surface analysis. DASD 3340 disk packs are factory-shipped without flagged tracks and alternate track assignments. 1BCDASD1's "Quick DASD1" detects 3340 customer-generated alternate track assignments. The IBCDASD1 program cannot check to see if the 3330, 3340, or 3350 space to be initialized was previously formatted. The absolute loader gives control to the START routine. After the control statements are read and analyzed, control is passed to: VOLCHK GENSE if volume label checking and virtual disk initialization are requested. if virtual disk initialization without volume label checking is requested. GETALTYZ if alternate track is requested. OPRTAB 10 assignment A list of valid command words used on control cards. IBM VM/370 Service Routines Program Logic for zeros drum !Q.Ylin~§ fall§~ None External References ---The-program-enters an enabled wait state shortly after it is loaded. An attention interrupt identifies the virtual machine console and the INPUT control statement is read. This control statement tells IBCDASDI which device to read to get the program control statellents. Exit Conditions ---Successful-completion of DMKMDA results in a wait PSi with E's in the address field. An end of job lIessage is also given on the message device. Error exits result in E's being loaded in the address field of a wait PSi. Error stops, whenever possible, are preceded by a message which defines the error. Machine check interrupts result in the loading of a PSi in the wait state with E2 in the address field. Directory Figure 1-2 is an alphabetical list of some of the labels in the IBCDASDI module. The function performed at the point in the program indicated ty each label described and the asseciated method operation diagram is referenced. is ef ._------, Label Diagram ABCFOUND ASGNALT 1... 1 1-3 CKINPUT 1-1 CJ,RSCAN CONSTR2 DASDI FMTVTOC GENSE 1-1 1-2 1-1 1-2 1-1 GETALTX GETALTYZ 1-3 1-1 GETALT2 1-3 GETALT4 INTALT START TRKPRNT 1-3 1-2 1-1 1-3 VOLCHK WRTIPL WRTVTOC 1-1 1-2 1-2 Description Finds size of alternate track area. Assigns alternate tracks for defective tracks. Reads the control cards. Scans control cards. Writes track O. Performs program initialization and reads control cards. Formats the VTOC. Starts initializing virtual disks when volume label checking is net desired. Gets an alternate track for a defective track. Checks whether volume label checking was requested when assigning alternate tracks. Checks to see if f~agged track is really defective befere assigning alternate. This check is optional. Updates the VTOC after an alternate track assignment. Tests tracks during initialization. Performs program initialization. Issues message identifying defective track and the alternate assigned. Checks volume label when initializing virtual disks. Writes the IPt program on disk. Writes the VTOC. .J Figure 1-2. Virtual Disk Initialization Program Label tirectory Chapter 1. IBCDASDI--The Virtual Disk Initialization Program 11 Data Areas • • This section describes the data areas used by the IBCDASDI Virtual Disk Initialization Program. The data areas are: Track Zero Unit Control Block TRACK ZERO HA RO Rl R2 R3 R4 L--V V V V V V Home Track IPt Record 1Pt Standard Additional Address Description or Dummy Bootstrap Volume Volume Label Label (Optional) Figure 1-3. IBCDASDI Track Zero 12 IBM VM/370 Service Routines Program Logic 1< > > > < > Rl0 V Additional Vclume Label (Cptional) J UNIT CONTROL BLOCK The field UCBREG contains the address of the UCB. All references to fields in the UCB are made using offsets from UCBREG; the o 11 *1 I *2 15 I 4 not used 12 I UCE fields are not late led in the IBCDAStI program. The format of the UCE is: Channel and unit numrer CAW 8 Interrupt PSW 10 Interrupt CSW 1--------------------------------------------------------------18 Sense Information 20 2305, 3330, 3340, 3350 Sense Information ~,!§.E.!.2£~J!!en! ]~! o ~ec 0 1 2 1 2 4 5 8 4 5 8 10 16 18 20 24 32 Field *,--*2 ~~§£E!E!!Q~ unit reference number Not used Channel and unit number CAW protect CAW Interrupt PSW Interrupt CSW Sense Information 2305, 3330, 3340, 3350 Sense Information Figure 1-4. Unit Control Block Chapter i. IBCDASDI--The Virtual Disk Initialization n .... ____ _ r ... v~ ... o.w 13 Diagnostic Aids Figure 1-5 is a list of the messages issued by the Virtual Disk Initialization Prograa and the label of the rcutine the aessage to be issued. that caused r---------------------.--------------------------------------------------------------, Message Code IBC101W Label IBC102A IBC103A IBC104W IBC105A IBC106A ERR235 ERR635 SCANPRT ABSEQERR SVCINT ATTN CKVOLLBL IBC107W IBC108A IBC1081 IBC1091 IBC1101 IBC1111 IBC1l2W IBC113W IBC153A TRKZERO TRACKBAD ALTE2314 GETALT2 TRKPRNT TRKPRNT ALTERR VTOCERR FAILREAD IBC154A Diagram 1-3 1-3 1-3 ftessage Text INVALID CARD COtE. CORRECT ERROR. DEFRESS INTERRUPT KEY. CONTROL STATEMENT ERROR. JOB TERMINATED. STATEMENT SEQUENCE ERROR. JOB TERftIIATED. SVC INTERRUPT. JOB TERftINATED. DEFINE INPUT DEVICE. THE VOLID IN CONTROL STATEMENT DOES NeT AGREE WITH ID IN VOL BABEL WHICH FOLLOWS TRACK ZERO fAD. JOB 7ERMINATED. HA OR RO FIELD fAD. JOB TERftINATED. HA OR RO FIELD fAD. TRACK CHK INDICATES TRACK IS GOOD. BAD TRACK cccchhhh. ALTERNATE cccchhhh. ALT TRACKS DEPLETED. JOB TERMINATED. IMPROPER VTOC EEGIN AtIRESS. JOB TERftINATED. TYPEWRITER FAILEt TO READ LAST ftESSAGE. DEFRESS INTERRUPT KEY. READY READER cuu. DEPRESS INTERRUPT KEY. ERR233 ERR633 IBC155A ERR433 READY PRINTER cuu. tEPRESS INTERRUPT KEY. ERR833 IBC156A ERR333 READY TAPE cuu. tEPRESS IN7ERRUPT KEY. IBC157A ERR133 READY DASD cuu. DEPRESS IN7ERRUPT KEY. ERR232 IBC159A READER CHECK. CORRECT ERROR. DEPRESS INTERRUPT KEY. ERR632 IBC160A ERR432 PRINT CHECK. CORRECT ERROR. DEPRESS IN7ERRUPT KEY. ERR832 IBC163A EOJ END OF JOB. IBC201W COMREJ COMMAND REJECT IBC202A INTVREQ INTERV. REQUIREI IBC203W BUSOUT BUS OUT CHECK IBC204W EQUIPCHK EQUIPMENT CHECK IBC205W DATACHK DATA CHECK IBC206W OVRRUN OVERRUN IBC208W CONVTERR DATA CONV. CHECK IBC209W ENDOFCYL L-__________________________________ END OF __ CYLINDER Figure 1-5. IBCDASDI Messages (Part 1 of 2) 14 IBM VM/370 Service Routines Program Logic Message Code Label IBC210W IBC211i IBC212W IBC214W IBC215W IBC217W IBC218W IBC219W IBC220W IBC221i IBC222W IBC223W IBC224W IBC225W IBC226W IBC227W IBC228W IBC229W IBC230W IBC231W IBC232W IBC234W IBC235W IBC236i IBC237W IBC239W IBC242W IBC243W IBC249W INVLDADR SIOERR LPDATA TROVRRUN FILEPROT NORECMSG ENDTEST NEVER CHANERR INFCERR CHDATA OiRFLOW PROCHK PTNCHK UEERROR iLRERR CHAINCHK SEQERR SEEKeRK RITERROR TAPELP ftI SSMARK BLNKSTOP BLNKSTOP BLNKSTOP BLKTRCK1 INTRKFftT INHIBIT ERROROF Message Text Diagram INVALID ADDRESS NOT AVAILABLE READ DATA CHECK TRACK OVERRUN FILE PROTECTED NO RECORD FOUNt INVALID ERROR WRONG ERROR CHAN. CTRL ERROR INTERFACE ERROR CHAN. DATA CHECK DASD OVERFLOW PROGRAft CHECK PROTECTION CHECK UNIT EXCEPTION INCORRECT LENGTE CHAINING CHECK COMftAND SEQ. ERR SEEK CHECK ERROR WRITE DATA CHECK TAPE -- LOAD POINT MISSING ADR-MARK BLANK TRACK 3 BLANK CYLINDER 3 BLANK STRIPS 3 BLANK TRACKS INVALID TRK FMT WRITE INHIBITED I/O ERROR. JOE TERMINATED. Figure 1-5. IBCDASDI ftessages (Part 2 of 2) Chapter 1. IBCDASDI--Tbe Virtual Disk Initialization Progra. 15 16 IBM VM/370 Service Routines Program Logic Chapter 2. IPCS-The Interactive Problem Control System Introduction The Interactive Problem Control System (IPCS) is a group of CMS commands which, when used in the VM/370 Control Program, track and report both CP and non-CF problems. The IPCS commands are: DUMPSCIN--which allows you to inspect CP dumps that the VMFDUMP command has converted to CMS files. It prompts you for the dump number and filemode, and it lets you enter subcommands to display specific parts of the dump and to locate data and addresses. PRB--which allcws you to update the status, last update function, severity, and PTF (program Temporary Fix) files of the symptom summary record fer a problem. PROB--which allows you to describe a problem that is not a CP abend, or to add information to an existing problem report (whether or not it is a CP abend). It prompts you for all the necessary information about the problem. STAT-- which allows you to produce a list of the status of all problems that you can print or type. You can also request the status of a single problem cr a subset of problems and display it at the terminal. VMFDUMP--which allows you to convert CP dumps into CMS files, create problem reports, and search for duplicate problems. All that is necessary to use the IPCS commands is that the command modules be installed on your VM system and that the modules and IPCS files be available to the appropriate users. IPCS REPORT FILES usually, all IPCS files reside on the A-disk of the user responsible for maintaining yeur VM/370 system. All files associated with a given problem (such as a are of the dump or supplementary files) form: The numher assigned to the preblem by IPCS is indicated by nnnnn and the filetype is ene of the following: DUMP--a CMS file; the VMFDUMP command. cutput of the REPORT--the report generated by the PROB command or the VMFDUMP command. (One exists for each preblem kncwn te the system.) OTHER IPCS FILES Other IPCS files include the NUC MAP file, the STITALL LOCIL file. the summary recerd, and the symptom summary. NUC MAP is the nucleus load map of the CP dump being analyzed. It ·centains every module name and entry peint in the CP nucleus and is required by the VMFDUMF command for successful analysis of the dump. An abtreviated version of the NUC MAP is appended to the VMFDUMP and is used by the DUMPSCAN command. The S7ATALL LCCAL file contains the status of all problems known te the system and is created by the STAT command when entered with the ALL operand. The summary record centains the next available protlem number. It is a single eO-character record that is assigned to a problem when it is reported. The number is then increased by 1 and the summary record is rewritten. The symptom summary contains the symptoms and status of each problem known to the system. There is cne sy.ptom summary control record for each pre~lem that is created and placed in this file by the PROE and VMFDUMP commands. These records are displayed by the STAT cemmand and updated by the PRB command. They are alse used to identify possible duplicate problems as they are added to this file. PRBnnnnn filetype ChaFter 2. IPCS--The Interactive Problem Centrol system 17 CP ABEND DUMPS During system generation a user is designated to receive CP abend dumps. If an atend occurs when SET DUMP AUTO is in effect, and sufficient contiguous space is available in the CP paging area, the abend will aFpear in the designated user's virtual reader. The user can then use the 18 IBM VMj370 Service Routines Program Logic VMFDUMP command to read the spool file, create a CMS file containing the dumF, and print it. After a CP dump is created, any user who has access to the IPCS commands and files can use them to examine the dump, the problem report, and the status of the problem. Eowever, an IPCS file must be on the user's A-disk for him to uFdate it. Method of Operation This section describes Interactive problem Control System (IPCSj. Diagrams describe the five IPCS functions. Figure 2-1 shows the relationship of these diagrams. Diagram 2-1 shows how the DUMPSCAN command and its subcommands enable the user to interactively examine a CMS dump file created by VM/370. Diagram 2-2 shows how the PRE updates the status of problems symptom summary file. command in the Diagram 2-3 shows how the PROB command creates problem reports and adds information to existing problem reports. Diagram 2-4 shows how the STAT command lists the current status of a given problem. Diagram 2-5 shows an overview of how the VMFDUMP command creates a problem report by extracting pertinent data from a VM/370 CP abend dump. Diagram 2-6 shows how the map is compressed. nucleus load Diagram 2-7 shows how a program check is handled. Diagram 2-8 shows how handled .. a ceded abend is Diagram 2-9 shows how initiated dump is handled. Diagram 2-10 shows how information is printed. an operator the preliminary Diagram 2-11 shows how the blocks are formatted and printed. contrel Diagram 2-12 shows how the storage protection keys and dump file are printed. Chapter 2* IPCS--The Interactive prcblem centrel System 19 IPCS I I DUMPSCAN PRB VMFDUMP Diagram 2-1 Diagram 2-2 Diagram 2-5 I I Compress Nucleus Load Map Diagram 2-6 Program Check Routine (DMMPRG) Diagram 2-7 I PROB STAT Diagram 2-3 Diagram 2-4 I I Coded Abend Routine ((DMMCPA) Operator Initiated Routine (DMMINI) Diagram 2-8 Diagram 2-9 I Print Preliminary Information (DMMEDM) Diagram 2-10 I Format and Print Control Blocks (DMMEDM) Diagram 2-11 Print Storage (DMMEDM) Diagram 2-12 Figure 2-1. Key to Interactive Proble. Control System !ethod of Operation Diagram 20 IBM VM/370 Service Routines Program Logic Processing Input Output From CMS Determine which dump is to be examined. 2 Read subcommands. If end of session, return to CMS. DMMDSC7191 DMMLOC7161 DMMDSC7201 U 3 Check input for validity and call su brouti nes. • t D·ISP Iay l~ hexloc% hexloc I Display the dump data around the address 'hexloc' . • Display hexloc nnnn Display nnnn bytes of dump data starting at 'hexloc' . • Scroll [U) ScrollU Display dump data adjacent to the previous display. D Step 2 Notes Module Label 1 Ask if the user needs help. If yes, show DMMDSC GETDUMP ENTER 'HELP' pages. Prompt for the dump file number and mode. Check that the dump exists. If not, issue message: 2 Read subcommands from the terminal. DMMDSC READY TOKEN INCHECK DMMDSC PLlSTSCN • Convert 'hexloc' to hexadecimal and call DMMGET to fetch the dump data into storage. Check for indirect request [%) . Call DMMDIR to format and display the data. DMMFEX TRANADD • Translate the address of 'hexloc' and the byte count nnnn to hexa· decimal. Fetch the data into storage, from at the data, convert to EBCDIC, add addresses, and write the data to the terminal. DMMFED • Increase (decrease if 'U') the iast displayed address by X'130', checking for an end of page condi· tion. Fetch that data into storage. Invoke the format and display routine (DMMDIR). DMW,SCR 3 Scan the parameter list and check Notes Module Label Ref STATERR ERROR IN FSSTATE Truncate the input to 8·byte words and place in parameter list. If end of session ('HX', 'QUIT', or 'END'), return to CMS. Ref I I I I I I subcommand for validity. Pass control to the appropriate subroutine. NOROUND INDIR DIRECT DMMFED TRANADD CTHAN DIRECT SCRNFULL DMMSCR DIRECTIT Diagra. 2-1. DU!PSCAN IPCS Com.and (Part 1 of 3) Chapter 2. IPCS--The Interactive Proble. Centrol syste. 21 Input Processing Output 3 Continued • Trace [12... ] nnn Display the lastest nnn entries in the trace table. • Locate string fromaddr toaddr [increment] Find the string in the dump and display it. • DMKmmee Use the load map to find the module in the dump and display the code. • Rioblok cuu Vioblok cuu Display the channel, control unit and device block. • Vmblok Display a list of logged on users and their status. • [~J REGS C G Display the registers and, optionally, the clocks, timers, PSWs, CSW, and CAW. Step 2 Notes Module Label 3 Continued • Find the trace table from 'traccurr' in the PSA. Convert the count to a byte count. Submit it to DMMFED as display 'hexloc' nnnn. DMMTRC DMMTRC • Fetch the page containing the 'fromaddr' into storage. Compare the string against the data at 'fromaddr'. If not equal, increase the data pointer by the 'increment' parameter and compare again. Continue until either the comparison is equal then display the area containing the equal compare or until the 'toaddr' is reached then issue message: DMMLOC DMMLOC EXECUTOR Ref Notes • Check for AP or UP dump. Select the appropriate set of registers and if the subcommand is not 'C' or 'G', also display the PSW and clocks. GOGOFEX STRING 'string' NOT FOUND MOREMSG • Read the load map from the end of the dump and scan it for this label. Submit the address of the label to DMMFEX to display. DMMMOD DMMMOD • Separate the channel block, control unit block, and device block for the given real or virtual device address. Display the blocks. DMMIOB • Get the system VMBLOK pointer from the PSA. 'Follow the pointer to the chain of VMBLOKs. Print a list of the active VMBLOKs with the userid and selected status bytes. DMMVMB MAPRED DMMFED DMMIOB COMPRCUB UIO DMMFED DMMVMB BALGET MOVEL tiagram 2-1. DUMPSCAN IPCS Command (Part 2 of 3) 22 IBM VM/370 Service Routines Program Logic Module Label DMMREG DMMREG Ref Processing Input 3 Output Continued e Map Add a load map to the dump . • DMK? hexloc Find which module or entry point contains the address 'hexloc'. Step 2 r~N • l Print lOFF CLOSE subcommand J Control the printing of data being displayed . • Step 2 &name & &name subcommand Step 2 Maintain a table of symbolic names and invoke symbolic from the table. Notes 3 Module Label DMMDSC MAPCHECK Continued • Check that the dump does not already have a load map. If it does, issue the message: LOAD MAP ALREADY PRESENT I Ref if it does not, caii DiviiviiviAP to add the load map to the dump. (See Diagram 2·6 for a description of DMMMAP processing.) • Read the load map from the end of the dump. Scan for the address closest to, and before the given address. See if the module is pageable. If it is, find its loaded address at dump time. Display the entry point name and displacement. • Turn PRINT 'ON' or 'OFF' as requested. ? Display the current print status. CLOSE Issue CP DIAGNOSE 'OS'. subcommand Issue subcommand and turn printing 'ON' for subcommand. PRINT Reissue the previous subcommand and print the output. TWOMAPS I DMMMOD READ QREQUEST I I Notes • &name Call a names subcommand from the table. & Display a list of the entries in the table. &name subcommand Add the subcommand into a table of subcommands. Module Label DMMDSC FOUNDAMP Ref SHOWTAB I NOT!NTA." I I PAGEMOD DMMDSC CHECKTWO SHOWPSW CLOSEPRT SUBCOM RESUBCOM Diagram 2-1. DUMPSCAN IPCS Command (Part 3 of 3) Chapter 2. IPCS--The Interactive Problem central System 23 Input Processing Output From CMS o 1 Check user options. REG 1 2 Parameter List Invoke SUMMARY module to execute request. A. Get master record for specified problem number. B. Update and rewrite the record. C. Indicate status update in problem report and inform user of operation completion. o DMMSUM100S DMMSUM200S DMMSUM501S DMMSUM502S CMS Notes Module 1 Check the first two operands (which PRB Label -RETRY may be in any order) as entered, swap them and check again. Issue error messages for invalid input. 2 - - PTFON PTFIS CLOSE DUPOF APAR SEV - - - DSPLY IBM USER NEEDINFO HELP A. Pass input to parameter list pointed to by register 1. The parameter list is: Byte. 1·8 9·16 17·24 25·32 Notes DMMSUM START Contents Not used P R Bnnnnn (problem number) Request type: UPST AT - Update status UPFUNCT - Update last function UPSEV - Update severity UPPTF - Update PTF information UPDUP - Update duplicate information UPAPAR - Update APAR information Update specific informa· tion. Diagram 2-2. PRB IPCS Command 24 IB~ V~/370 Module Label DMMSUM REPORT1 B. All activities cause "LAST" date to be updated with the current date. C. After the status is updated in the symptom summary file, append the date and time and new status to the problem report for history purposes. The SUMMARY module supplies a return code which is checked. If zero, an informational reply is issued indicating successful completion. If the completion code is not zero, an informational reply is issued indicating that the update was unsuccessful. Call SUMMARY module (DMMSUM). The following routines supply information appropriate to the user's request: - Ref Service Routines Program Logic PRB Ref Output Processing Input From CMS Prompt user to determine if this is a new or an existing problem. If a duplicate problem, reflect it in symptom summary. to Step 3 2 For a new problem: • Obtain general report information. • Determine category of failure. • Prompt for specific informa· tion about the faiiure. • Obtain additional user comments in free form text. Label Notes Module 1 Prompt user to find out if this activity DMMPRO EXIST DMMPRO MAINLINE Ref Notes Module Label Ref is to create a new problem report or to update an existing report. 2 A response of 'NO' to this prompt indicates this is a new problem. • The user is prompted for the date and time of the failure, the SCP, CPU type, CPU serial, and other generai information. • The user is prompted for the category of the problem; for example, abend message or loop. I I I I GETFAIL I I • The user is prompted for detailed information, depending on the type of failure. • The user is prompted for additional user comments. TEXTENTR Diagram 2-3. PROB IPCS Command (Part 1 of 2) Chapter 2z IPCS--The Interactive problem Ccntrcl System 25 Input r Output REG 1 ______.., {.L---'~ 3 Write a problem report. Parameter List From Diagram 2-5 4 Look for duplicate problem. 5 For an existing problem: • Obtain the problem number from the user. • Obtain any additional supporting data file information. • Obtain any user free form comments to be added. • Add information to the problem report. Notes Module 3 The date and time stamps are supplied DMMWRT Label INTOUT Ref Notes KEYOUT • Supplementary data file names are added to the problem report file if supplied. SUPPOUT • Textual descriptions of the problem are added to the file if supplied. . TEXTOUT • Data from INTSECT (the internal data area) low storage (time and date) and the initial status fields are moved to the 80-byte output area and FSWRITE adds the data to the symptom summary file. CNTRLOUT • The keyword data is rounded up to a multiple of 80 bytes and the information is added to the symptom summary file. CNTRLOUT • The keyword data for the new problem is compared to that of all existing problems and any exact matches are considered duplicates. The search is terminated when the newly created problem is encountered. Label DMMSEA START • The user is notified (at the terminal) as each duplicate problem is encountered. Up to 10 duplicate problems may be displayed for a search. PUTOUT • If duplicate was found, DMMSUM is called to record the first encountered duplicate problem number in both the symptom summary control record for the problem, and the problem report. ENDRTN 5 A response of 'YES' to the prompt DMMPRO OLDPROB indicates that this is an update to an existing problem: • The user is prompted for the number of the problem, and its existence is verified. • The user is prompted for any additional data file names. GETSDATA • The user is prompted for free form comments to be added to the report. TEXTENTR • The new information, with a date and time stamp is added to the problem report. OLDADD Diagram 2-3. PROB IPCS Command (Part 2 of 2) 26 Module 4 Look for duplicate problem: from CMS low storage. The FSWRITE routine writes the first two records, which contain general information about the problem. The third record, containing a start of keyword area indicator, is written. • Keyword data is passed in variable blocked format. The data is extracted and moved to the output buffer one entry per 80-character record. FSWRITE adds this data and an end of keywords record. Return to CMS IBM VM/370 Service Routines Program Logic Ref input Output Processing Fro~ 1 Determine type of request. 2 STAT ALL with no other operands produces a file of current status for all problems. I r Parameter List ULJ 3 STAT ALL with other operands that request specific categories, produces a display of the requested status. 4 STAT with no operands causes a prompt of the user for probiem number and a display of the specified status. 5 STAT nnnnn is a request for a display of the current status of the specified problem. lJ Notes Module 1 If an operand is not recognized, issue DMMSTA Return to CMS Label 4 STAT: START message: OPERAND NOT RECOGNIZED, STATALL ASSUMED 12 STAT ALL: Set switch (LAL LSW) and erase any old copy of STATALL LOCAL file. Heading line is written followed by all the symptom summary control records and the file is closed. Module Notes Ref Label Ref SPNUM The user is prompted for the number of the problem whose status he wishes. CK2CONT .If he enters 0000, STAT ALL is assumed (see Step 2). 1STALLDC 1 1 STATSRCH 3 STAT ALL oper: If any additional operands are not recognized, issue message: • If he enters a number other than 0000, that number is checked for validity and the symptom summary file is searched for the requested problem. 1 5 1 1 1 STATRDY STAT nnnnn: The problem number nnnnn is checked for validity. • If the number is in the correct format, the symptom summary file is searched for the requested problem. OPERAND oper NOT RECOGNIZED • If operands are valid, the entire symptom summary file is searched and each control record is matched with the specified operands. • The status is displayed when found. • If the problem is not found, issue message: • If a match is found, the control record is presented to the user on the terminal and the search continues. PROBLEM NOT FOUND IN SYMPTOM SUMMARY FILE I Diagra. 2-4. STAT IPCS Co ••and Chapter 2. IPCS--The Interactive Proble. Central Syste. 27 Processing Input I REG 1 ·~H~----_ Parameter List INVALID PARAMETER parm PAGE REFERENCED NOT AVAILABLE Read the next sequential number from the summary record file, and append it to the dump prefix 'PRB'. The dump name will always be PRBnnnnn, where 'nnnnn' is the unique dump number. • Initialize buffers. • Compress nucleus load map (Diagram 2·6). DMMEDM label CHKOPT ERRFND DMMINI DMMEDM PRBDUMNO RDUMP label DO YOU WANT THIS DUMP? If the user responds 'NO', erase the spool file and return to CMS. 3 RDUMP • Initialize buffers EXTPSA (terminating PSA in the dump) and EXTINREC (record 2 from the dump) by issuing FSREADs to the dump file. • Call the nucleus load map module (DMMMAP) to compress the nucleus load map. (See Diagram 2-6.) IBM VM/370 Service Routines Program Logic LOOP Meaning End-of-file, 'DUMP PRBnnnnn CREATED' message is issued Issue message 'NO DUMP FILES EXIST' and return toCMS Issue message 'UNABLE TO READ DUMP FROM READER' and return to CMS • Examine the dump list that resides in DMMEDM as a constant to determine the file name assigned to the dump; move this name to the read 'FSCB' to facilitate subsequent reads to the dump file. NXTWD REREAD If the user responds 'YES', write a record by branching and linking to the WRT Routine, read another record by branching and linking to the READCD routine, and so on until the read returns a non·zero condition code: Diagram 2-5. VMFDUMP IPCS Command (Part 1 of 3) 28 Module To determine if the user wants this dump, issue the message: 2 Save the following from the informa· tion record (2): Write the records to the CMS file that will contain the CP dump file (if requested) by branching and linking to the WTREC routine. Notes 2 Code 1 Record Contents 1 Symbol Table 2 Dump Information record 3-4 Storage Protection Keys at time of dump 5 First page of storage dumped (0) • Abend code Create the item table from the bit map in record 2. Ref VM/370 SYSTEM ABEND xxxx DATE (date) TIME (time) Read the records by branching and linking to the READCPR routine. The spool records contain the following: • First 256 bytes of storage • General and floating·point and control registers • TOO clock and comparator • Address of the terminating prefix storage area ToCMS • Determine proper dump file. Module If there are no options specified, the defaults are MAP, FORMAT and HEX. If an invalid option is specified, issue message: Determine if the user wants this dump. If 'YES', create CMS file containing dump and call the data extraction routines: Dump File Notes CMS File If 'NO', erase spool file and return. EJ [J List ump. B [j List ump Check user options, assign a unique dump number, read first five records of dump, and write the first records to the CMS file. 2 1 Output From eMS DMPEND1 NODMP LOOP DMMINI EXTREAD EXTREND Ref Input From Diagram Output Processing 2-6 3 Determine type of failure: • If program check, call DMMPRG (Diagram 2-7)_ • If coded abend, call DMMCPA (Diagram 2-8). From Diagram 2-7,2-8, or 2-9 • If operator initiated~ cal! DMMINI (Diagram 2-9). SHARCON D 4 Prompt user for additional information: • Write problem report. (Diagram 2-3, Step 3.) • Perform duplicate search. (Diagram 2-3, Step 4.) Diagram 2-3 Notes Module Label 3 DMMINI EXTPSWCK Examine the DMPABEND field of the dump information record (EXTINREC) to determine the failure type: • If the failure type is a program check (PRGxxl, call the program check routine (DMMPRG). See Diagram 2-7. Ref Notes Module • All information necessary to create the problem report has been gathered. Call module DMMWRT to order the data and create the problem report. See Diagram 2-3, Step 4. • Call module DMMSEA to search for duplicate problems. See Diagram 2-3, Step 4. • If the failure type is other than PSA02, call the coded abend routine (DMMCPA). See Diagram 2-8. examine the previously set switches in the SHARECON data area to determine the failure. If it was system detected (CP abend or program check), request the file name and file type of any supporting documentation, and a free form entry description of the problem. Note: The prompting sequence for operator initiated dumps depends on Ref NORMEXIT I I I • If the failure type is PSA02, handle within DMMINI. See Diagram 2-9. 4 Prompt the user for the severity code, Label EXTPSCHK DMMPRM GETSEV PRMTYPSW PRMSUPP PRMLPPER the user's response to the QUery: THE DUMP INFORMATION IS INCONCLUSIVE ENTER LOOP, PERFORMANCE OR OTHER Diagram 2-5. VMFDUMP IPCS Command (Part 2 of 3) Chapter 2. IPCS--The Interactive Protlem system 29 Processing Input \-::\ !; ~ Output Call print routine (DMMEDM) to: Formatted Dump • Print preliminary information (Diagram 2-10). • Format and print control blocks if requested. (Diagram 2-11). • Print storage if requested. (Diagram 2-12). From Diagram 2-10,2-11, or 2-12 6 If specified, erase the dump file_ ToCMS Notes Module 5 Pass control to the print routine (DMMEDM) to print the dump: DMMPRM EXIT • Read record1 (symbol table) and record2 (dump information) from the dump file and print the preliminary information_ See Diagram 2-10_ DMMEDM EDITDUMP 6 Label • If the NOFORM option was omitted, format and print the control blocks_ See Diagram 2-11_ RCHFORM • If the NOHEX option was omitted, print storage_ See Diagram 2-12_ HEX DUMP If the ERASE option was omitted, keep the dump file_ If specified, erase the dump file_ In either case, return control to CMS_ RETN Ref Notes Diagram 2-5. V!FDU!P IPCS Command (Part 3 of 3) 30 IBM VM/310 Service Routines Program Logic Module Label Ref From Diagram 2-5 (Step 2) Input Output Processing r:::l o Extract the module name entry points and initially loaded address for each CP nucleus module. ~ DMMMAP8071 DMMMAP806R DMMMAP808L Output Buffer 2 r-::\ Append the compressed map to the dump file. ~ To Diagram 2-5 (Step 3) Notes Module 1 Attempt a read to NUC MAP A 1. DMMAP Label Ref Notes Module Label Ref READ Note: The nucleus load map is assumed to reside on the IPCS user's A-disk. If NUC MAP A 1 cannot be found, issue message: READERR STATERR UNABLE TO LOCATE NUCMAPA1 I Follow this message with message: ENTER fn ft fn OF THE NUCLEUS LOAD MAP If the load map is successfully located, compare the address of the constant DMKCPEND in the symbol table (dump record 1) to the address of DMKCPEND in the load map. If the addresses do not compare, issue message: I MAPNAME I I I I I I XCK MAPERROR NUCLEUS MAP INVALID 'file id' If the map is valid, read each line of the map into a buffer. If it contains a module or entry point name, move this name and associated address (12 bytesl to 3:l output buffer 2 When end-of-file is reached sort READ WRTOUT the output buffer by ascending entry point address, write the output buffer and append it to the dump file. Diagram 2-6. Compress the Nucleus Load Map Chapter 2. IPCS--The Interactive preble. Centrel system 31 Input From Diagram 2-5 (Step 3) Processing Output - - - - - - - - - - - - - - -... Problem Report Area DUMPINREC I DMPABEND Move abend code to problem report area. Abend Code PSA PROPSW 2 Locate the program check address. 3 Determine failing module and displacement. SHARECON 4 Enter failing module name and displacement in the problem report or enter the calling module name and displacement in the problem report. VMMOD1 VMDISP1 VMCALLER SHARECON 5 [§i] 'I TEXTl Move the specified registers to the prob:em report. TEXT2 Parameter List TEXT3 TEXT4 6 Move failing instruction to the EJ TEXT5 problem report and return. File Notes Module 1 Move the abend code from DMPABEND into the problem report area. DMMPRG 2 Identify the program check address in the PSA Program Old PSW. Label Ref Notes 5 • DMMIDM MODREAL MODPRGCK 6 Move the failing instruction to the MODABND If entered from DMMCPA, the caller's base (R 12) will be in the fixed nucleus or in a pageable. module. problem report and return to the user prompting routine. MODPAGE Using the addresses provided, and the compressed nucleus map, calculate the displacement of the failing or calling module. in the problem report or enter the name of the calling module in the problem report. DMMIDM MODPRGCK MODGOOD Diagram 2-7. Program Check Routine (DMMPRG) 32 DMMRMV • module and displacement. 4 Enter the name of the failing module Label • general registers • BALSAVE registers FREESAVE registers SAVEAREA registers • LOKSAVE registers • SWTSAVE registers 3 Call DMMIDM to identify the failing If entered from DMMPRG, the failing address will be in the fixed nucleus portion of the dump or in a pageable module. Call DMMRMV to move the register set indicated by the pointer passed in register 1. It can be one of the following: Module IBM VM/370 Service Routines Program Logic DMMPRG PTGINSTR PRGMORCD Ref Input Output Processing From Diagram 2-5 (Step 3) ----------------, DUMPINREC SHARECON DMPABEND VMFAIL Move abend code to problem report area. CPALKUP 2 Find abend related subroutine using abend code and look-up table. r-::\ 3 ~ I Variable Data U Move abend related data to problem report area and return. To Diagram 2-5 (Step 4) Notes Module 1 Move the abend code from the DMMCPA Label Ref Notes Label Module Ref DMPABEND field of the dump information record (record 2) into the problem report area. 2 I Compare the prefix of the abend code to the entries in the abend look up table; in this table an entry exists for every know(1 abend and it includes a prefix code followed by a subroutine address. 3 When the appropriate subroutine is CPACNTIN I I CPAGETAD I I I I I located, move the predetermined data to the problem report. Note: The amount and type of data extracted will vary according to the abend, but will generally fall into one of the following categories: • TEXT 1 through TEXT 5 contain the IOBLOK. • TEXT 1 through TEXT 5 contain an information type entry; for example, THE CLOCK IS IN ERROR OR NOT OPERATIONAL. • TEXT 1 through TEXT 5 contain one of the six register save areas (reserved); VMDISP is the displacement within the caller; and VMCALLER is the module calling the failing module. The last category requires calling DMMIDM and DMMRMV. (See Diagram 2-7, Steps 4 and 5.) Call the user prompting routine. DMMINI CPACALL Diagra. 2-8. Coded Abend Routine (D!"CPA, Chapter 2. IPCS--The Interactive Proble. Centrol Systea 33 Output From Processing Diagram 2-5 _ - - - - - - - - - - - - - - . . , (Step 3) Input PSA Current PSA Wait Bit 1 0 \::-\ 2 ~ If the system is in a wait state, move 'WAIT' to the failure type field of the problem report or prompt the user for this information if the reason for the dump cannot be determined (Diagram 2-5, Step 4). VMFAIL Locate the last fou r trace entries, move them to the dump, and return. TEXTl TEXT2 TEXT3 TEXT4 To Diagram 2-5 (Step 4) Notes Module 1 Examine the wait bit in the current DMMINI label Ref Notes EXTLPWT PSW. If on, the system is assumed to be waiting when the operator depressed the SYSTEM RESTART key. Move WAIT to the problem report failure area and re-examine the current PSW to check for the presence of a wait code. If one exists, move it to the problem report also_ If off, consider the dump information inconclusive and prompt the IPCS user for a failure code. (See Diagram 2-5, Step 4.) 2 Locate the last four trace entries for all operator initiated dumps, move them to the problem report area, and return to the user prompting routine (Diagram 2-5, Step 4). EXTTRTAB EXTLEAV Diagram 2-9. Operator Initiated Routine (DMMINI) 3q IBM VM/370 Service Routines Program Logic Module label Ref From Processing Diagram 2-5 _ - - - - - - - - - - - - - - . (Step 5) Input Output Dump Record2 1 Print the heading. 2 Format and print the general registers and the control registers. 3 Format and print the floating point registers. 4 Format and print the TOO clock, clock comparator, and CPU timer. 5 Format and print PSWs. IJ IJ n IJ Dump Record 1 Symbol 6 If 'NOMAP' was omitted, print Table the symbol table and return to caller. (Diagram 2-5, Step 6). To Diagram 2·5 (Step 6) Notes 1 Module Print the heading line which contains the time, date, abend code and cause. DMMEDM 2 Unpack the general registers and the control registers by branching and !inking to the transmit routine, move the data by branching and linking to the MVSB RTN routine and print it by branching and linking to the PRINTA routine. I 3 Print the floating point registers as Label Ref Notes Module Label Ref PREREC PRELlM4 I I I PRELlM8 I I II in Step 2, above. 4 Unpack and print the TOD clock, clock comparator and CPU timer as in Step 2, above. 5 Translate low storage and format and print the PSWs. 6 If NOMAP was omitted, print the symbol table. PRELlM11 Diagram 2-10. Print Preliminary Information (D!MED!) Chapter 2. IPCS--The Interactive proble. System 35 From Diagram 2·5 (Step 5) Input Processing \::\ Output Format and print the real control blocks. ~ 2 Print SFBLOK chains for the printer, punch, and reader. 3 Format and print CORTABLE. o o Formatted Control Blocks 4 Format and print the virtual control blocks, segment table, page table, and swap table, and return to caller (Diagram 2·5, Step 6). To Diagram 2·5 (Step 6) Notes Module Label 1 DMMEDM RCHFORM Format and print the following real control blocks: • RCHBLOKs and IOBLOKs chained to them • RCUBLOKs and IOBLOKs chained to them • RDEVBLOKs • Active IOBLOK • RSPLCTL and SFBLOK for unit record devices • CONT ASK for termination • RECBLOKs for CP owned DASD devices 2 Ref Notes Module 4 Format and print the following virtual RCHPROC RCUINIT RDEVINIT IOPROC VMBLOKs ECBLOKs (if any) VCHBLOKs VCUBLOKs VDEVBLOKs Active IOBLOK (if any) VCONCTL (for console) VSPLCTL and SFBLOK (for unit record devices) Segment, Page and Swap Tables Note: These subroutines branch and link to subroutines to perform commonly used functions. GETPAGE To get a page of storage. TRANINIT To translate control blocks into printable form. BLKPRINT To print real control blocks. IOBPRINT To print IOBLOK. SFPRINT To print SFBLOK. IOERPRINT To print IOERBLOK. Subroutine Function Get the page of storage containing the control block. TRANINIT Unpack control block for printing. BLKPRINT Print control block. SFPRINT Print SF BLOCK. IOERPROC Print IOERBLOCK. SEGPGTB Print segment, page, and swap tables. GETPAGE SPFORM Note: PRTSPL points to the punch spool and RDRSPL points to the reader spool. 3 Unpack and print the CORTABLE. CORTBL Diagram 2-11. Format and Print Control Blocks (DMMEDM) 36 VIRTUALM control blocks: Branch and link to the following routines for commonly used functions: Print the printer, reader, and punch SFBLOK chains. Label IBM VM/370 Service Routines Program Logic VMPRINT VCHINIT VCUINIT VDVINIT TSTSPOOL VMCK Ref Input From Diagram 2-5 (Step 5) Output Processing Read storage protection keys into buffers (lTEM3 and ITEM4). Records 3 and 4 \::\ ~ 2 Read dump file. 3 Construct print lines. Formatted· Storage Dump 4 Print formatted dump, erase it if specified, and return to caller. To Diagram 2-5 (Step 6) Notes 1 DMMEDM reads record 3 and 4 from Module Label DMMEDM HEXDUMP Ref Notes Module Label Ref the dump file into the buffers called item3 and item4. These records contain the storage protection keys. 2 3 Read the remainder of the dump file, a page at a time, and place them in the print buffer. Construct the print iine, piacing the storage keys with the associated hexadecimal storage contents. (Printing of identical lines is su pp ressed.) 4 Print the dump by branching and READPAGE IGErKEY I II II I II I I GETKEY1 linking to the PNTPAGE routine. If ERASE is specified, erase it and issue message: DUMP PRBnnnnn PRINTED AND ERASED I I I I I I I I Diagram 2-12. Print storage (DMMEDM) Chapter 2. IPCS--The Interactive Problem Centrol system "]"1 ...I' Program Organization This section describes the organization of Interactive Proble. Systell (IPCS) • The logic of DMMCPA, DMMDIR, DMMDSC, DMMEDM, DMMFEX, DMMGET, DMMGRC, DMMHEX, DMMINI, DMMINT, DMMOIB, DMMtOC, DMMMOD, DMMPRG, DMMPRM, DMMPRO, DMMRMV, DMMSCR, DMMSEA, DMMSTA, DMMTRC, DMMTRN, DMMVMB, and DMMWRT. prograa Control lIodules DMMFED, DMMIDM, DMMftlP, DMMREG, DMMSUM, DMMCPA -- EXTRACTS INFORMATION PERTINENT TO INDIVIDUAL ABEND CONDITIONS AND ENTERS IT IN A PROBLEM REPORT DMMDIR -- FORMATS AID DISPLAYS HEXADECIMAL Dl1A ON THE TERMINAL SCREE I !!l!!:I Poin:t tMftDIRtl -- Which displays the HELP Fages for D!lHSC. tMMDIR Which forllats a screen froll dump data. !!l!!:I £on.QitioB§ R2: R7: Points to the area to be displayed. The dump address to be displayed DMMCPA The return code Good 4 Print error 8 Unrecoverable error R 15: At entry, the shared constant area contains information previously gathered from the du.p, and the PSA has been read into EXTPSA buffer. o Routin~§ falle.Q tMMINT Which translates hexadeciaal to EBCDIC. The abend code and data related abend are in the proble. report. to that from Called ] I tftftFEX, DMMtOe, DMMMOD, and DMMSCR DMMIDM -- Which finds the calling module and displacement. DMMTRN -- Which translates the data from hexadecimal to EBCDIC. DMMGRC -- Which reads in the requested dump file records. DMMPRM -- Which is the user prompting routine. DMMRMV -- Which lIoves the registers to the problem reFort. None DMMDSC -- PROVIDES 1 METBeD OF EXAMINING THE CMS FORMAT CP DUMPS CREATED BY VMFDUMF IUMPSCAN £~II~.Q ~I DMMINI From CMS when issued. the DUMFSCAN cOliliand DMMCPA8051 815: 38 IBM VM/370 Service Routines Program Logic Return code: o User 'HX', 'QUIT', or 'END' 8 Error processing the dump is !!gut.!1!~§ Call.§Q DKKFEX -- Which writes a full screen from the dump. DKKFED -- Which displays areas of the dump. DKKLOC -- Wqich locates data strings. DKKSCR Which performs the scroll function. DKKREG -- Which displays the registers. DMMVKB Which displays the VMBLOK summary. DMMMOD -- Which finds the modules and resolves the addresses. DMMTRC -- Which displays the trace table entries= CMS via the DUMPSCAN command. DMMDSC700I DMMDSC701R DMMDSC7191 DMMDSC720I DMMDSC721I DMMDSC722I DMKDSC723I ~YPLIN -- Via SVC to write a message to the console. IMMIN1 -- To create a problem report. eMS via the VMFDUMP command. IMMEDM100S IMMEDM2COS tMMEDM400S IMMEDM850I tMMEDM852I tMMEDM853I IMMEDM860I IMMEDM861E IMMEDM863E IMMEDM864I DMMFED -- DISPLAYS 'NNN' EYTES FROM AtDRESS 'BEXLOC' ~1!~£I poi!!~ IMMFED -- Which formats the dump data. IMMFEDLN -- Which writes a line to the terminal. DMMEDM -- EDITS AND PRINTS A CP DUMP En~£I CO!!Qition§ Register 2 points to the parameter list with input truncated to 8-byte words. DKMEDM R15: R1: R13: R14: R15: Address of option list SVC save area address Return address Entry point address If an error is encountered reading the CP du.p file (register 15 is nonzero), refer to the CMS RDBUF code meanings. RDBUF file. ERASE file fro. CLOSIO printer. PRINTR -printer. Via SVC to read in the dump Return code o Good 4 Error in DM!GET accompanied by message DMMFEX702I or DMMFEX7031 8 Unrecoverable error tMMGET -- Which dump. reads in an area tMMDse, DMMFEX, DMMGET, DMMBEX, tMMtOe, DMMMOD, DMMREG of the DMMOIE, Via SVC to delete the CP du.p the P-disk. Via SiC to close out the Via SVC to print a line on the IMMFEt702I ItH'FED7031 Chapter 2. IPCS--The Interactive Proble. Control Syste. 39 R2 X'FF' Page outside range of dump DMMFEX -- DISPLAYS X'130' BYTES OF THE DUMP 8 Read error and message DMKGET100S is issued DMMFEX !QY1!!l~§ Calle,g tMMINT -- Which translates the dump. Register 2 containing words. points to the parameter list input truncated to 8-byte tMMFE£, DMMFEX, DMMIOEi DMMLOC, tMMREG, DMMSCR, DMMTRC, D!MVMB R15: Return code o Good 4 Bad return from DMMGET or message DMMFEX7041 is issued. DMMMOt, DMMGET100S DMMGE'I7081 RQut.!1l~2 ~gll!g DMMDIR -- Which formats data. and displays the DMMGRC -- READS DUMP RECCRD CeNTAINING DATA A'! A GIVEN ADDRESS AND ~ASSES DATA BACK TC CALLER DMMDSC, DMMLOC tMMGRC DMMFEX7041 '1he shared constant area contains an address at GRCPARM which is the requested data address. DMMGET -- FETCHES PORTIONS OF THE DUMP INTO STORAGE Under normal conditions, register 1 points to the data read from the dumF_ Upon error return, control is passed tc tMMPRM to prompt the user fer information l::efore quitting. DMMGET ~1!try ~Qll.Q.!1'!.Q1!2 Register address. 2 contains the required dump tMMPRM encountered tMMGRC) • Register 2 contains in storage address. R15: the requested area's Return code o Good 4 Warning message DMMGET7081 is issued R2 1'00' Page within dump not dumFed 40 Which handles errors (control not returned IBM VM/370 Service Routines Program Logic tMMINI, DMMIDM, DMMCPA, tMMGRC1COS tMMGRC8C9S D~M~RG if to DMMHEX -- TRANSLATES EBCDIC TO HEXADECIMAL AND CHECKS FOR VALIDITY faIled tMMGRC -- Which reads the required record into the work buffer. tMMTRN Which translates the displacement from binary to a Frintable format. DMMHEX R3: R4: !Qutin~2 Contains the count in bytes. Points to the leftmost byte of EBCDIC. tMMCPA, DMMPRG None R5: R15: Points to the leftmost byte of translated data. Return code o Good 4 Message DMMHEX7141 is issued DMMINI -- INITIALIZES FCB DATA EXTRACTICN FROM TH! CMS FILE CONTAIJING THE DUMP tMMINI DMMFED Which displays line by line. the dump data ]~1~I fQ~~!1ion2 Register 1 contains the VMFDUMP Farameter list. DMMDSC, DMMIOB, DMMLOC, DMMMOD Normal exit is to D!MEDM tc CP spool file. DMMHEX7141 DMMIDM -- DETERMINES THE FAILING OR CALLING MODULE NAME AND DISPLACEMENT WITHIN THE MODULE DMMIDM Register 1 Foints to a parameter list. WORD 1 Failing address or base address of module. WORD 2 Register 1 for the address of caller for non-program check condition. process the If the problem number file (SUMMFILE) retrieval results in an errcr, centrel is returned to DM~ED~ and V!FDUMP processing is halted. tMMPRG -- Which extra~ts data fer the CP program check. tMMCPA -- Which extracts data for the CP coded abend. tMMMAP Which compresses the load maF. tMMTRN Which translates the data frcm tinary to zoned. tMMGRC Which reads in the specified dump record. tMMPRM Which prompts the user fer additional protlem informatien. f~!!ed n tMMEDM The failing or calling module and displacement have been resolved and moved to the reFort. If possible, an entry point name is also determined. ChaFter 2. IPCS--The Interactive Problem Control System 41 Which tMMGET storage. tMMBEX Which hexadecimal. DMMINI100S DMMINI400S DMMINI800S DMMINI803S DMMINT -- TRANSLATES PRINTABLE FORMAT THE BINARY DATA TO ~~!leQ fetches data into converts EECDIC to n tMMtSC DMMINT tMMIOB712I tMMIOB7131 R3: R4: Byte count Points to the input data string R5: Points to the translated data DMMLOC LOCATES' STRING' , INCEEMEN'I' 'FEC!!' 'TC' Register 2 points to a para.eter containing the command. list DMMLOC ]!!!il Co!!dition,§ None DMMDSC, DMMDIR, DMMFED, DMMLOC, DMMMOD, DMMREG, DMMTRC, and DMMVMB Return code o String is found and data is displayed. 4 Message DM!LCC715I is issued; no data is displayed. 8 Error in DMSFREE or DMSFEET; no data is displayed. R15: None DMMIOB -- DISPLAYS THE I/O BLOCKS DMMIOB ~nt!:I £~mQi.t!.Q!!§ Register 2 peints to the parameter list with the input truncated to a-byte words. Which fetches DMMGFT storage. tMMINT -- Which translates into EECDIC. tMMBEX -- Which translates hexadecimal. tMMFEX Which writes location to a screen. tMMFED Which writes location to a terminal. ~g!led R15: 42 Return code o Geed 4 A bad return from DMMGET; message DMMIOB7121 or DMMIOS7131 was issued. a Unrecoverable error IBM VM/370 Service Routines Program Logic n DMMtSC data into hexadecimal EECDIC into the found the found Register 2 points to the parameter list with input truncated to 8-byte words. DMMLOC715I DMMLOC716I DMMLOC717I DMMMAP APPENDS COMPRESSED LOAD MAP AT END OF DUMP FILE AND SORTED R15: Return code o Good 4 Message DMMMCD705E, DMMMOD706I. DMMMOD707I DMMMOD718I is issued. 8 Unrecoverable error or DMMMAP £glled ]!it £.Q1!.Qi!i.21!§ ]I IMMDSC Register 1 points to the parameter list. Word 1 of the parameter list points to the 12K output buffer. R15: Return code o Normal cqmpletion (the load map information is appended to the dump). 8 Function not perfor.ed (error encountered). IMMMOt1COI IMMMOI705E IMMMOt706I tMMMOD707I IMMMOt718I DMMPRG PROCESSING HANDLES THE CP fROGRAM CHECK None IMMPRG DMMINI, DMMDSC The shared constant area information about the failure. DMMMAP810S DMMMAP200S DMMMAP801I DMMMAP802I DMMMAP806R DMMMAP807I DMMMAP808I DMMMAP810S Exits to DMMPRM (the subroutine) with the failing text area. contains promFting code in the ]Qy.ti~~§ ~~11.§.Q DMMMOD -- LOCATES MODULES AND ENTRY POINTS IN LOAD MAP AND IDENTIFIES MODULE CONTAINING GIVEN ADDRESS IMMRMV -- Which puts the registers in the output. IMMGRC Which gets the dumr reccrd containing the code. IMMTRN Which translates the failing code. IMMPRM -- Which prompts the user fer any information concerning the Iroblem. DMMMOD Chapter 2. IPCS--The Interactive Problem Centrel system 43 ~~11~.2 ~ DftftINI Return code o Normal completion 4 The user ent ered • HX' execution) a Unrecoverable error R15: (hal t None ~QY!!!!~§ fall~.2 DftftPRft PROftPTS USER FOR SUPPLEMENTARY DATA PILES AND TEXTUAL NOTES ABOUT FAILURE IMMWRT Which writes the problem report to disk. tMMSEA -- Which looks for a duplicate of this problem. DMftPRft Ey CMS when the PROB com.and is entered. The common shared constant area contains informaticn gathered by previous routines. Exit to DMMEDM with the proble. report created, the symptom summary file appended, and the summary record updated. tMMPR01COS tMftPR02COS DMMREG -- DISPLAYS THE REGISTERS IMftREG DMftWRT -- Which writes the problem report to disk. DMMSEA -- Which performs the duplicate problem search. ]!!!~y Conditions Register 2 points to the parameter list with input truncated to a-byte Yords. ]!!! Conditions DftMINI, DMMCPA, DMftPRG R15: Return code o Good 4 Warning a Unrecoverable error DftMPRM200S DMMPRM804I DftMPRO -- CREATES A USER PROMPTING PROBLEft REPORT THROUGH IftMINT Which translates hexadecimal to :EECDIC. tMftFED -- Which displays the dump data line-by-line. tftftGET -- Which fetches the dump pages into storage. DMMPRO ~!!!~~ ]1 tMMDSC ]~try ~~~gi!i£~§ Entry from entered. 44 CftS when PROB command is IBft VM/370 Service Routines Progra. Logie DlH!REG100S Return code o Good q Message Da~SCR709I is issued; tad return from DMMGET. a Unrecoverable error R15: DMMRMV -- PLACES REGISTERS IN THE TEXT AREA OF THE REPORT IMMGET storage. IMMDIR data. DMMRMV Register 1 points to the save area for one of the following savearea sets: BALR FREE General registers savearea fg.!1 ed Which Which fetches formats data and into displays ]1 IMMDSC IMftSCR7C91 The registers are in the text area of the report. DMMSEA -DUPLICATE~ LOCATES ANY FRCBLEMS WHICH OF A NEWLY ENTERED PROBLEM ARE !!.Qut.!1!~§ ~gl.!~g DMMTRN -- Which translates the registers into a printable format. DMMCPA, DMMPRG Register 1 points to a parameter list as follows: WD1 Pointer to the internal data area iD2 Pointer to the keyword string (with length fields) iD3 Pointer to the text area for this problem None DMMSCR -- SCROLLS THE FROM THE LAST ADDRESS tMMSEA DISPLAY UP OR DOWN R15: DMMSCR Return code o No duplicates found 4 Duplicates found a Unrecoverable error encountered !!g'y!!!!~§ ~alle.Q Register 2 points to the para.eter list containing the input truncated to a-byte words. tMM5UM -- Which posts duplicate status of the proble. to the suaaary control record. [MMPRM, DMMPRO Chapter 2. IPCS--The Interactive Preble. centrel Syste. 45 DMMSEA100S DMMSTA -- DISPLAYS THE PROBLEM OR GROUP OF PROBLEMS STATUS OF PROBLEMS A GIVEN OR ALL DMMSTA Register points parameters: Module name PARM 1 (ALL or PNUM) PARM2 (SRCH ARG1) PARM3 (SRCH ARG2) R15: to the Register 1 contains the parameter pOinter as follows: 8 characters not used 8 characters PRBxxxxx, where xxxxx is the problem number e characters The function to be performed (Upcccccc) or FI where cccccc is EG, STAT, PTF, or FUNCT, and UP and PI stand for update and find n characters New data to be put in the appropriate field passed R 15: length length length length 8 8 8 8 Return code o Normal return, function Ferformed 4 Problem number not found in symptom summary 8 Unrecoverable error encountered Return code o Normal successful completion 4 Requested problem not found 8 Unrecoverable error encountered If a FIND was requested, register points to the problem contrel record. None £s!!ed ]1 IMMSEA and PRB EXEC None IMHSUM1COS DMMSUM200S IHHSUM5C1S IMMSUM5C2S CMS via the STAT command. DMMTRC -- DISPLAYS 'NNN' TRACE ENTRIES DMMSTA100S DMMSTA200S DMMSTA6 01 S tMMTRC DMMSUM -- UPDATES OR FINDS SYMPTOM SUMMARY CONTROL RECORD FOR A GIVEN PROBLEM AND PASSES IT TO CALLER SUMMARY 46 IBM VM/370 Service Routines Program Logic In!f1 £2n~!ti2n§ Register 2 points to the parameter list. Register 2 contains the last displayed scroll address. R15: Return code o Good 4 Bad return from DMMGET, message DMMTRC710I is issued. 4 Bad return frem rMMGET, message D!MV~E711I issued. Which fetches the dump pages DMMGET into storaqe. DMMFED ---Which disFlays the specified areas. IMMGET -- Which fetches the dump into storage. tMMINT -- Which translates hexadecimal into EBCDIC. DMMDSC ~g!!ed ]1 IMMDSC DMMTRC7101 DMMTRN -- TRANSLATES PRINTABLE FORMAT BINARY DATA INTO A tMI1VI1E711I DMMWRT -- CREATES A PROELEM BEPORT ON rISK ANt ADtS THIS PROBLE! TQ THE SYMPTCM SUMMARY FILE m.lMTRN The commen constant area TRNPARM and TRNPARM1 have the data length and data address respectively. Register 1 points to the translated data. DMMINI, DMMIDM DMMCPA, DMMPRG, DMMRMV, and IMMWRT Register 1 points to the parameter list as follows: iD1 Points to the internal data (DSECT INTSECT) WD2 Points to the keyword data (variable tlocked format) Wr3 Points to the text description (halfword length prefix) Wt4 Points to the supplementary data (halfword length prefix) None R15: DMMVMB -- DISPLAYS USERIDS, AND STATUS ALL VMBLOK ADDRESSES, Return code o Normal, successful completion 8 Error occurred None DMMVMB tMMPRO (PROB co.mand), and DMMPRM (during VMFDUMP processing) None R15: Return code o Good IMMWRT2COS Chapter 2. IPCS--The Interactive Problem centrol System 47 Directory Figure 2-2 is an alFhabetical list of some of the labels in the IPCS modules. .The function performed at the point in the i Latel I Module ~----------+-- CPACALL DMMCPA CPACNTIN +---------+---------------------------------------------------~ Calls the user prompt routine. DMMCPA 2-8 Scans the abend look up tatle. CPALKUP DMMCPA 2-8 Codes the abend look up table. CHECK TWO DMMDSC 2-1 Turns print on and off. CLOSEPRT DMMDSC 2-1 Issues the DIAGNOSE X'08' sutcommand to close print. ENTER DMMDSC 2-1 prompts for the dump name and file tYFe. FOUNDAMP DMMDSC 2-1 Calls an entry from the 6NAME tatle. GETDUMP DMMDSC 2-1 Prompts the user who has asked for HELP. INCHECK DMMDSC 2-1 Determines if the entry is HELP, QUIT, HX or END. MAPCHECK DMMDSC 2-1 Ensures that the dump has no map. IfOTINTAB DMMDSC 2-1 Adds the entry to the 6NAME table. PLISTSCN DMMDSC 2-1 Examines the parameter to determine wbat subroutine is needed. READIN DMP.lDSC 2-1 Issues an RtiERM to accept subco •• ands. RESUBCOM DMMDSC 2-1 Reissues the previous subcommand. SHOWPRSW DMMDSC 2-1 Displa!s the print status. SHOWTAB DfU!DSC 2-1 Displays a list of table entries. SUBCOM DMMDSC 2-1 Issues the print sutcommand. TOKEN DMMDSC 2-1 Groups the input in an 8-byte parameter list. CHKOPT DMMEDM 2~5 Checks the user options for accuracy. CORTBL DMMEDM 2-11 Edits and prints the storage table. DMPEND1 DMMEDM 2-5 Issues the end-of-file message. EDITDUMP DMMEDM 2-5 Prints preliminary information. ERASE DMMEDM 2-5 Erases the CMS file containing the dump. 2-2. is of Description I Diagram 2-8 Figure 48 I program indicated by eacb label described and the asscciated method operation diagram is referenced. The Interactive problem Control System (IPCS) Latel Directory (Part 1 of 5) IBM VM/370 Service Routines Program Logic ------------~---------.-.----------------------------------------------------------------~ I Diagram I 2-5 Latel Module ERROP DMMEDM ERROR3 DMMEDM 2-5 Issues message DMMEtM861I. GETKEY DMMEDM 2-12 constructs the print line showing the storage keys. GETKEY1 DMMEDM 2-12 Prints a storage line. HEXDUMP DM~EDM 2-5 prints all of storage. IOBPROG DMMEDM 2-11 Formats and prints the IOBLOK. LOADMAP DMMEDM 2-10 Ensures that the symbol requested. LOOP DMMEDM 2-5 creates a NODMP DMMEDM 2-5 Issues message D!MEtM853I. NXTWD DMMEDM 2-5 creates the item talle from the bit map. PRELIMII DMMEDM 2-10 Changes the PSWs. PRELIM4 DMMEDM 2-10 Prints the general and control registers. PRELIMS DMMEDM 2-10 Prints the floating proint registers. PREREC DMMEDM 2-10 Prints the heading. RCHFORM D!MEDM 2-5 Prints the real control blocks. RCHPROC D!MEDM 2-11 Prints RCHELOKs. RCUINIT DMMEDM 2-11 Prints RCUELOKs. RDEVINIT DMMEDM 2- i i Prints the RrEVBLOKs. RDUMP DMMEDM 2-5 Writes the CMS file containing the CP dump. READPAGE DMMEDM 2-12 Reads the dump file storage pages. REREAD DMMEDM 2-5 Reads the operator response. RETN DMMEDM 2-5 Saves the file if ERASE is not specified. SETEDM DMMEDM 2-5 opens the dump file. SFFORM DMMEDM 2-11 prints the SFELOK chains for unit record I/O. Figure 2-2. Description Issues message DKKEtM863I. CM~ t~tle is file. The Interactive Problem Control System (IPCS) Lalel Label Directory (Part 2 of 5) Chapter 2~ IPCS--The Interactive Problem Centrel System 49 Label Module Diagra. -------------------------------------,I Description ~----------~--------~--------~------------------------------------.-----------------~ 2-11 TSTSPOOL DMMEDM prints VSPLCiL and SFBLOKs. VCHINIT DMMEDM 2-11 Formats and prints VCHBLOKs. VCUINIT DMMEDM 2-11 For.ats and prints VCUBLOKs. VINIT DMMEDM 2-11 Formats and prints VDEVBLOKs. VIRTUALM DMMEDM 2-11 prints virtual control blocks. VKCK DMMEDK 2-11 prints segment, page, and swap tables. VKPRINT DMMEDK 2-11 Formats and prints VMBLOKs. CTRAN DMMFED 2-1 Converts the count to hexadecimal. DIRECT DMMFED 2-1 Formats the dump data. SCRNFULL DMMFED 2-1 writes the dump data. TRANADD DMMFED 2-1 Converts the address to hexadecimal. DIRECT DMMFEX 2-1 Calls DMMDIR to display the dump data. INDIR DMMFEX 2-1 Checks for indirect requests. NOROUND DMKFEX 2-1 Calls DMMGET to get the dump data. TRANADD DMMFEX 2-1 Converts the address to hexadecimal. KODREAL DMMIDM 2-7 Determines the address location. EXTLEAV DMIUNI 2-9 Processes the operator initiated dump. EXTLPWT DMMINI 2-9 Examines wait bit in PSi. EXTPSCHK DMMINI 2-9 Processes operator initiated dump. EXTPSWCK DMMINI 2-5 Finds the failure type. EXTREAD DMMINI 2-5 Initializes the buffers for DUMPINEEC. EXTREND DIUUNI 2-5 Calls the map compression routine. EXTSVCHK DMIUNI 2-5 Calls the coded abend routine. EXTTRTAB DMMINI 2-9 Locates the last four trace entries. COKPRCUB DMMIOB 2-1 Gets addresses for the real control blocks. VIO DMMIOB 2-1 Gets the addresses for the virtual control block. DKMLOC DMMLOC 2-1 Fetchs the 'from' page. EXECUTOR DMMLOC 2-1 Compares the string to the dump. GOGOFEX DMMLOC 2-1 Displays the equal compare. KAPERROR DMMMAP 2-6 Issues message DMMMAP808I. Figure 50 2-2. The Interactive Problem Control System (IFCS) Latel Directory (Part 3 of 5) IBM VM/370 Service Routines Program Logic ------------~,------------------.~~-----------------------------------------------------, Label MAPNAME I Module I DM!!!UP Diagram tescription 2-6 Issues message DMMMAP806R. READ D!!MMAP 2-6 Reads in 'NUC MAP A'. READERR D!!MMAP 2-6 Issues message DMMMAP807I. WRTOUT DMMMAP 2-6 Adds the compressed nucleus map to the dump. XCK DMMMAP 2-6 Checks the nucleus load map for validity. DMMMOD DMMMOD 2-1 Reads the load map. MAPRED DMMMOD 2-1 Scans the load map. PAGEMOD DMMMOD 2-1 Checks for a pageable module. QREQUEST DMMMOD 2-1 Scans the load map. READ DMMMOD 2-1 Reads the load map. PRGMORCD DMMPRG 2-7 Calls the user prompt routine. EXIT DM!!PRM 2-5 Returns to the VMFDUKP print routine. UORMEXIT DMMPRM 2-5 Calls the write and search routines. EXIST DMMPRO 2-3 Prompts to determine new or old problem. GETFAIL DMMPRO 2-3 Prompts for specific type of problem. GETSDATA DMMPRO 2-3 Gets supporting data file names. MAINLINE D!!MPRO 2-3 Gathers general protlem data. OLDADD DMMPRO 2-3 Appends information to the problem report. OLDPROB DMMPRO 2-3 Gets the number of the old proble •• SRCHRTN DMMPRO 2-3 Calls DMKSEA for a duplicate searcb. TEXTENTR D!U!PRO 2-3 prompts for free form text information. DMMREG DMMREG 2-1 Checks for IP or UP dump. DIRECTIT DMMSCR 2-1 Formats and displays. DMMSCR DMMSCR 2-1 Calculates new display address. ENDRTN DKMSEI 2-3 Updates symptom summary with duplicate entry. PUTOUT DMMSEI 2-3 Notifies user of duplicate protlem. START m!!!SEl 2-3 Searches for a duplicate protlem. SPUUM DMMSTA 2-4 Prompts for the protlem number. I I .J Figure 2-2. The Interactive Problem Control System (IPCS) Latel Directory (Part 4 of 5) Chapter 2~ IPCS--The Interactive Protlem Centrol System 51 , r-----------~---------~--------~~-----------------------------------------------------, Label Module Diagram STALLOC DMMSTA 2-4 creates the START DMMSTA 2-4 Checks the first operand for validity. STATRDY DMMSTA 2-4 Displays the status of a given problem. STATSRCH DMMSTA 2-4 Searches for the type of status record. REPORT1 DMMSUM 2-2 Appends status change to problem report. START DMMSUM 2-2 Determines the type of request. DMMTRC DMMTRC 2-1 Finds the trace table. BALGET DMMVMB 2-1 Chains through the VMBLOKs. DMMVMB DMMVMB 2-1 Gets the system VMBLOK painter. MOVEL DMMVMB 2-1 prints the VMfLOK list. CNTRLOUT DMMWRT 2-3 Adds PROE control record to the symptom summary. INTOUT DMMWRT 2-3 Writes the first three report records. KEYOUT DMMWRT 2-3 Adds keyword data to the report. SUPPOUT DMMWRT 2-3 Adds supplementary file names to report. TEXTOUT DMMWRT 2-3 Adds free form text to report. -APAR PRB EXEC 2-2 Posts the PARM number. -CLOSE PRB EXEC 2-2 Closes the problem. -DUPOF PRB EXEC 2-2 Posts the problem as a duplicate. -IBM PRB EXEC 2-2 Posts the report to IBM. -MORE PRB EXEC 2-2 Indicates that more information is needed. -PTFIS PRB EXEC 2-2 Posts the PTF number. -PTFON PRB EXEC 2-2 Applies the posted PTF. -RETRY PRB EXEC 2-2 Checks the operand for validity. -SEV PRB EXEC 2-2 Changes the severity. -USER PRB EXEC 2-2 Posts the problem as the user's responsibility. Figure 52 2-2. tescription ~TATALL LOCAL file. The Interactive Problem Control System (IPCS) Label Directcry (Part 5 of 5) IBM VM/370 Service Routines Program Logic I Data Areas This section describes the data areas used by the Interactive Problem Control System I TT'\"'~' \ .1..t'\..;:)1 • The data areas are: SBARECON -- VMFDUMP SHARED CONSTANT AREA , 00 TYPWSW 04 NUM R 08 B I I I * OC DMPFSCB 10 GRCPARM 1 TRNPARM 18 TRNPARM1 1,.. I\,. MODDISP 20 REALEND 24 EDMRET 28 EDMSAVE < > 68 KEY 6C COMPLN 70 Vi'iCOiiPID 74 78 VMCOMP1 7C 80 VMENVL 84 VMENV 88 8C 90 PLCLN 94 VMPLC 98 r 9C Figure 2-3. VMPLC1 I SCPLN YMFDUMP Shared Constant Area (Part 1 of 4) Chapter 2. IPCS--The Interactive problem Centrcl system 53 VMSCPLV AO .J A4 VMSCPLVl A8 AC FAILLN BO VMFAIL B4 r B8 VMFAILl I I BC co C4 C8 CC DO D4 D8 DC EO E4 E8 :BC FO F4 F8 , rI I I I I I I I I I I I I I I I I I I I I I I I I I I I MOtLH VMMOD VMMODl DISPLN VMDISP VMDISPl ENTRYLN VMENTRY VMENTRYl 80 > < I 14C I I 150 I I SUPPORT SUPPLN SUPP1 < < 1AO I I SUPP2 2EO I TEXT < < Figure 2-3. 54 * VMFDUMP Shared Constant Area (Part 2 of 4) IBM VM/370 Service Routines Program Logic I I I I I > > I I > > I i I TEXTA 2E4 I I > > < < I 334 I TEXT1 I 384 I TEXT2 i I > > < < I I > >. < < I I TEXT3 3D4 I > > < / " I I I TEXT4 424 I > > < < I I I TEXTS 474 I < < > > ~,!§E.!~£~'!!!~!!! !ielg !~!~ TYPESW DC EQU WAITSW LOOPSW EQU PRGCKSW EQU CPABSW EQU PROCERR EQU DU!PNU! DS DC DC NU! DMPFSCB DC GRCPARM DC TRNPAR! DC TRNPAR!1 DC !ODDISP DS REALEND DS EDMRET DS EDMSAVE DS ]~! !!~.f 01 01 04 OC 10 14 18 1C 20 24 28 01 01 04 12 16 20 24 28 36 40 113 **** 68 104 KEY 6C 70 79 82 86 90 94 9A 9D A1 A9 AC 108 112 121 130 134 144 148 154 157 161 169 172 COMPLN DC VMCOMPID DC VCOMP1 DC VMENVL DC VMENV DC PLCLN DC va PLC DC VIi PLC1 DS SCPLN DC VM SCPLV DC Vl'l SCPLV1 DS FAILLN DC 00 00 32 X'OO' X'01' X'02' X'04' X'08' X'80' OCL8 C'PRB' C'OOOOO' F'O' F'O' F'O' F' 0' F F F 16F 12!§£!:.!E!ign Dump type switch Wait Loop or performance Program check CP coded abend Data extraction process error Unique problem identification assigned Problem number prefix Problem number Address of dump read FSCB GETREC parameter list address Translate routine PAR!2 (data length) Translate routine PARK' (address; Displacement of failure in module Highest address of fixed storage Return address in D!!ED! Save area for t!!lED! THE PROBLE! REPORT KEYWORD AREA FOLLOWS Figure 2-3. DC AL2(VKKEYSKEY),X'OOOO' X'00160000' C'VKCOMPID=' C' 5749DKKOO' X'OOOEOOOO' C'V!ENVIR=CP' X'OOODOOOO' C'V!lPLC=' CL3 X'OOOFOOOO' C'V!lSCPLV=' CL3 X'00190000' V!FDUMP Shared Constant Area **** Set initial length Length of component id keyword Component id keyword VK/370 component id Length of environment key Environment keyword Length of PLC keyword PLC keyword PLC number Length of SCP keyword area SCP keyword SCP number Length of failure keyword area (Part 3 of 4) Chapter 2. IPCS--The Interactive Problem Centrel System 55 EO 176 EA 1S6 V"F1IL DC V"F1ILLP EQU C'VMF1ILURE=' *+4 V"FAILOT EQU V"F1IL1 DS V"KEYS EQU *+5 CL11 * Failure keyword End of VMF1IL if loop or perfor.ance failure End of VMFAIL if other failure Failure type Length of base keys **** OTHER KEYWORDS WHICH M1Y OR ftAY NOT EE USlD FOLLOW**** C5 C9 D2 DS DC E3 E7 EB F3 FB 14C 150 197 201 210 216 220 227 231 235 243 251 332 336 MODLN VftMOD VftMOD 1 DISPLN VMDISP VMDISP1 ENTRYLN V!!ENTRY VftENTRY1 152 1A2 X'00130000' C'V!!MODULE=' CL6 X' 00 OF 0000 ' C'VMDISP=' CL4 X'00140000' C'YMENTRY=' CLS SOC' , SUPPORT SUPPLN DC DC DS DC DC DS DC DC DS DC DS DC 33S SUPP1 DC SOC' , 41S SUPP2 DC 320C' , F X'0050' Length of .odule na.e ftodule na.e keyword Failing module nalle Displace.ent key area length Displacement keyword Disp1acellent Entry point key area length Entry point keyword Entry point address Padded for additional key Supporting data area Supp1e.entary data area length initially set Supporting data reserved fer the dump fileid User supporting data area **** THE PROBLE!! REPORT TEXT IREI FOLLOWS: **** 2E2 73S TEXT DC X'01EO' Text area length initially set to 4S **** THE FIRST 4S0 BYTES RESERVED FOR THE !XTRACTION PROGR1! **** 2E4 740 334 S20 384 900 3D4 9S0 424 1060 474 1140 TEXTI TEXT1 TEXT2 TEXT3 TEXT4 TEXT5 DC DC DC DC DC DC SOC' SOC' SOC' SOC' SOC' SOC' , , • , • • Data Data Data Data Data Data extraction extraction extraction extraction extraction extraction text text text text text text **** USER TEXT IREI UP 15 LINES OF SO EYTE ENTRIES **** Figure 2-3. 56 V!!FDUMP Shared Constant lrea (Part 4 of 4) IBM YM/370 Service Routines Program Logic line line line line line line a 1 2 3 4 5 INTSECT -- VMFDUMP AND PROB INTERNAL DATA AREA INTSER INTCPUT 00 04 08 INTSDA INTSUEC INTTIME INTBYPS INTPIC INTED OC 10 INTSEV 14 ..- 18 I INTFILL INTET 1C 20 INTPNUM INTTOOL 24 < 3C 1 I 30 I INTPLC ; > > 1 S8 1 INTEX1 < < 1 I > > 1-------- 7C I INTX2 < < I I > > !!.i.§.Ela.£~n1!! Dec --CO -CO 00 03 09 OA OB 10 11 12 13 13 1B 1C 21 26 3F 42 00 03 09 10 11 16 17 18 19 19 27 28 33 38 63 66 7C 124 sa I INTDUMM < < Hex > aa Figure 2-4. !i~l£ !!~ INTSECT INTCPUT IHTSER IHTSDA INTSUBC INTTIME INTSEV INTBYPS INTPDC INTERRT INTED INTFILL IHTET INTPNUM INTTOOL INTPLC INTDUMM INTI1 INTX2 DSECT DS CL3 DS CL6 DS CL1 DS CL1 DS CLS DS CL1 DS CL1 DS CL1 DS OCL14 DS CLa DS CL1 DS CLS DS CLS DS CL2S DS CL3 DS CL22 DS CL36 DS CL36 CPU type CPU serial support data available switch Sub.itter's code Total time expended Proble. severity Bypass required switch Filler Error date and ti.e Date of error Filler Ti.e of error Syste.-assigned problem nu.ber Tool usage codes PLC level of syste. Filler VMFIILURE (internal use only) VMENVIR (internal use only) VMFDUMP and PROB Internal Data Area Chapter 2. IPCS--Tbe Interactive Proble. Centrol Syste. 57 SYMSECT -- SYMPTOM SUMMARY CONTROL RECORD FORMAT SYftPBUft 00 04 SYMCREAT * 08 OC SYftLACT * 10 14 SYMLFCT * 18 r 1C I SYMSTAT * 20 24 * SYMPTF 28 2C 30 34 38 * SYMPLC 3C * SYMSEV * SYMFAIL * SYMENVIR 40 44 48 4C SYMCCNT Figure 2-5. 58 Symptom Su.mary Control Record Format IBM VM/370 Service Routines Program Logic (Part 1 of 2) 30 38 39 SYMPTFFN DS sYMPTFDV DS sYMPTFFT DS eLa 30 39 47 48 38 27 56 39 2B 2C 43 ORG SYMAPAR1 DS SYMAPARX DS SYMAPAR2 DS SYMPTF CL4 CL1 eta Place for APAR Blank divider AFAR nUliber 34 27 52 ORG SYMCLOSE DS SYMPTF CL17 Closing code if not resolved ORG SYMPTF OCL17 CL7 CL5 CL5 CLl CL3 CLl CL1 CLl CL1l CL1 CL4 CL1 00 05 06 06 OE OF 14 14 15 1D 1E 26 27 27 2F 15 20 25 29 44 39 38 56 21 39 39 46 51 27 2E 33 38 39 56 57 3C 3D 3E 3F 4A 4B 74 75 4P 79 60 61 62 63 Figure 2-5. s!!PNU! Problem number Filler Creation date for this protlem Filler Date of last activity Filler Last activity performed Filler Current status of this problem Filler Filename and filetype of PTF for this problem or PNUM or duplicate problem PTF filename Divider between filename and filetype PTF filetype Ds DS sYMCREAT DS DS sYMLACT DS DS sYMLFCT DS DS SYMSTAT DS DS SYMPTF DS 00 05 SYMDUP sYMDUP1 SYMDUP2 SYMDUPX DS DS DS DS DS SYMPLC DS DS SYMSEV DS DS SYMFAIL DS DS SYMENVIR DS SYMCCNT DS CL5 CLl CL8 CLl CL5 CL1 CL8 CL1 CL8 CL1 OCL17 CLl CL8 Field to flag problem as duplicate 'DUP OF ' Problem number of duplicate Filler Filler PLC level of system Filler Severity of this problem Filler Value of keyword VEFAILURE Filler Value of keyword VMENVIR Number of keyword symptom records following this header Symptom Summary Control Record Format (Part 2 of 2) The following CP and CMS data areaS are used by IPCS: ~!t§ NUCON FSCB CMS low core censtant area File system control bleck CP VMBLOK PSA RI:EVBLOK RCUBLOK RCHBLOK IOBLOK BSCBLOK VDEYBLOK VCUBLOK VCHBLOK I:MPINREC I:MPKYREC I:MBTBREC Virtual machine block Prefix storage area Real device block Real control unit block Real channel block I/O control block Binary synchronous control block Virtual device block Virtual control unit bleck Virtual channel block Dump file information record Dump file key record Dump file symbol table record These data areas are described in the !~LJ1Q ~2!S !E§s§ gnd ~2D!fOI ~1££!§ 1£gi£· Chapter 2. IPCS--The Interactive Problem Centrel System 59 Diagnostic Aids latel and the associated method operation diagram are identified. Figure 2-6 is an alFhabetical list of all the messages issued by IPCS. The nearest cf ~----------.---------~--------~----------------------------------------------------, Message Code Diagram I I Message Text CPAEND 2-8 xxxxxx AfEND CODE NOT RECOGNIZEE EY DATA EXTRACTION DMMDSC7001 GETDUMP 2-1 TYPE HELP OR ENTER DMMDSC701R ENTER 2-1 ENTER DUMP NUMEER AND MODE DMMDSC719I STATERR 2-1 ERROR IN FSSTATE DMMDSC7201 TWOMAPS 2-1 LOAD MAP ALREAtY PRESENT DMMDSC7211 FULLMSG 2-1 &NAME TAELE IS FULL DMMDSC7221 ILLEGAMP 2-1 INVALID ENTRY INTO THE BNAME TAfLE DMMDSC723I NOWRITE 2-1 THE DUMP IS NOT ON THE A-DISK DMMEDM100S PRBQUITR 2-5 ERROR 'nnn' READING FILE 'SUMMARY RECORD A' DMMEDM200S PRBWRTER 2-5 ERROR 'nnn' WRITING FILE 'SUMMARY RECORD A' DMMEDM400S PRBQUITC 2-5 ERROR 'nnn' CLOSING FILE 'SUMMARY RECORD A' DMMEDM8501 LOOP 2-5 UNABLE TO READ DUMP FROM READER DMMEDM852I ERRWRT 2-5 FATAL I/O ERROR WRITING DUMP DMMEDM853I NODMP 2-5 NO DUMP FILES EXIST DMMEDM8601 QUIT 2-5 FATAL I/O ERROR READING DUMP DMMEDM861 E ERROR3 2-5 DUMP FILE FILENAME NOT FOUND DMMEDM863E ERRFND 2-5 INVALID PARAMETER - XXXXXXXX PAGE REFER EMCEE MPT AVAILABLE DMMFED702I CBADIN 2-1 NON-HEX CHARACTER IN COUNT - RETRY DMMFED703I BADIN 2-1 NON-HEX CHARACTER IN ADDRESS - RETRY DMMFEX704 I BADIN 2-1 NON-HEX CHARACTER IN ADDRESS - RETRY DMMGET100S RDERR x ERROR 'nnn' READING FILE 'fileid' DMMGET708I MSGITEND x PAGE 'page' NOT FOUND IN THE DU!P DMMGRC100S RDERROR x ERROR 'nnn' READING FILE 'PRBnnnnn DUMP A1' DMMCPA8051 Figure 60 I I Label I 2-6. Interacti ve Problem Control System Messages IBM VM/370 Service Routines Program Logic (Part 1 of 3) ~ -y.---------,------------------------------------------------------, I I Message Code Label DMMGRC809S MSGITEND DMMHEX7141 BADIN 2-1 NON-HEX CHARACTER IN INPUT - RETRY DMMINI100S EXTERR 2-5 ERROR 'nnn' READING FILE 'PRBnnnnn DUMP A1' DMMINI400S EXTERRC 2-5 ERROR 'nnn' CLOSING FILE 'PRBnnnnn DUMP A1' DMMINI800S WRTMSG 2-5 DATA EXTRACTION FAILURE DMMINI803S ERR202 2-5 ERROR 'nnn' ATTEMPTING LOADMOD FCR VMFDUMP2 DMMIOB7121 WRITERR 2-1 DEVICE 'cuu' NOT FOUND DMMIOB7131 NOUSER 2-1 USER 'userid' VMBLOK NOT FOUND DMMLOC7151 NONHEXST 2-1 NON-HEX CHARACTER IN STRING DMMLOC7161 MOREMSG 2-1 STRING 'string' NOT FOUND DMKLOC7161 BOTOFF 2-1 STRING 'string' NOT FOUND BBFCRE END OF DUMP DMMLOC7171 NOPARM 2-1 INVALID FORM OF LOCATE COMMAND DMMMAP200S WRTERR 2-6 ERROR 'nnn' WRITING FILE 'PRBnnnnn DUMP Al' DMMMAP8011 MAPERROR 2-6 FILE 'NUC MAP' IS NOT VALID FOR THIS rUMP DMMMAP8021 CONTMSG 2-6 PROCEEDING •• DMMMAP806R MAPNAME 2-6 ENTER fn ft fm OF TEE NUCLEUS LOAD MAP DMMMAP8071 STATEBR 2-6 UNABLE TO LOCATE 'fileid' DMMMAP8081 MAPERROR 2-6 NUCLEUS MAP INVALID 'fileid' DMKMAP810S READERR 2-6 ERROR 'nnn' READING FILE 'fileid' DMMMOD1001 RDERR 2-1 ERROR 'nnn' REArING FILE 'fileid' DMMMOD705E EOTAB 2-1 ERROR IN ITEM TAELE DMMMOD7061 MODNF 2-1 'entry name' NOT FOUND IN THE LOAD MAP Figure 2-6. I nteracti v IDiagram I Message Text REQUESTEr ADDRESS NOT IN DUMP Problelll Control System Messages I I (Part 2 of 3) Chapter 2. IPCS--The Interactive Problem Ccntrcl System 61 Label DMMMOD7071 GETREAL DMMMOD7181 LMERR 2-1 THIS DUMP HAS NO LOAD MAP - SEE MAP SUBCOMMABD DMMPRM200S PRBWRTER 2-5 ERROR 'nnn' WRITING FILE 'SUMMARY RECORD A1 ' DftftPRft8041 START 2-5 ERROR IN tlTA EXtRACTION DMMPR0100S SUftERRR2 2-3 ERROR 'nnn' READING FILE ' fileid' DMMPR0200S SUMERRW 2-3 ERROR 'nnn' WRITING FILE 'fileid' DMftREG1001 RDERR 2-1 ERROR 'nnn' READING FILE 'fileid' DftftSCR7091 EYECATCH 2-1 NO VALID SCROLL ADDRESS DftftSEA100S RDERR 2-1 ERROR 'nnn' READIBG FILE 'SYMPTCM SUMMARY Al' Dftl!STA100S RDERR4 2-4 ERROR 'nnn' READING FILE ' fileid' DI!I!STA200S IRTERR 2-4 ERROR 'nnn' WRITING FILE ' fileid' DMMSTA601S CK2COBT 2-4 OPERAND NOT RECOGNIZED, STATALL ASSUMED DMI!SUM100S RDERR 2-2 ERROR 'nnn' READING FILE 'SYI!PTCM SUMI!ARY 11' DMMSUM200S ERRWRT 2-2 ERROR 'nnn' WRITING FILE ' fileid' DI!I!SUM501S PARI!ERR 2-2 INVALID P IRM 'par.' PASSED TO SUI!MARY OPtATE PROGRAM DMMSUM502S RETCOD4 2-2 PROBLEM 'PRBnnnnn' NCT FOUND IB SYMPTOI! SOMMARY DMMTRC7101 CBADIB 2-1 NOB-NUI!ERIC COONT CHARACTER - RETRY DMMVMB7111 NBA 2-1 LOOP IN VMfLOK CBAIB DMMWRT200S FSWRITE 2-3 ERROR 'nnn' WRITING FILE ' fileid' Figure 62 , i Message Code 2-6. I IDiagra. I 2-1 I I Message Text '.odule' 'page' PAG! NOT VALID Interactive Problem Control System Messages IBM VM/370 Service Routines Program Logic (Part 3 of 3) ~ Chapter 3. The Format Service Program Introduction The Format/Allocate service standalone Frcgram which: • • • routine is a Formats all or part of a DASD device Allocates DASD space Creates volume labels for IBM 2314, 2319, 3330, 3340, 3350 series, and 2305 series direct access storage devices. Operands entered from the IPL device and/or a 1052 console centrol the execution of the Format program. The Format program writes 4096-byte (one page) records on all the specified cylinders. The records just written are then read tc verify the disk surface. Any records not Fassing the read-after-write check are counted. When the format operation is complete, a summary of the addresses of the unusable pages is written on the console. The first three records of cylinder 0 contain special sYstem data includinq the volume label. If the format operation includes cylinder 0 any existing volume label is read first and if an OS For.at 4 label is present, the information in the label ccncerning alternate track assignments is carried forward to the new label. Then the new volume label is written on the DASD device. If cylinder 0 is not to label checking is performed. ALLOCATION OPERATION FATAL DISD I/O ERROR and the next • • • • Temporary Permanent Iirectory Temporary space (TE!P) space (PER!) space (DRCT) user space (TDSK) The input parameters provide the information needed to update the allocaticn tatle. When the END allocation statement is processed: • The allocation table is written in the byte allocation map on cylinder 0, track 0, record 4 of the DISD device. • The results of the allocation cperation are displayed at the console. The IISD device must already be formatted before an allocation operation can be performed. be formatted, If unrecoverable DASD errors occur during the formatting operation, the format function is canceled, the message is issued, is read. In a label-only operaticn, a new volume latel is written on cylinder 0, track 0, record 3 of the DISD device. No label checking is done tefore the new label is written. The device must already be formatted before a late 1 oFeration can be performed. In an allocation operaticn, disk space is assigned on the specified device in units of one cylinder. This disk space may be used as: FORMAT OPERATION DMKFMT735E LAEEL-ONLY OPERITICN control statement EXECUTING THE FORMIT FROGRI! The sequence program is: for executing the Format 1. Ready the DISD device. 2. Ready the reader. The reader .ust contain the For.at/Illecate program and .ay also contain control cards fer the prograa. Chapter 3. The Format Service Progra~ 63 through the card reader. The program requests additional input, which can be entered via the reader or console. 3. IPL the reader. 4. If a console is not located at either address 009 or 01F, signal attention from the console so the Format program can establish the address of the console. 8. The program issues messages indicating the start or end of an operation. 5. The prcgram title is printed. 9. 6. When there are no control cards in the reader, the program requests control statements by sending prompting messages to the console. An operation in progress aay be canceled by signaling attention from the console. Execution resumes with the next o~eration. 7. When control cards are in the reader, they are processed. The prompter with messages are displayed the response field updated from the control sta tements already entered 10. The Format/Allocate program cancels an operation if a an unrecoverable DASt I/O error occurs. message A indicating the cause of the error is displayed. 64 IBM VM/370 Service Routines Program Logic Method,of Operation This section describes the execution of the disk format Frograa and shows the processing associated with: • Formatting DASD space. • Allocating DASD space. • Writing a volume label. Figure 3-1 shows the relationship of the diagrams. Iiagram 3-1 describes the major functions of the Format/Allccate program. Diagram 3-2 describes the format function of the Format/Allocate program. Diagram 3-3 describes the allocate function of the Format/Allccate prcgram. Diagram 3-1 Overview of the FormatlAllocate Program Diagram 3-2 The Format Function Diagram 3-3 The Allocate Function Figure 3-1. Key to the For.at/Allocate program Method of Operation Diagrams Chapter 3= The Format Service Program 65 Input Processing o Output Initialize the program. ~=====> 2 Issue starting message. 3 If card input, read control statements from card reader, otherwise issue prompting message so that operator enters control statements on console. At end, exit. ~ I EXIT ::;=:==~:> 4 Request volume label. 5 If format function, format the specified cylinders. (See Diagram 3-2 for details'! 6 If Allocate function, read and 8 Formatted Allocated or Labeled Disk verify the volume label, then perform the allocation specified. (See Diagram 3-3 for details.) 7 If label only operation, write the new CP volume label on cylinder o head 0 record 3. Notes Module 1 DM KFMT sets up registers 15, 11, and DMKFMT Label Ref Notes DMKFMT ENTER DEVICE ADDRESS (ccu): 12 as base registers, gets the IPL device address from the I/O old PSW, and stores it in IPLDEV. Next, DMKFMT locates the console by testing 009 and 01 F. If neither of these devices is available, it enters the wait state until an attention interruption is received from the console. 2 The program title ENTER DEVICE TYPE: DMKFMT If the device address entered is not available, the error message DMKFMT GETCARD DMKFMT730E DEV xxx NOT OPERATIONAL CONSINT is issued and the request for a device is repeated. VALIDATE The message DEVICEAD FORMAT FUNCTION SELECTED ALLOCATE FUNCTION SELECTED appears on the console. Otherwise, the prompter message is reissued. Then, the message 4 The message DMKFMT LAB If the function being performed by the Format/Allocate program is the format operation, then, if cylinder 0 is to be formatted, DMKFMT branches to FMT; otherwise, it lJ~Cl.nchest9_ REGFORM1. DMKFMT LAB 6 The volume label is read and verified DMKFMT LAB DMKFMT LABONLY ENTER DEVICE LABEL: SELECT prompts the operator. If the operator correctly enters FORMAT (F) or ALLOCATE (A), one of the following messages is displayed. 5 by the LBLREC CCW string, then DMKFMT branches to the ALLOCATE routine. 7 The CP volume label is written by the LABWRITE CCW string. Processing continues by reading the next control statement (see Step 3). riagram 3-1. Overview of the Format/Allocate Prograa 66 DEVTYPE The high cylinder address, highest record, and device type are initialized depending on the device type entered. STMSG The prompter messages are issued. If the control statements are entered through the card reader, the prompter messages include the response that was already specified in cards. ENTER FORMAT OR ALLOCATE: DEVICEAC If the device address entered is valid, the device type is requested. is displayed at the console. the reader enters the wait state until an I/O interrupt occurs. The CONSINT routine reads the control statements and the VALIDATE routine checks that they are valid. Label prompts the entering of the device address. VM/370 FORMAT/ALLOCATE PROGRAM VERSION n.n 3 If the switch (CDSW2) contains I'FF', Module IBM VM/370 Service Routines Program Logic Ref Processing rut~ 1 If cylinder 0 is to be formatted, I read existing as Format 4 label, if present. OIL 2 Print format message. I 3 If cylinder 0 is starting cylinder, format and write system records. 4 Format the specified cylinders. Disk 5 If an error occurs, record it in the cylinder bit map in Record 0 track 0 of that cylinder. 6 Print end of format message. I V FORMAT STARTED ~ III I II 8 I Disk (formatted) lb~ FORMAT DONE Moduie Notes 1 If cylinder 0 is to be formatted, I any existing as Format 4 label is read to preserve (for IBCDASDI) the CCHH address of the next unassigned alternate track and also the count of the remaining unassigned alternates. This data will be put in the new OS Format 4 label on track O. 2 DMKFMT branches and links to the message writing (WMSG) routine to display FORMAT STARTED DMKFMT. DMKFMT the FORMAT program formats cylinder 0 by setting up the CCWs appropriate to the device type and then branching to the STIO routine to perform the I/O operation. Once cylinder 0 is formatted, system records are written on it. The branch to the CH ECKO routine is set to Nap so that CHECKO is executed only once. The records written on cylinder 0 are Record Description o 1 2 3 4 5 6 F3 F4 Ref Module Notes 4 The appropriate device type CCWs are FMT REGFORM1 set up by the Format program. Page size records are written and verified by the STIO routine. Control returns to the RESUMP routine if no error occurs. The RESUMP routine updates the record numbers and the STIO routine again writes and verifies the record. This loop continues until the last cylinder specified is completely formatted. 5 If an error occurs in the STIO Then It updates the I/O new PSW so that the 10lNT routine executes when an I/O interrupt occurs. 3 If cylinder 0 is the starting cylinder, Label DMKFMT I STORE CHECKO Page bit map IPL record Checkpoint record Vol1 label Allocation bit map Format 4 label Format 5 label Page size filler Filler record for 2314/2319 I II DMKFMT Label Ref STORE STIO I RESUMP DMKFMT 10lNT DMKFMT CLEANUP routine, control is transferred to the 10lNT routine. The error is retried up to 9 tImes before the message DMKFMT736E 10 ERROR xxx CCHH R= SENSE= is displayed. The Page bit map is updated to indicate a bad surface. The errors that cause the Format function to terminate are: seek error error in writing or reading the home address error writing or reading record 0 error setting file mask error in reading count, key, data The message DMKFMT735E FATAL DASD I/O ERROR is displayed and control returns to the GETCARD routine. 6 DMKFMT displays the message FORMAT DONE to indicate that the specified cylinders are formatted, and then summarizes the errors with the message xxx PAGE RECORDS FLAGGED Diagram 3-2. The Format Function Chapter 3. The Format Service Program 67 Input Processing o Output l:JF Display allocate message. > 2 Read allocate control statements. 3 Update Allocation Table. 4 Control Cards At end of allocation, indicate the results. ENTER ALLOCATION DATA FOR VOLUME xxxxxx I I 1111 : I Table AI,location I ALLOCATION RESULTS Notes Module 1 The messages DMKFMT Label ALLOCATE ENTER ALLOCATION DATA FOR VOLUME xxxxxx type cyl cyl .......... If the Allocate control statements are entered via a card reader, the switch (CDSW2) contains X'FF'. Control is transferred to the GETCARD routine which reads the cards. The CONSINT and VALIDATE routines verify the control statements and allocate processing resumes at the label REREAD. There is a branch and link to the RMSG routine to read from the console. The console read is not performed in this case because CDSW2 is X'FF'. DMKFMT is loaded into register 9. The total number of cylinders specified is loaded into register 8. The cylinder byte map is updated for each of the specified cylinders according to the type indicated in the control state· GETCARD CONSINT VALIDATE REREAD ment. TEMP PERM TDSK DRCT X'OO' X'Ol' X'02' X'04' I The map is printed after the END statement is processed. 4 The message DMKFMT FINI ALLOCATION RESULTS DEVICE xxx VOLUME xxXxxx ALLOCATION ENDED REREAD is displayed. RMSG DMKFMT AOKALL INDIC Diagram 3-3. The Allocate Function 68 Ref Label followed by the type corresponding to the allocated cylinders is displayed. Finally, the message If the allocate control statements are entered via the console, the switch (CDSW2) contains X'OO'. The control statements are read from the console by branching and linking to the RMSG routine. 3 The address of the cylinder byte map Module Notes Indication in Control Statement Cylinder Byte Map are displayed. 2 Ref IBM VM/370 Service Routines Program Logic I Program Organization DMKFMT .!!Q.Y1in~2 Calle~ None A standalone program that formats, allocates, and labels all (or part) of 2314, 2319, 3330, 3340, 3350 series, and 2305 series direct access storage devices for VM/370 use. .!!~gist~I RO-1 0: R11: R12: R14: R14: R 15: ]sage Scratch 3rd tase register 2nd tase register Scratch Linkage register 1st rase register Chapter 3. The Por.at Service Prcgraa 69 Directory Figure 3-2 is an alphabetical list of the major labels in the Format/Allocate program. The associated method of operation diagram and a brief description of the Label ALLOCATE ALTTRACK AOKALL CHECKO CLEANUP CONSINT DEVICEAD DEVTYPE DMKFMT ERRECOV FATAL 3-3 3-3 3-2 3-2 3-1 3-3 3-1 3-1 3-1 FINI 3-3 FMT 3-2 FORMAL GETCARD GRAPHID INDIC 3-1 3-3 3-3 IOINT LAB LABELRD LABONLY MCRTN NEIT ORCHK PRINTALL READER06 REGFORM1 3-2 3-1 3-1 3-1 REREAD 3-3 RESUMP RMSG SELECT 3-2 3-3 SENSIT SENSIT2 STIO STMSG STORE VALIDATE WMSG IBIN Figure 3-2. 70 Diagram 3-2 3-2 3-1 3-2 3-1 3-2 3-1 3-3 function performed at the point in program indicated by each label included in the list. Description Performs the allocate function of Performs alternate track recovery Locates the cylinder byte map. Writes system records on cylinder Summarizes the errors encountered Processes console interruFts. the Format program. for 3340/3344. O. while formatting the disk. Displays the prompter message requesting the device address. Displays the prompter message requesting the device type. Initializes the Format program. Performs DASD error recovery. Displays the termination message and reads the next control statement. Displays the cylinders just allocated with the type of allocation. Initializes cylinder 0 for formatting by first reading any existing OS Format 4 label. Displays the starting cylinder or latel message. The main control routine. It reads control statements from the reader or transfers control to the SELECT routine to issue prompter messages. Handles input and output operations for display terminals. Updates the cylinder byte map to reflect the type of allocation for each cylinder. Handles I/O interrupts and retries errors. Displays the prompter message requesting the device label. Reads and verifies the volume latel. Rewrites the volume label (record 3) and nothing else. Processes machine checks. Displays end of cylinder message. Processes program checks. Displays the allocation table on the terminal. Updates the page bit map to indicate a tad surface. Initializes the format function when cylinder 0 is not included. Reads control statements from the console for the allocate function. Updates the record number during the format operation. Reads from the typewriter terminals. Prompts the operator to enter the appropriate ccntrol statement. Gets sense information. Displays the sense information. writes and verifies page size records during format operation. Displays the program title. Sets up CCW string to format cylinder O. Checks control statements entered through a card reader for accuracy. Displays messages on the terminal. Converts hexadecimal numbers to tinary. The Format/Allocate Program Label Directory IBM VM/370 Service Routines Program Logic the are Data Areas This section contains descriptions of the DASD record fermats and the layout of these DASD records fer: • • • • • 2305 Models 1 and 2 2314/2319 devices 3330 series 3340 series 3350 series Record 0 is the standard 8-byte data area, set to 0 except fer cylinder O. On cylinder 0, pages are flagged as follcws~ For 2305, 2314/2319, 3330, 3340, and 3350 in compatil:ility lIode: .-- I I I EO 00 00 00 00 00 cc CO I For 3350 in native mode only: FO 00 00 00 00 00 00 OC Figure 3-3. Record 0 Format Chapter 3. The Format Service Program 71 24 bytes track 0 cylinder 0 1PL record - puts system into wait state if storage device is loaded (via IPt function). f 1 '--- J 100 02 00 00 00 00 00 00 03 00 00 00 20 00 00 CO 00 00 00 00 00 00 00 001 Figure 3-4. Record 1 For.at l Ref~rd 4096 bytes - track 0 cylinder 0 Checkpoint record - this is the Checkpoint prograa load at V8/370 1Pt ti.e to retrieve and save control inforaation for a war. start. Figure 3-5. 1 consists of a 4-byte key and an aO-byte record. Ref~!:.Q Key Record 2 Format Data , I key I I I Key I Label I FO Pointer to VTOC 00 40 00 CP370 40 pointer I to user I Directory I 3 Figure 3-6. 72 I 401 I I .J 0 i 0 4 10 11 16 Record 3 Format IBM VM/370 Service Routines Program Logic 21 41 46 51 52 56 79 Re~~.9 ! 1024 bytes - track 0 cylinder 0 Record 4 is an allocation byte map used to identify cylinder usage. Each byte ccrresponds to one cylinder; the value of the byte indicates the type cf usage for the cylinder. Value 00-- i I I !!.§~g~ tem{:orary per.anent T-disk 01 02 04 00 00 01 00 04 02 00 • • • • FF 0 O. • • • • • 00 ... I Cylinder beyond the last cylinder that can be allocated. This point varies depending on the device~ Figure 3-7. Record 4 Format Ref~~.9 2 44 bytes key - track 0 cylinder 0 96 bytes data area Format 4 DSCB type label - used to be compatible with other systems. I , IL--_ 04-)04 I _ _ _ .J 44-tyte Key r I FORKAT 4 LABEL 96-byte Data Area igure 3-8. Record 5 Format Chapter 3. The Format Service Program 73 44 bytes key - track 0 cylinder 0 96 bytes data area Format 5 DSCB type label 05 05 05 05 00 ~---------------~ 44 Byte Key used to be compatible with other systeas. FORMAT 5 LABEL L 96 Byte Data Area Figure 3-9. Record 6 For.at 4096 bytes - 1 page, track 0 or track 1 (2314/2319 devices only). F3 Record is reserved for IBM use, and is referred to as a filler record. Figure 3-10. 1624 bytes Record F3 track 1 (2314/2319 devices only) • Record F4 is used only on 2314 and 2319 to align Record 4 on the track. Figure 3-11. Record F4 824 bytes - cylinder 0, track 1 (2314/2319 devices only). The first segment of Record 4 is used for paging. Figure 3-12. 74 Record 4 IBM VMj370 Service Routines Program Logic Cylinder 0 Track 0 Record n~ I II I Description Number of Bytes 8 Description All Cylinders except 0 lrE£!s.Q. Record Description Record Description Number of Bytes Record II RO R1 Number of Bytes I I I II RF4 I I I 4 80 II 1024 R6 I Format Keyl I ! II 44 I 4 Label 96 Foem iI Key I ,,! 44 5 " ••••••• Label I n I I 96 R4 I II 824 1624 R2 I I I 2472 RO R2 R3 R4 1624 824 4096 nnn R4 I I R5 I I 8 3272 RO R5 I 3296 R6 R7 DODD 8 800 II 1648 4096 R7 RO I Number of Bytes 4096 4096 8 Record Description Allocation Byte Map I R5 DODD Record Description Key I Label 8 I Number of Bytes Check point II 4096 RO Description R4 RF3 8 I Number of Bytes R3 nnnn nnn I Number of Bytes R2 24 RO Record Figure 3-13. R1 RO R8 I I UUU 8 2448 ~~o·~e. "7','dck:, C ~c 4 ar€: (t:pe~~ec ~or tracks 4 to 9,10 to 14, and 15 to 19. The last record is R32. 4096 2314/2319 Record Layout Chapter 3. The For.at Service Prograa 75 Cylinder 0 Track 0 Record Number Description Number of Bytes RO R1 DD 8 24 R2 R3 Checkpoint R4 , Keyl Label I I R5 Allocation Byte Map 4 80 1024 RF3 :Format 4 Key: I Label 'Format Key,I 5 I Label 44 44 , I 4096 R6 96 : 96 LJ 4096 II I I I All Cx'inders Except 0 ~ Record Number Description Number of Bytes R1 RO R2 R3 DDEJDEJD 8 4096 50 4096 50 4096 • • • ~ Record Description Number of Bytes Figure 3-14. 76 R55 RO R56 R57 DDEJDEJD 8 4096 50 4096 3330 Series Record Layout IBM VM/370 Service Routines program Logic 50 4096 Cylinder 0 Track 0 RO Record number I Description R2 R1 II II II'PL I L-~I I 8 Number of Bytes 24 R3 Checkpoint 1 R5 II I I II! II~:: Kev I 4096 R4 I Labell , 4 I 80 Allocation II I, Keyl I I I 1024 I I Forma I RF3 R6 I I 44 1Formatl I IKevj! 4 Label I 96 I 5 Label I 44 II 1 page I' 96 4096 I II I I All Cylinders Except 0 Track 0 I Record I Description Number of Bytes RO R1 R3 R2 uutJutJu 8 4096 50 4096 50 4096 • • • ITr.ock 1 I Reco,d IDescription I Numb.. of Bytes Figure 3-15. RO R22 R23 R24 UDtJLI[]I~ 8 4096 50 4096 50 4096 2305 Models 1 and 2 Record Layout Chapter 3. The Format Service Program 77 Cylinder 0 Track 0 Record number Description Number of Bytes R2 R1 RO DD Checkpoint Description Number of Bytes RO R1 R2 DDD 8 4096 4096 •• • Track 11 Record Description Number of Bytes Figure 3-16. 78 RO R23 R24 DDD 8 4096 Key I Label I I 4096 3340 Record Layout IBM VM/370 Service Routines Program Logic 4 R6 I Allocation Byte Map Key IFormat I 4 I Label I Key I Format I 5 I Labef _1 I I 4096 All Cylinders Except 0 Track 0 Record R5 R4 I 24 8 R3 80 1024 44 96 44 96 Cylinder 0 Track 0 Record number Description Number of Bytes R0 R1 R2 D ~ L-.J CheckPoint R3 Key I Label I R4 R5 R6 Allocation Byte Map Key IFormat Key Format I 5 I Label I La~el I I I 1 4 80 1024 44 96 44 96 A!! Cylinders Except 0 Track 0 Record Description Number of Bytes R2 R3 R4 4096 4096 4096 DDoDoDL:JU R0 R1 • 4096 •• Track 29 R0 Record I Description Number of Bytes Figure 3-17. R117 R118 II II I II:lI II R120 R119 I II=l I I UULJUOUO LJ 4096 4096 4096 4096 3350 Record Layout Chapter 3. The Format Service program 79 Diagnostic Aids Figure 3-18 is a list of the messages issued by the For.at/Allocate program. The label of the • essage, the label of the routine issuing the .essage and the associated method of operaticn diagram are included in the list • ----------------'-----------------------------------------------------------------, Label of Issuing I I Message Code Message Routine IDiagraml DMKFMT130E WR 1 DEVTYPE 3-1 DftKFMT732E ftCMSG !!CRTN DMKFMT733E DftKFMT134E WRONG TYPERR DftKFftT735E FATLftSG LABELBAD VALIDATE ALLOCATE FATAL DEV xxx N01 OPERATICNAL OB NCT REAIY. MACHINE CHECK RUN SEREP AID SAVE OUTPUT FOR CE VOLII READ IS xxxxxx NOT xxxxxx TYPE OR CYL INVALID 3-2 DftKFMT136E IOERR DMKFftT131E DMKFftT738A DftKFMT139E FATAL DASD 10 ERROR. CSW=xxxxxxxxxxxxxxxx 10 ERROR xxx CCBHR = 0000000000 SENSE = xxxxxxxxxxxx INVALID OPERAND DEV xxx INTERVENTION REQUIRED FLAGGED PRI!!ARY TRACK BAS NC ALTERNATE ASSIGNED, 10 ERRCR FOLLOWS. PACK MOUNTED IS 3340-35, leT 3340-10. MOUNT ANOTHER OB RESPECIFY. PROGRAM CHECK PSW= xxxxxxxxxxxxxxxx 3-2 BAD IPLERROR MSGATRK DEVICEAD SENSIT2 BADINPUT DEVICE AD ALTTRACK DftKF!!T140E MSG35ftB DEVTYPE 3-1 D!!KF!!T756E PC!!SG TITLE PRCHK ERRORMSG ST!!SG 3-1 FORA FMTMSG ALLOCMSG ADDRESS TYPMSG DATAMSG SELECT SELECT SELECT DEVICEAD DEVTYPE ALLOCATE 3-1 3-1 3-1 3-1 3-1 3-3 AL!!SG ALMSG 1 ALLEND ALLOCATE ALLOCATE FINI 3-3 3-3 3-3 STCYL FOR!!ALL ENDCYL PROGFOR RDLAB ENDFOR PAGE RESULTS ftAP LABELCHK NEXT REGFORM LAB CLEANUP CLEANUP FINI PRINTALL LABONLY 3-2 3-1 3-2 3-2 3-3 Message Text VM/370 FORMAT/ALLeCATE PBCGBAM BELEASE n ENTER FORMAT OR ALLOCATE: FOR!AT FUNCTION SELECTED ALLOCATE FUNCTION SELECTED ENTER DEVICE ADDRESS (CCU): ENTER DEVICE TYPE: ENTER ALLOCATION DATA FOR VCLUME xxxxxx TYPE CYL CYL DEVICE xxx VOLUME xxxxxx ALLOCATION ENtED ENtER START CYLINDER (xxx) CR "LAEEL": EN1ER ENt CYLINDER (xxx): FORMAT STARTED ENTER DEVICE LABEL: FORftAT DONE xxx PAGE RECORDS FLAGGED ALLOCATION RESULTS TEMP 000 oeo LAEEL IS New xxxxxx Figure 3-18. The Format/Allocate Program Messages 80 IBM VM/370 Service Routines Program Logic Chapter 4. DMKDIR-The Directory Program Introduction Tbe DMKDIR program builds the VM/370 directory on a volume previously formatted by tbe Fermat/Allocate program, using cylinders that were previously allocated for use as directory space. The new directory can be built se that it does net overlay an existing directory. To do this, allocate Eneugb space fer two directories or allocate s~ace for a new directory each time tbe directory is created. Under the control of the VM/370 system, tbe new directory is dynamically swapped and placed in use provided the directory bas been created without errors, on a volume in the system-owned list, and provided the user class is A, B, or C. The directory program can be standalone or under the control of The CMS DIRECT command invokes directory program under CMS. Chapter 4. t!KDIR--The Directory Progra. run CMS. the 81 Method of Operation This section describes the operation of the VM/370 Directcry Frogram. Figure 4-1 shows the relationship of the Method of Operation diagrams. Diagrams 4-2, 4-3, and 4-4 describe the control statement processing and the resulting action. Diagram 4-5 shows the functions performed before the program terminates. Diagram 4-1 describes the functions of the Directory program. major Diagram 4-1 Overview of the Directory Program Diagram 4-2 Diagram 4-3 Diagram 4-4 Diagram 4-5 DMKDIR Control Statement Processing DMKDIR Control Statement Processing DMKDIR Control Statement Processing Directory Exit Figure 4-1. Key to the Directory Program Method of Operation Diagrams 82 IBM VM/370 Service Routines Program Logic Processing ~ I L parameter List (PLlST) filename filetype filemode options of control statement file Lr Set up base registers and pointers. 2 Set up to read input control statements. 3 Read control statements. If first control statement is not DIRECTORY, issue message and repeat read. Process control statements. (See Diagrams 4-2, 4-3, and 4-4 for details.) DMKDIR762E DIRECTORY CARD MISSING If more statements to process, return to read. 4 If last statement already processed, perform final functions. (See Diagram 4-5 for details.) I •••• ~ I B Directory CMSor\Nalt Module Notes 1 DMKDIR sets up registers 12, 13, and DMKDIR Ref Label DMKDIRCT I is printed: VM/370 USER DIRECTORY CREATION PROGRAM RELEASE n are displayed and control returns to CMS. DMKDIR I If running under CMS, set the P-list containing the filename, filetype and filemode of the file containing the directory control cards. If EDIT is specified, the DIRFLAG is set to X'20. PEFAUL13 ~TOREADD CMS1 I DMKDIR 202 when the Directory program is ,uo uod,,, tho of CMS. Whoo the Directory program runs standalone, the read function is performed either by the GRAPHID routine (if the console is a display device) or by the ST ARTIO routine in all other cases. The READ routine scans the control statement and branches to the appropriate processing routine. After processing each control statement and executing the associated routine, control return~ to READ to process the next control statement. "'''''0' ~SG02A ENTER CARD READER DEVICE ADDRESS AND OPTIONS The program then reads a response from the console. A read is issued to the card reader indicated (if any). If the operator enters a null line in response to the message, the IPL device is used as the input card reader. If the EDIT option is specified, DIRFLAG is set to X'20'. TERM 3 Control statements are read via SVC MSGRET I Ref Label EOJ DIRECTORY NOT UPDATED 9 as base registers and sets up pointers to the first UDEVBLOK and the allocation record buffer. 2 If running standalone, the headp.r line Module Notes 4 When the last statement is read and READ I GRAPHID STARTIO I II EXIT processed, the READ routine branches and links to the EXIT routine. iEDITTEST The STATE macro is issued to see if the control statement file exists. If the file is not found, the messages, DMKDIR763E INVALID FILENAME OR FILE NOT FOUND Diagram 4-1. Overview of the Directory Program Chapter 4. t!KDIR--The Directcry Progras 83 Input Processing D====~> Control Statement Output Identify the control statement and perform the appropriate processing. 2 3 If a USE R control statement, build a UMACBLOK and create the UDIRBLOK. First Record 4 If an OPTION control statement, update the UMACBLOK with the machine options. 5 Notes Module 1 The READ routine branches and links DMKDIR to the SCANNAME routine wit'l register 4 pointing to TABlE1. TABLE1 is searched for a keyword matching the control statement name and control is passed to the routine indicated in the corresponding ADCON. ,2 If the USER control statement follows Label REAI3 Ref appears on the console followed by the statement that was out of sequence. Directory processing is terminated after scanning the remaining statements for syntax. The SCANACCO routine updates the account number (UMACACCT) and distribution code (UMACDIST) fields of the UMACBlOK. UDEVBLOK UDEVBLOK UMACBLOK UDEVBLOK Module DMKDIR Label SCANOPTI ERROR52 appears on the console followed by the statement that was out of sequence. Directory processing is terminated after scanning the remaining statements for syntax. The SCANOPTI routine sets fields in the UMACBlOK to indicate the machine options. 5 DMKDIR ~CANACCO ERROR52 The SCANMDIS routine branches and links to the SCANNAME routine with register 4 pointing to TABlE4. TABlE4 is scanned by device type to get the corresponding device class_ The SCANMDIS routine then updates the device type (UDEVTYPE) and class (UDEVTYPC) fields in the UDEVBlOK. The UDEVSTAT field is updated to indicate aT-disk or long block, if either is present, and the number of cylinders is updated. For all disks other than T-disk, the volume serial number, mode, and password field of the UDEVBlOK are initialized. The mode is updated (except for aT-disk). label UDEVR UDEVRR UDEVW UDEVWR UDEVM UDEVMR UDEVMW Value 00 04 08 12 16 20 24 IBM VM/370 Service Routines Prograa Logic DMKDIR SCANMDIS SCANNAME Comments R link-mode RR link-mode W link-mode WR link-mode M link-mode MR link-mode MWlink-mode The SCANMDI S routine then branches to the CHAINDEV routine to chain the UDEVBlOK to the UMACBlOK. Diagram 4-2. DftKDIR Control statement Processinq 84 UMACBLOK DMKDIR752E STATEMENT SEQUENCE ERROR FOLLOWING USER user ERROR52 The last UDIRBlOK and UMACBlOK are masked off. Update the pointers to the buffers and write out the buffers that are fulL The SCANUSER routine locates a UDIRBlOK and initializes it. Then the UMACBlOK is located and initialized. DMKDIR752E STATEMENT SEQUENCE ERROR FOllOWING USER user L--J rL. UDEVBLOK does not follow a USER or IPl control statement, jsCANUSER appears on the console followed by the statement that was out of sequence_ Directory processing is terminated after scanning the remaining statements for syntax. not follow a USER, OPTION, or IPl control statement, ======> 4 If the OPTION control statement DMKDIR752E STATEMENT SEQUENCE ERROR FOlLOWING USER user 3 If the ACCOUNT control card does UDIRBLOK Notes ~CAN1 a USER, ACCOUNT, OPTION, or IPl control statement, UDIRBLOK If an MDISK control statement, build a UDEVBlOK and chain it. i&'AN NAME DMKDIR UDIRBLOK If an ACCOUNT control statement, update the UMACB LOK with the account number and distribution code. Second Record CHAINDEV Ref g --:------'11") If a SPOO L control statement, build a UDEVBLOK and chain it. 2 Control Statements Output j,ocess;n -!._ _ _ _ _ _ _ " If a DEDICATE control statement, build a UDEVBLOK and chain it. ======> Second Record First Record UDIRBLOK UDIRBLOK UDIRBLOK lr UMACBLOK 1. UDEVBLOK UDEVBLOK UMACBLOK UDEVBLOK UDEVBLOK Notes 1 The SCANSPOO routine builds a Label DMKDIR SCANSPOO UDEVBLOK. The UDEVSTAT field is set to X'OS' to indicate a spool device. The virtual device address is stored in the UDEVADD f-'-I -lid .lhc . 1- 5 ....tJ 001 c~ass is stored :n 1t:IU CI the UDEVCLAS field. The SCANSPOO routine branches and links to the SCANNAME routine with register 4 pointing to TABLE5. For all device types except the 2540, the spool class is picked up directly from TABLE5. For a 2540 device, the device class is determined in the SCAN2540 routine. The default class is A, except for readers (readers default to class*). The SCANDEDI routine builds a UDEVBLOK. The UDEVSTAT field is set to X'SO' to indicate a dedicated device. The virtual device address is stored in UDEVADD field. And, either the volume serial number (UDEVVSERI or user link to disk (UDEVLlNKI fields are updated. The SCANDEDI routine then branches to the CHAINDEV routine to chain the UDEVBLOK to the UMACBLOK. Module Notes Label Ref I II CHAINDE The SCANSPOO routine then branches to the CHAINDEV routine to chain the UDEVBLOK to the UMACBLOK. 2 Ref Module DMKDIR SCANDEDI CHAINDEj Diagram 4-3. DMKDIR Centrol Statement Processing Chapter .... 11 tMKDIR--Tbe Directory Prcgram 85 Input Processing Output Control Statements UDIRBLOK 2 If IPL control statement, update the UMACBLOK. 3 If SPECIAL control statement, update the UDEVBLOK and chain it. Second Record First Record If LINK control statement, update the UDEVBLOK and chain it. UDIRBLOK UDIRBLOK > Lr n-. UMACBLOK UDEVBLOK UDEVBLOK UMACBLOK UDEVBLOK ... 4 If CONSOLE control statement, update the UDEVBLOK for the console and chain it. 5 If DIRECTORY control statement, update the lOB LO K and get the DASD page address of the DDIRBLOK and UMACBLOK buffers. Notes Module 1 The SCANLINK routine builds a DMKDIR Label SCAN LINK UDEVBLOK. The UDEVSTAT field is set to X'lO' to indicate the device is to be linked at logon time. The virtual device address (UDEVADD) and link device address (UDEVLlNK) are up· dated. The mode (UDEVMODE) is also updated. Label Value Comments UDEVR UDEVRR UDEVW UDEVWR UDEVM UDEVMR UDEVMW 00 04 08 12 16 20 24 R RR W WR M MR MW DMKDIR The SCANNAME routine branches (via an ADCON) to the SCANCTCA, SCAN2701, SCAN2702, and SCAN2703 routines to determine the device type and class of channel-ta-channel adapter, or 2701, 2702, and 2703 special device. ERROR52 5 If the DI RECTORY control statement is not the first control statement, DMKDIR752E STATEMENT SEQUENCE ERROR FOLLOWING USER user appears on the console followed by the statement that was out of sequence. Directory processing is terminated after scanning the remaining statements for syntax. DMKDIR SCANSPEC SCANNAME SCANCTCA The SCANDI RE routine sets up to update the 10BLOK. The output device address is stored in DASDADD, and the serial number is stored in DASDVSER. The DIRFLAG is set to a hexadecimal value that indicates the device type of the output unit. Then, the SCANDI RE routine gets the pointer to the first page of the directory and machine buffer areas. SCAN2701 SCAN2702 SCAN2703 Diagram 4-4. DMKDIR Control Statement processing 86 Label DMKDIR SCAN CONS DMKDIR SCANDIRE SCANIPL The name of the system to be loaded (via IPL) at logon time is placed in the UMACIPL field of the UMACBLOK. UDEVBLOK for a special device. The virtual device address is stored in UDEVADD, the device type is stored in UDEVTYPE, and the class is stored in UDEVTYPC. The SPANSPEC routine branches and links to the SCAN NAME routine with register 4 pointing to TABLE2. The device type and class is picked up directly from TABLE2 for a 3270 and pseudo-timer. Module UDEVBLOK for the console. The virtual device address is stored in UDEV ADD, the device type is stored in UDEVTYPE, and the class is stored in UDEVTYPC. The default class is T. The SCAN CONS routine branches and links to the SCANNAME routine with register 4 pointing to TAB LE3. The device type and class are picked up directly from TABLE3. follow a USER, ACCOUNT, or OPTION control statement, DMKDIR752E STATEMENT SEQUENCE ERROR FOLLOWING USER user appears on the console followed by the statement that was out of sequence. Directory processing is terminated after scanning the remaining statements for syntax. 3 The SCANSPEC routine builds a Notes 4 The SCAN CONS routine builds a link·mode link-mode link-mode link-mode link-mode link-mode link-mode 2 If the IPL control statement does not Ref IBM VM/370 Service Routines Program Logic ERROR52 Ref Write out all the used buffers. 2 Build and write allocation record. Notes 1 All of the user directory, user machine, and user device buffers that were used are written. The buffers are written out by loading the DASD address into register 2, loading the buffer address into register 1, and then branching and linking to the V'JR!TE ioutine. I 2 setting Th""""''' tabl,;, b,;". A"bl, I of X,04' indicates an unallocated I Module 3 If running under the control of VM/370, swap directories, issue message and return to CMS. 4 If running standalone, issue message and enter wait state. Label I- - - • - I -;> CMS Module Notes 4 DMKDIR EXIT If not running under VM/370, the message DMKDIR Label Ref BARE EOJ DIRECTORY UPDATED appears on the console and the wait state is entered by loading the SVCNEW PSW. DMKDIR ISCANAll1 cyiinder and X'OC' indicates an allocated cylinder. The VOLl and allo· cation records are written. 3 First the return PSW is set up and Ref Directory I DMKDiR MOVEPSW Registers 1 and 2 are set to the volume serial number. The user directories are swapped via a DIAGNOSE call to DMKUDRDS. The DIAGNOSE will program check if the user is not class A, B, or C. The directories are not swapped if the volume is not found in the OWNDLIST or if an I/O error occurs under CPo The message LOOP 11 EOJ DIRECTORY UPDATED I I II I appears on the console and control returns to CMS. If no errors occur, and if the active system directory was updated, the directories are swapped. The message EOJ DIRECTORY UPDATED AND ON LINE appears on the console and control returns to CMS. Diagra. 4-5. Directory Exit Chapter 4. t!KDIR--The Directcry progra. 87 Program Organization This section includes a program description of the DKKDIR module. Return Code --6- Keaning Directory not swaPFed; the directory the system is using is nct the directory just updated. Error in CMS BDBOF rcutine. Error in C!S TYPLIN routine. DKKDIR 1xx 2xx creates the YK/370 directory owned volume. on a system !h~ xx is the CKS routine return code. !!~.9ist§f 'ysag~ BO: B1: ].!!try :f2int§ DKKDIRCT is the entry point when the directory program is executed standalone and DKKDIRED is the entry point when the directory program is executed under the control of CKS. R2: !!2 ut i.!!§§ ~gl!~2 None R3: R4: R5: Attributes --Not-serially reusable. R6: R1: !!~g!§!§f§ g! !!i! If executed under the control of C8S, register 15 contains a return code at exit. Return Code -,--2 3 4 5 SS !1~~nil!g Invalid filename or file not found. Error loading the directory. Invalid option from CMS. Directory not swapped, user class not A, B, or C. Directory not swapped, system (cld) directory locked. IBM VM/370 Service Routines Program Logic RS: R9 : R10: R11: R12: R13: R14: R15: Work register. Pointer to input field. Pointer to lOB. Pointer to output buffer. Work register. Input count from SCINCARD. DASD address. Work register. Work register. Work register. Branch and link return address. Pointer to the next ODEVBLOK. Work register. RIIRBOF, pointer tc the ODIRELOK buffer. R!ACBOF, pointer to the OKICELCK buffer. RtEVBUF, pointer to the OKDEVELCK buffer. Base register 3. RMAC, pointer to O!ICELOK. RIEV, pointer to ODEVELOK. Base register 1. Base register 2. Return address. RIIR, pointer to ODIRELOK. External References --I8KORDS---rs----called via a DIAGNOSE instruction to write the new VK/310 directory on DISD. Directory Figure 4-2 is an alphabetic list of the major labels ef the Directory program. The associated method of operation diagram is referenced and a brief description of the Label Diagram BARE 4-5 BILDUDIR BILDUlUC BINCONV CHAINDEV CLEARUDR CMS1 4-2,4-3 4-1 CMS3 COMPARE DECCONV DEPAUL13 4-1 DMKDIRCT EDIT TEST 4-1 4-1 EOP ERROR51 ERROR52 ERROR58 ERROR62 EXIT 4-2 4-4 4-1 4-5 GETCARD GETCYLNO GETPAGE GRAPHID 4-1 HEICONV LONG LOOP11 4-5 MOVECPT MOVEDISP MOVEPSW MSGRET MSG02A MSGWRITE NOTUSED POINTDEV 4-5 4-1 4-1 function performed at the Feint in the program corresponding tc each label is included. Description Directory program exit when not running under the control of VM/370. Builds UDIRBLOK. Builds UMACBLOK. Cenverts decimal numbers to binary. Chains UDEVBLOK to UMACELCK. Clears UDIRBLOK. Sets up the parameter list identifying the file centaining the control statements when running under CMS. Reads CMS control cards via SVC 202: Compares keywords and sets condition codes. Converts decimal numbers to hexadecimal. Defaults to the IPL device for control statement input device when running standalone. Sets up base registers and initializes pointers. Sets DIRFLAG to X'20' to indicate edit, if EDIT is specified when the Directory program is run under VM/370. Simulates a USER card. Error processing for invalid operand. Issues message when a control statement is out cf sequence. Issues message DMKDIR758E. Issues message DMKDIR762E. End-of-job processing for Iirectory Program. Reads control statement in input buffer. Pills in cylinder relocation for minidisks. Assiqns a DASD page address. Reads the input control statements from a display terminal when the directory program is not running under CMS~ Conve~ts hexadecimal numbers to tinarv. Turns on long block indicator for minidisks. Calls DMKUDRDS via the DIAGNOSE instruction to swap directories when running under VM/370. Sets up current control statement pointer. Updates UMACBLOK. Sets up return PSi before issuing DIAGNOSE to call DMKUDRDS. When running standalone, a header line is printed. Requests input device when running standalone. Writes messages to the terminal. Updates UMACBLOK pointer. Updates UDEVBLOK pointer. igure 4-2. The Directory Program Label Directory (Part 1 of 2) Chapter 4. rMKDIR--The Directory Program 89 , Label Diagram READ 4-1 4-2 READCARD REREAD RET1 SCANACCO SCANALLO SCAN CARD SCANCONS SCANCTCA 4-2 4-5 SCAN DEDI SCAN DIRE SCANIPL SCANLINK SCANMDIS SCANNAME 4-3 4-4 4-4 4-4 4-2 4-2 4-4 SCANOPTI SCAN SPEC SCANSPOO SCAN USER SCAN1 4-2 4-4 4-3 4-2 4-2 SCAN2311 SCAN2540 SCAN2701 SCAN2702 SCAN2703 STARTIO 4-4 4-4 4-4 4-1 STATE STOREADD 4-1 4-1 TERM 4-1 TESTBUFF TESTUDEY UPDATE UPDATECT WRITE 4-4 4-4 Description Reads control statements and branches to appropriate processing routine. Reads control statements. Sets up pointer to control statement read buffer. Scans control statements. ACCOUNT statement processing routine. Builds allocation record. Scans the control statement for the next operand. CONSOLE statement processing routine. Updates the UDEYBLOK and chains the control unit to the UDEYELOK for channel-to-channel adapters. DEDICATE statement processing routine. DIRECTORY statement processing routine. IPL statement processing routine. LINK statement processing routine. MDISK statement processing routine. Scans the name table until a match is found. Register 4 points to the name table. If the name field is a constant, it is put in the UDEYBLOK. If the name field is an address, control is passed to that address. OPTION statement processing routine. SPECIAL statement processing routine. SPOOL statement processing routine. USER statement processing routine. Points register 4 to TAEL!1, then branches and links to SCANNAME routine to determine the appropriate control statement processing routine. Updates the UDEYBLOK for 2311 disks. Updates the UDEVBLOK for 2540 devices. Updates the UDEVBLOK for 2701 devices. Updates the UDEVBLOK for 2102 devices. Updates the UDEYBLOK for 2103 devices. Reads the input control statements if the directory program is not running under CMS. Checks that control statement file exists. Sets the DIRFLAG to X'20' to indicate edit, if EDIT is specified when the Directory program is run standalone. At end of processing, returns control to CMS if running under YM/370. Tests to see if UDEYBLOK was used. Gets D1SD address of UMACELOK. Points to next UDEVBLOK. Updates device count in UMACBLOK. writes the directory on I!SD. Figure 4-2. The Directory Program Label Directory (Part 2 of 2) 90 IBM VM/370 Service Routines Program Logic Data Areas The directory exists on disk as 4K (page size) records. The VOL1 label (cylinder 0 track 0 record 3), on the volume containing the directory, points to the directory. The directory starts with the first available record. The first UDIRBLOK is a dummy UDIRBLOK. Its UDIRDISP field points to the last UDIRBLOK in that record. The UDIRDASD field peints to the next UDIR record, or, if it is the last record, it contains zeros. The second UDIRBLOK in the first record points to the UMACBLOK for that user, located in the second record. In turn, the UMACBLOK points to the first UDEVBLOK for that user. It is the second block in the second record. The last UDEVBLOK for this user has a pointer of all zeros. The directory entry for the second user consists of a UDIRBLOK in the first record and associated UMACBLOK, and UDEVBLOKs in the second record. When a record becomes full, the chain continues into the next available record. When the directory is created, all UDIRBLOKs are grouped 169 blocks per record. The UMACBLOK and UDEVBLOKs are sequentially chained into a separate record. If the record becomes full before the end of the chain, the chain overflows into the next available record. The formula records is: NO + 169 to find the «BU+RM) X2) +ND number -------------- = NR 170 of NU is the number of user records. NM is the number of MDISK describing a v irtual disk T-!isk) • ND is the total number of MDISK (describing T-Disk sFace), SPOOL, LINK, SPECIAL, CCNSCLE, and DEDICATE cards ; ; DR is the total number of records used. cards (net To find the number of cylinders, divide the total number of records by 32 for 2314/2319 devices, by 57 for 3330 series devices, or by 24 for 3340 and 2305 series devices. To ensure that a new directory will not overlap an existing directory, allow space for two directories or allocate a new directory each tile the directory is created. The following data areas are used by the directory program: • The UD!VBLOK (user device block), built in the UDEVBLOK or UeACELCK buffer. • The urIRBLOK (user directory built in the DIRBLOK buffer. • The UMACBLOK (user machine block), built in the UMACBLCK buffer. block), These data areas, as well as a figure showing the user directery fermat and the relationship of the above blocks, are described in the ltV37.Q ]!!! j.f~§ !l!.Q £2!tt;Q! ~!.Q ck§ ~.Q.g ic • Chapter q. tMKDIR--The Directcry program n1 J , Diagnostic Aids Figure 4-3 lists the .essages issued by the Directory prcgra.. The label of the message and the associated .ethod cf operation diagra. are included in the list. r-------------------------------------------------------------------------------------, Message Code DMKDIR751E DMKDIR752E DMKDIR753E DMKDIR754E DMKDIR755E DMKDIR756E DMKDIR757E DMKDIR758E DMKDIR760E DMKDIR761E DMKDIR762E DMKDIR763E DMKDIR764E Label ERROR51! ERROR52 ERROR53 ERROR54A STARTIO READ WRITE ERROR55A WRITE ERROR56A ERROR57 ERROR58 CHAINDEV ERROR60 GETPAGE ERROR61A SCANDIRE ERROR62 READ ERROR63 STATE ERROR64 !!essage Text Diagra. 4-2,4-4 INVALID OPERAND - XXXXXIXXXXXX. STATEMENT SEQUENCE ERROR FOLLOWING USER user OPERAND !!ISSING DEV ccu NOT OPERATIONAL 10 ERROR ccu CSW XXXXXXXXXXXXXXXX SENSE XXXXXXXXXXXX PROGRAM CHECK PSi = xxxxxxxxxxxxxxxx MACHINE CHECK RUN SEREP AND SAVE OUTPUT FOR CE DUPLICATE UNIT DEFINITION NOT ENOUGH SPICE ALLOCATED FOR DIRECTCRY VOLID READ IS volid1 NOT volid2 DIRECTORY STITE!!ENT !!ISSING 4-1 INVALID FILENI!!E OR FILE NOT FOUND ERROR IN XXXXXXXX MSG04 MSG01 HSG03 MSG02 4-1 4-5 4-5 MSG02A 4-1 4-1 EOJ DIRECTODY NOT UPDATED EOJ DIRECTORY UP£ATED EOJ DIRECTORY UP£ATID AND ON LINE VM/370 USER IIRECTORY CREATICN PROGBAM RELEASE n ENTER CABD REIDER DEVICE ADDRESS AND OPTIONS Figure 4-3. The Directory Program Messages 92 IBM VM/370 Service Routines Program Logic Chapter 5. The DASD Dump Restore Program I ntrod uction The DASD Dump Restore program executes under the centrol of CMS V1a the DDR com.and. It performs five functions for direct access storage devices. The five functions are: • • • • • Dump Restore Copy Print Type The dump function saves data from a direct access volume cn magnetic tape. The data is saved cylinder by cylinder. The format of the tape is: Record 1, volume header record describing the volume. The restore function transfers data from a tape created ty the DDR dump function te a r!~r device: Th€ data may be restored only to a device of the same type as the device frem which it was dumped. COpy DUMP • RESTORE The copy function cOFies data from one device to another device cf the same type. For disk-to-disk operations, data may be reordered on a cylinder basis. If copying from tape-to-tape; the input tape must have been created ty the DDR dump function. -- data PRINT • Record 2, track header record -- a list of count fields to restore the track and the number of data records written on tape. After the last count field the record contains key and data records to fill the 4K buffer. The print function prints both hexadecimal and EECDIC representatiens of selected records of a DASD or Tape Volume en a printer .. • Record 3, track data records -- key and data recerds packed into 4K blocks with the last block truncated. TYPE • Record 4, either the end-of-volume or end-of-job trailer label. The end-of-volume label contains the same information as the next volume header record except that the ID field contains EOV. The end-of-job trailer label contains the same information as record 1 except that the cylinder number field contains the disk address of the last record on tape and the ID field contains EOJ. The type function displays at the terminal both hexadecimal and EBCtIC representations of selected records of a tASD or tape volu.e. Chapter 5. lhe D1SD Dump Restore Program 93 Method of Operation The method of operation diagrams describe the major functions of the DDR (DASD Dump Restore) program. The relationship of the method of operation diagrams is described in Figure 5-1. Diagram 5-1 describes functions of the DDR program. the major Diagram function. 5-4 cescribes the Restore Diagram 5-5 describes the copy function. Diagram function. 5-6 the describes Diagram 5-7 describes the Type function. Diagram 5-2 shows the control statement Frocessing for the DDR ~rogra •• Diagram 5-3 describes the Du.~ function. Diagram 5-1 Overview of the DDR Program Diagram 5-2 Diagram 5-3 DDR Program Control Statement Processing The Dump Function Diagram 5-4 The Restore Function Diagram 5-5 Diagram 5-6 The Copy Function The Print Diagram 5-7 Function Figure 5-1. Key to the DASD Dump Restore Program Method of Operation Diagrams 94 Print IBM VM/370 Service Routines Program Logic The TVpe Function Processing Initialize the DDR program. 2 If running standalone, print heading and determine input device. ) 3 If running under VM/370, build PLiST from passed parameters. 4 Read a control statement. (See Diagram 5·2 for details.) If statement type not found, issue error message and read another statement. 5 I DMKDDR701 E INVALID OPERAND xxxxxxxx Perform specified function. (See Diagrams 5-3, 5-4, 5-5, 5-6, and 5-7 for details.) 6 At end, exit to CMS or enter wait state. Notes Module 1 The DDR program is initialized and the Label DMKDDR DMKDDREP DMKDDR NEWADD Ref " • • I",..,n n A l l A l l n / n r TI"'\ UMSU n uv,v'rtncS,vRE PROGRAM RELEASE n V,VI/':>/V Module Label Ref control returns to the CMS command environment. base registers (9,10,11,12, and 13) are set up. 2 The heading Notes If running standalone, the wait state is entered. TESTCMS I""\. is displayed. If no input device is specified, the IPL device is used as the input device. 3 DMKDDR builds a PLiST if parameters are passed from CMS to the DDR program. I I DMKDDR 4 DMKDDR reads the control statement. The routine needed to initialize the DDR function is found by branching and linking to the SCANNAME routine and searching the name table. DMKDDR 5 The designated function is performed. At its end, control returns to the GTCARD routine to read the next control statement and perform the next function. DM KDD R I 6 When the last control statement is read and processed the GTCARD routine branches to the EXIT routine. The end of job statement (MSG001) is displayed. If running under VM/370, the SYSPRINT device is closed and I DMKDDR I I I CMSl I II I GTCARD EXIT CMS8 I Diagram 5-1. Overview of the DDR Program Chapter 5. !he DASD Dump Restore Program 95 Processing Input :> ~ Control Statements Output 1 If I NPUT or OUTPUT control statement, update the DASD or tape lOB. 2 If SYSPR INT control statement, update the printer lOB. 3 If PRINT or TYPE control statement, set up the name of the processing routine. tl 10BLOK 4 If DUMP, RESTORE, or COPY control statement, set up the name of the processing routine. Notes 1 The address of the lOB is loaded into register 15. DMKDDR gets the unit address. The unit address (I0BUADD) and alternate tape address (IOBATAPE) fields of the lOB are filled in. Module Label DMKDDR ~CANINPU SCANOUTP DMKDDR reads the device type from the control statement and then branches and links to the SCAN routine. The SCAN routine searches a table of valid devices and picks up the device class and type. The class (lOBCLASS) and type (lOBTYPE) fields are updated. The codes for the various device classes are contained in the DEVTYPES COpy file. . Options number of times file to be forward spaced. 10BMODE tape mode. X'C3' indicates g·track 1600 BPI X'CB'indicates g·track BOO BPI IOBDISP disposition of tape. X'OT indicates rewind X'OF' indicates rewind and unload X'03' indicates tape is not to be repositioned 96 I ! DMKDDR SCANPRIN SCANTYPE DMKDDR SCAN DUMP If there is an error in the control statement, either error message DMKDDR701E INVALID OPER· AND- xxxxxxxx DMKDDR703E OPERAND MISSING is displayed. The control statement is ignored, and the next control card is read by the GTCARD routine. 4 If DUMP control statement, set the processing routine name to DUMP. If RESTO REcontrol statement, set the processing routine name to RESTORE. SCANRESTl If COpy control statement, set the processing routine name to COPY. SCANCOPY For the dump function, the input must be a DASD and output a tape. For the restore function, the input must be a tape, the output a DASD. For a copy function, the input and output devices must be the same class and type. If the input device contains more cylinders than the output device the following message is issued: If either of these errors occurs, the control statement is ignored and control returns to the GTCARD routine to read the next control statement. Diagram 5-2. I The start address (default is track 0 record 0) and the stop address (default is last track and last record) are set up. If TYPE is specified, the console skips one line. If PRINT is specified, the printer skips to channell. DMKDDR701 E INVALID OPER· AND - xxxxxxxx DMKDDR703E OPERAND MISSING The address of the printer lOB is loaded into register 15. The printer unit address is placed in the 10BUADD field of the lOB. Ref Label DMKDDR701E INVALID OPER· AND - xxxxxxxx DMKDDR703E OPERAND MISSING is specified, the LOWERCAS table is used. If PR INT is specified, the UPPERCAS table is used. The routine name is set up: PRINT or TYPE. Either of the following error messages may be displayed while processing INPUT 0,. OUTPUT control statements: 2 Module If an error occurs, either message 3 The translate table is set up. If TYPE If tape options are specified, the lOB is updated. Field Notes is displayed. The statement in error is ignored, and control returns to the GTCARD routine to read the next control statement. If a DASD serial number is specified, the volume serial number (IOBVSER) field is updated. 10BSKIP Ref DMKDDR SCANSYSP DMKDDR725R ORIGINAL INPUT DEVICE WAS(lS) LARGER THAN OUTPUT DEVICE The operator must determine if the copy function is to continue. DDR Program Control Statement processing IBM VM/370 Service Routines Program Logic rr~i~ I 8 Open the files. I --'-_ _ _ _-'\ 2 ----) 3 4 Dump the disk records to tape. r~ 16 1 END OF DUMP Print message. Close tape. 1° Notes 1 I Module The input disk is opened by branching and linking to the OPENDASD routine. The extent table is updated to define the cylinders to be dumped. Each statement u~ates the extent table untIl a null line, an INPUT statement, or OUTPUT statement is read. DMKDDR Prints the headings indicating the function being performed and the date and time of the dump. The message Notes 4 OPENIN IOPE"auT I II I II DMKDDR The trailer record is written on the output tape. If the tape disposition was specified on the DUMP control statement, the tape is so positioned now. Module DMKDDR Label Ref EOJ Control returns to the control statement read routine (GTCARD) to read and process the next control statement. PRINTH MSGOO4 The read, write, and update cycle continues until the indicated disk extents are dumped to tape. Starting at the first disk extent (CYLSTART), the disk records are read. The record is written on tape and the pointers are updated to the next disk record. The dump cycle continues until the last disk extent CYLSTOP is dumped to tape. 3 Ref GETEXT The output tape is opened, the proper number (if any) of records is skipped and the volume header record (VHR) is written. 2 Label BUILDTHR TESTOUT UPDTADD DMKDDR CLOSEJOB END OF DUMP indicates that the dump function has successfully terminated. Diagram 5-3. The DumF Function Chapter 5. !he DASD Dump Restcre Program 97 Processing Input o > Open the files. 2 Restore the records to disk. 3 End the restore function. END OF RESTORE Module Notes 1 The input tape is opened and position· Label Ref DMKDDR PPENIN The read and write loop continues until all the specified cylinders are restored to disk. The tape records are read from the tape that has been positioned. The data is written on on the indicated disk cylinders and the pointers to the disk are updated for the next record. The restore function is complete when the last cylinder (CYLSTOP) is restored. SETDASD DMKDDR717R DATA DUMP FROM xxxxxx TO BE RESTORED TO xxxxxx is displayed. The operator must decide if the restore function is to continue. 3 The extent table is updated to indicate the cylinders to be restored to disk. IGETEXT The output disk is opened by branching and linking to the OPENDAS[ routine. !OPENOUT 2 The headings are printed, indicating that the restore function is starting. The message END OF RESTORE is displayed and control returns to the GTCARD routine to read the next control statement. DMKDDR PRINTD ~SGOO4 The number of cylinders on the original DASD input device is compared with the number of cylinders on the DASD output device. If the input device was larger, the following message is issued: DMKDDR725R ORIGINAL INPUT DEVICE WAS(lS) LARGER THAN OUTPUT DEVICE Diaqram 5-4. The Restore Function 98 Label The operator must determine if the restore function is to continue. ed if the RESTOR E control statement specified that records were to be skipped. A check is made to ensure that the output disk has the correct volume serial number. If the volume serial number is incorrect, the message Module Notes IBM VM/370 Service Routines Program Logic PETTHR PASDWRIl UPDTADD DMKDDR k:LOSEJOB Ref Input o >2 3 Open the files. Copy the data. End the copy function. -or- END OF COpy Notes 1 The input file and output file are opened. The input and output devices must be the same device type. The extent table is updated to reflect the amount of data to be copied from . . one deVice to anotner. I l 2 The heading is written and the message indicating the start of the copy function is typed. Module Label DMKDDR OPENIN the disk file is closed. GETEXT Control returns to the GTCARD routine to read the next control statement. I DMKDDR OPENOUT Notes I Module Label Ref IpRINTH MSGOO4 The input file is read and the output file is written. If copying from disk to disk the pointers to the disk records are updated to the next record. The read-write cycle continues until the specified data is copied. When copying data from tape to tape, the GETTHR routine performs the record read and the TESTOUT routine performs the record write. When copying data from disk to disk, the BUILDTHR routine performs the record read and the DASDWRIT routine performs the record write. 3 The message Ref I II UPDTADD DMKDDR CLOSEJOB END OF COPY indicates the successful completion of the copy function. When copying data from tape to tape, the output tape is positioned as indicated on the COpy control card. When the disk to disk copy is complete, Diagra. 5-5. The Copy Function Chapter 5. lhe D1SD Duap Restore Prograa 99 Processing Input OLr 8 Notes Module 1 The input device is opened. If the DMKDDR input is on tape, the tape is spaced forward the designated number of records (if any). The extent table is updated to reflect the cylinders to be printed. 2 The message Output Open the input file (tape or DASD). 2 Read the input file. 3 Print the records on the printer. 4 End the print function. D tl~ END OF PRINT Label Ref Notes Module Ref Label OPENIN GETEXT DMKDDR MSGOO4 PRINTING xxxxxxxx is displayed to indicate the start of the PRINT function. 3 The data is read from the input device via the appropriate (disk or tape) read routine. The data is converted and printed on the system printer. 4 The message DMKDDR BUILDTHR PETTHR PISPLAY DMKDDR EOJ END OF PRINT indicates the successful completion of the PR INT function. 5 Control returns to the GTCARD routine to read the next control statement. I Diagram 5-6. The Print Function 1CC IBM VM/370 Service Routines Program Logic I o --:----> Open the input file (tape or DASD). 2 Read the input file. 3 Display the records on the console. -or- -----.) 4 If tape input, reposition the tape if necessary. requested records Module Notes 1 The input device (either tape or disk) The records are read from the tape or disk by the appropriate read routine. Ref Notes Module Label Ref DMKDDR OPENIN is opened. If input is on tape, the tape is spaced forward the designated number of records (if any). The extent table is updated to reflect the data to be typed. 12 Label GETEXT 1 OMKOOR ~UILOTHRI ETTHR 3 The records are displayed on the console. The read and type cycle is continued until all the specified records are typed. DMKDDR DISPLAY 4 Control returns to the GTCARD DMKDDR EOJ routine to read the next control statement. Diagram 5-7. The Type Function ChapteL 5. The DASD Dump Restore Program 101 Program Organization This section contains a program description of the DMKDDR module. xx is the return CMS routine. code from the DMKDDR !!~g!st~ RO: R1: The DASD dump restore program. Attributes --Serially reusable. R2: ~.!ltry foint DMKDDREP. R~.9.!st!!f§ R1: g! ~lltrI Points to a parameter list DMKDDR is executed under control of CMS. when the R~g!§!~§ g! ~!i t R15: Contains a return code when DMKDDR is executed under the control of CMS. The return codes are: Return Code -,--2 3 4 2xx 3xx 4xx 102 A!!gjl!llg Invalid filename or file not found. Error while running the program. Flagged DASD track. P-eraanent tape or DASn I/O error. Error in the PRINTIO routine. Error in the CON READ routine. Error in the RnBUF routine. Error in the TYPLIN routine. IBM VM/370 Service Routines Program Logic R3: R4: R5: R6: R7: RS: R9 : R10: R11: R12: R 13: R14: R15: Usage Work Register. field froll Pointer to inFut SCANCONT. buffer output Pointer to the (PRINT/TYPE). Work register. Input count fro. SCANCCNT. Unit address for STARTIO. Data block count (PRINT/TYPE). Work register. End of current line (PRINT/TYPE). Work register. Length of one line (PRINT/TYPE). Pointer to key (PRINT/TYPE). Work register. Total length of data (PRINT/TYPE). Work register. Data count (PRINT/TYPE). Number of records cn the track (PRINT/TYPE) • Work register. Pointer to the extent table entry. Current line pointer (PRINT/TYPE). Extent table entry size. Last line pointer (PRINT/TYPE). Base register 5. Base register 1. Base register 2. Base register 3. Base register 4. Return address Pointer to the lOB. Directory Figure 5-2 is an alphabetic list of the major labels in the DASD Duap Restore program. The associated method of operation diagrams are indicated and a brief description is included of the operation performed at the point in the program that is associated with each label. r-------------------------------------------------------------------------------------------, Label I Diagram I Description ADDLINE BINCONV BUlLDCCi BUILDTHR CLOSEJOB 5-3 5-6 5-7 5-3 5-4 5-5 CLOSE1 CMS1 5-1 cssa 5-1 COMPARE DASDWRIT DDR709 DDR714 DDR721 DDR724 DECCONV DISPIT DISPLAY DMKDDR DMKDDREP EO.! 5-4 5-6 5-7 5-1 5-3 5-6 Checks for duplicate line. Converts decimal numbers to binary. Builds a CCW string to put the key/data fields into the THR (track header record) • Reads records from disk. Displays message indicating the end of a DDR function. Closes the tape and reads another. Builds a PLIST (parameter list) if parameters passed from CMS. The end-of-job processing when trR is running under VM/370. Compares keywords. Writes records onto disk. Issues DMKDDR709E message. Issues DMKDDR714E message. Issues DMKDDR721E message. Issues DMKDDR724E message. Converts decimal numbers to hexadecimal. Displays the key/data message. Prints or types records. Start of the DMKDDR module. Entry point to the DDR program. At the end of a DDB fUDction# returns control tc the GTCARD routine. 5-7 ERRCLOSE EXIT GETEXT GETR1 GETTHR 5-1 5-3 5-4 5-5 5-6 5-7 5-4 5-6 5-7 Closes tape and reads alternate tape. Returns to CMS command environment or enters wait state at end of program. Builds extent table. Checks for records that need to te printed. Reads tape records. Figure 5-2. The DISD Dump Restore Program Label rirectory (Part 1 of 3) Chapter 5. The DASD Dump Restore Program 103 Label GOSUB1 GRIPBID GTCARD BEICONV INOUTER LASTONE LOOP12 LOOP13 KSGiRITE KSG004 I Diagra. I 5-1 5-3 5-4 5-5 Description Gets the next record. BandIes I/O for display terminals. Reads control cards. converts hexadecimal nu.bers to deci.al. BandIes tape and DISD errors. Checks for last record. Checks for last record to be displayed. Deter.ines the starting address. Displays .essages on the terminal. Prints message indicating start of Du.p, Restore, Copy, or Print function. 5-6 NEiADD NEITCYL NEXTREC NEXTTCK NOSTART OK OPENDASD OPENIN 5-1 5-3 5-4 Prints heading when DDR prograa running standalcne. Updates pointer to next cylinder. Updates pointer to next record. Updates pointer to next track. Sets up starting address for tKKIDR121E .essage. Points to read CClis to read TBR. Opens a DASD. Opens input devices. 5-5 5-6 OPENOUT 5-1 5-3 5-4 Opens output devices. 5-5 PBUFFER PDATI PRINTDAT PRINTB 5-3 5-4 Points to the print buffer. Sets up print pOinter. Prints the data. prints function heading. 5-5 PRINTER1 PRINTER2 PRINT1 PRINT2 READCONT READCT READKEYD RETURN SAVECT SCANCONT SCANCOPY SCANDUKP SCANINPU SCANNAME SCANOUTP SCANPRIN SCANREST SCANSYSP SCAN TYPE 5-2 5-2 5-2 5-2 5-2 5-2 5-2 5-2 Updates the printer line count. Spaces the printer twice. Checks that device type is console. Displays message on console. Reads control statements. Reads the home address, record 0, and the count fields. Reads the key and data records. Reorders the cylinder nu.ter. Saves the printer line count. Scans control statements for next operand. Scans the COpy function statement. Scans the DUMP function statement. Scans the INPUT control statement. Scans the name table (TIEL!1) for a matching control statement name. Scans the OUTPUT control statement. Scans the PRINT function statement. Scans the RESTORE function state.ent. Scans the SYSPRIBT control statement. Scans the TYPE function statement. Figure 5-2. The DASD Du.p Restore Program Label tirectory (Part 2 of 3) 104 IBM VM/370 Service Routines Program Logic Latel Diagram Description , I ---------------------------------------------------------------------------------1 Scans the device table (TAELE2). SCANUNIT 1 SETDASD SET END SETEXT SETUPBUF SKIPMSG STARTIO SUPMSG TESTCARD TESTCMS 5-4 5-1 TESTEND TESTIN TESTNPAG TESTOUT TRANS TRKCOND TSTCOUNT UPDTADD UPDTEXT WDSIO 5-3 5-3 5-4 5-5 Checks volume serial number of output disk. Prints the cylinder map at end-of-job. Picks up the cylinder numter that starts the next extent. 1 Clears the print buffer. Prints record overflow message. Starts I/O devices. Prints the suppress line message. Checks for card input at end-of-job. Exits by entering wait state when DDR program is running standalone. Terminates when blank card read. Checks for tape input. Skips printer to channel 1. writes tape output records. Translates data to printatle characters. Recovery procedure for track condition check (alternate track). Prints the end of the track. Updates disk addresses. Restores entire track. Writes the THR (track header record). Figure 5-2. The DASD Dump Restore Program Label Iirectory (Part 3 of 3) Chapter 5. The D1SD Du.p Restore Progra. 105 Data Areas This section contains a description of a: • • Track header record Cylinder header record • lOB CYLINDER HEADER RECORD o VHR VHRCYLNO I IA 10 VHRCLOCK 18 VHRMREC 11A I VHReYLA VHRMTCK 11E I VBRVSER lC 124 < < > 12i§.E.J:.~£~.!!~.!l.t Hex --0 4 A 10 18 lA lC lE 24 12~£ 0 4 10 16 24 26 28 30 36 !.!elg_!g!~ VHR DC VHRCYLNO DS DS VHRCLOCK DS VHRMREC DS VERCYLA DS VHRMTCK DS VHRVSER DS DS CL4'VHR' CL6'0', XL6 ' D'O' X'O' H'O' H'O' CL6'VOLSER' CL44' , 12g§£!:!£!!.QIl EECCHH of input DASD unit Not used Time of day clock value CC address of last cylinder on this type of DASI). Volume serial number of input DASD unit Figure 5-3. Cylinder Header Record 106 IBM VMj370 Service Routines Program Logic TRACK HEADER RECORD 0 THR 4 16 THRNDRD I THRNDRL IA I 8 THRNDRT THRFLAG IE I THRHADD 10 THROOO 20 THR001 <28 to FFF < > (Count Field or Data) ]2im!l.2f~.!!~! Hex Dec --(5 --(5 4 4 6 8 6 8 10 A rielg_!!H THR DC THRNDRD DC THRNDRT DC THRDRL DC THRFLAG DC CL4'THR H'O' H'O' H'O' XL1'0' , 12!!§£rip tio l! ID of track header record The number of count fields in the THR The nuaber of 4K data records on taFe Length of the short (last) data record Flag ~i! §~!!!Dg§ E 10 11 16 20 32 28 40 SPECIAL for THRFLAG EQU XI01'-----overflov THRHADD THROOO THR001 DC DC DC XL5'0' XL16'0' XL8'O' The home address reordered Record 0 from the D1SD unit Count field of the first record Count fields and data Figure 5-4. Track Header Record Chapter 5. The DASD Dump Restore Program 107 lOB 0 11 1 IOBSTAT 12 1 IOBOPT IOEUAtI 4 IOBCCW 8 IOBEBBOR C IOBCSW 14 115 I IOBCLASS 116 1 IOBTYPE 18 IOBCYlP 11A I IOBMTCK t 1E 1 1C IOEMB!C IOECYLA 11F I IOBMODE IOBDISP 20 IOBVSER f 24 126 I 2S IOBFLAG 129 I IOEATAPE Reserved for IBM use De§£!:!~!~ Status of IOE n!! 1 1 §~!!!~g§ IOBST IOBSTACK IOBlAST IOBNOPER IOBCPVOl IOBOPEN IOBSCRAT IOBTPSWP EQU EQU EQU EQU EQU EQU EQU EQU for IOBSTAT 1'80'-- I/O unit is to be started X'40' I/O error has been stacked X'20' last lOB X'10' Device is not operational X'OS' Unit is a CPVOL X'04' The lOB is open X'02' The DASD device is a scratch volume X'01' Switch to alternate tape in progress IOBOPT DS 11 ~!! §~!!!Bg§ IOBDEW IOBERST IOBEEXIT IOBSIO Figure 5-5. lOB 10S EQU EQU EQU EQU lOB flags for IOBOPT I'SO'---Wait for device end interrupt X'40' Stop on I/O error and wait for next interrupt 1'20' Repeat CCW on error X'10' Do not use Diagnose I/O (Input/Output Block) Format (Part-1 of 2) IBM V8/370 Service Routines Program Logic Hex C 12 14 15 16 16 20 22 22 !:ield_NaJ!! IOBUADD Ds IOBCCi Ds IOBERROR Ds IOBCsi Ds IOBCLAss Ds IOBTYPE Ds lOBS KIP EQU IOBMREC Ds 18 11 24 26 IOBCYLP IOBCYLA 1C 1E 1F 28 30 IOBMTCK Ds lOBMODE DS 20 26 28 29 40 IOBDIsP IOBVsER IOBATAPE IOBFLAG Ds Ds Ds Ds Ds IOBSlZE EQU *-IOB --"2 ~~ 4 8 4 8 2 21 31 32 38 41 1H 1F A 2F X'O' X'O' ~~g!E!!gjl H'O' Unit address of device Pointer to cei Address of 10 error routine Csi of 10 error stacked Device class Device type lOB type skip count Maximum nuaber of records that will fit a track Ds Ds H'O' H'O' Maximum primary cylinder address of DAsD device. Maximum alternate cylinder address of DAsD device. Maximum nuaber of tracks (numbering C-N) lOB tape mode command code X rOB tape disposition command code CL6' , Volume serial number of DAsD unit X'OOOO' Address of an alternate tape unit rOB flag X'O' Reserved for rBM use 3X'0' * H'O' X Address of an alternate tape unit Figure 5-5. rOB (Input/Output Block) Format (Part 2 of 2) Chapter 5. The D!SD Dump Bestcre Program 109 Diagnostic Aids Figure 5-6 lists the messages issued by the DASD Duap Restore Progra.. The associated r Message Code Label DMKDDR700E DMKDDR701E DMKDDR702E DMKDDR703E DMKDDF704E DMKDDR705B DDR700 DDR701 DDR702 DDR703 DDR704 DDR705 DMKDDR707E DDR707 DMKDDR708E DMKDDR709E DMKDDR710A DMKDDR711R DMKDDR712E DMKDDR713E DMKDDR714E DMKDDR715E DMKDDR716R DMKDDR717R DDR708 DDR709 DDR710 DDR7ll DDR712 DDR713 DDR714 DDR715 DDR716 DDR717 DMKDDR718E DMKDDR719E DMKDDR720E DDR718 DDR719 DDR720 lakel and .ethod of operation included in the list. Diagra. 5-2 5-2 5-4 Message Text INPUT UNIT IS NOT A CPVOL INVALID OPERAND - xxxxxxxxxxxx CONTROL STATEMENT SEQUENCE ERROR OPERAND ftISSING DEV ccu BOT OPERATIONAL 10 ERROR ccu SENSE xxxxxxxxxxxx CSi xxxxxxxxxxxxxxxx MACHINE CHECK RUN SEREP AND SAVE OUTPUT FOR CE INVALID INPUT OR OUTPUT DEFINITION WRONG INPUT TAPE MOUNTED DEV ccu INTERVENTION required. VOLID READ IS volse1 NOT volse2 NUMBER OF EXTENTS EJCEEDS 20 OVERLAPPING OR INVALID EXTENTS RECORD xxxxxxxxxxxx NOT FOUND ON IIFUT TAPE LOCATION XXXXXXXXXXXX IS A FLAGGED TRACR NO VOLl LAEEL FOUND FOR xxxxxx DATA DUftPED FROft volsel TO BE RESTCRED TO volse2 OUTPUT UNIT IS FILE PROTECTED INVALID FILENAME OR FILE NOT FOUND ERROR IN xxxxxxxx Figure 5-6. Tbe DASD Dump Restore Progral Messages (Part 1 of 2) 110 diagra. are IBM VM/370 Service Routines Prograa Logic r---------------------------------------------------------------------.-----------------, Message I Code Label Diagram !essage Text I --------------·------------------------------------------------------------------------------------------1 RECORD xxxxxxxxxxxx NOT FOUND= DDR72i DMKDDR721E DMKDDR722E DDR722 OUTPUT UNIT NOT PROPERLY FORMATTED FCRI THE CP NUCLEUS DMKDDR723E DDR723 NO VALID CP NUCLEUS ON THE INPUT UNIT DMKDDR724E DDR724 INPUT TAPE CCRTAINS A CP NUCLEUS DUMP DMKDDR725R DDR725 DMKDDR726E DDR726 DMKDDR727E DDR727 DMKDDR756E DDR706 MSG002 NEWADD !SG02A !SG003 !SG03B MSG005 !SG004 }!SG004 MSG004 MSG004 !SG001 CLOSEJOB MSG001 EOJ MSG001 RESP!SG RESP!SG2 5-1 ORIGINAL INPU~ DEVICE WAS (IS) LARGER THAN OUTPUT DEVIC:E MOVING DATA INTO ~HE ALTERNATE TRACK CYLINDER(S) IS PROHIBITED. FLAGGED TRK xxxxxxxxxxxx HAS NO PRCPER ALTERNATE; SKIPPING THIS TRK. PROGRAM CHECK PSW = xxxxxxxxxxxxxxxx VM/370 DASD tURP/RESTORE PROGRAM RELEASE n 5-6 5-3 5-3 ENTER CARD READER AtDRESS OR CONTRCL STATEMENTS ENTER CYLINt!R EXTENTS ENTER NEXT EXTENT OR NULL LINE END OF VOLUME CYL xxx HD xxx, MOUlT IEXT TAPE RESTORING xxxxxx COPYING xxxxxx DUMPING xxxxxx PRINTING xxxxxx END OF DUMP END OF RESTORE 5-3 END OF COPY 5-3 END OF PRINT 5-2,5-4 END OF JOB DO YOU WISH DO YOU WISH ~O ~O I I CONTINUE? RESPOND YES 10 CR REREAD: CONTINUE? RESPOND YES CB Ie Figure 5-6. The D1SD Duap Restore Progra. !essages (Part 2 of 2) Chapter 5. The D1SD Duap Restore Progra. 111 112 IB! VM/370 Service Routines prograa Logic Chapter 6. The Installation Verification Procedure Introduction The Installation Verification Procedure (IVP) for VM/370 is designed to exercise the generated system to verify that basic V!/370 facilities are operable. The IVP is contained in two files using the EXEC facility of CMS, and uses two virtual machines in addition to the system operator's virtual machine. The tests of CP: exercise the • Creation and EDIT command aodificaticn of • Assembly of executable programs • Execution of user programs • Creation and co.mands • printing and punching of CMS files execution of files via user-written following areas • • Multiple virtual aachine support • Issuing of commands to CP I/O spooling • Use of multilevel nested EIEC procedures • Transferring of spooled virtual machines • Stacking and unstacking of command and data input from the terminal • • Offline I/O operations • Comaunication procedures • • Paging operations • Disk I/O support • Autoaatic warm start following abnormal n teriiination ""'.&. 1711 wu, Sending of operator messages data to to the other I~"l facilities of • lormal CMS command processing • Disk formatting • Copying of files froll EXEC Several other system facilities, incidental to the primary IVP tests, are exercised. Certain system facilities, such as preferred execution options, virtual=real, OS ISIM, and VSAM and Access Method Services under CMS, are not exercised by the IVP. J. V The following exercised: user system Task dispatching and scheduling ,,~ with CMS are The IVP requires operator intervention only when an operational decision is to be .ade, or to initiate the IVP tests themselves.· All file creation, erasure, management, and logoff of the virtual machines (with the exception of the system operator) at test completion is performed automatically without operator or user action. Chapter 6. The Installation Verification Procedure 113 Method of Operation This section describes the execution of the two EXEC procedures of the IVP (Installation Verification Procedure) • 6-2 major describes the Diagrall functions of the nested EXEC procedure IVPX. tiagrall 6-3 describes test procedure 1. Figure 6-1 shows the relationship of the diagra.s. Diagrall 6-1 describes EXEC procedure, IVP. Diagram 6-4 describes test procedure 2. the highest level tiagrall processing. Diagram 6-1 Diagram 6-2 The IVP EXEC Procedure Overview of the IVPX EXEC Procedure 6-5 describes the error I I Diagram 6-3 Diagram 6-4 Diagram 6-5 Test Procedure 1 Test Procedure 2 Installation Verification Procedure Error Processing Figure 6-1. Key to the Installation Verification Procedure 8ethod of Operation Diagralls 114 IB8 V8/370 Service Routines Progra. Logic Processing Input Output I Parameter List from the IVP command E3 User A-disk (formatted) :> If parameters are passed from CMs'1 they are checked: if the first parameter is not 1, 2, or *, issue ~ message and return to CMS with I"".~· ...,.,....."....~ return code = 1. CMS I .•". 2 Copy the IVPX EXEC file to the :~:::::::::,"> user's A·disk, changing the format to fixed-length (80-<:haracter) records. 3 Invoke the IVPX EXEC as a nested procedure. (See Diagram 6-2 for details.) xxxxxxxx INVALID OPERAND B A-disk file Diagraa 6-1. The liP EXEC Procedure Chapter 6. The Installation Verification Procedure 115 Processing Input I Parameter l List I Output If no parameters are passed and test is not being run by system operator, assume single machine test (IVP*). ------.) 2 If no parameters are passed and test is being run by system operator, the system configuration is displayed. The system waits for the first machine to be logged on and the test started. > =rlb Messages 3 If first parameter is *, set up for single machine testing. Messages 4 If first parameter is 1 or *, execute test procedure 1. (See Diagram 6-3 for details.) 5 If first parameter is 2 or *, execute test procedure 2. (See Diagram 64 for details.l Module Notes 1 When no parameters are specified on IVPX Label ·CKOP the IVP command, the message Notes 3 Set &GLOBAL2=4 to indicate single machine test. Erase all CMS files with filenames IVPTST and IVPTST2. If return code is other than 0 or 2, the ERASE command (to erase the EXEC file) is stacked in the terminal and control returns to the CMS command environment. If the return code is 0 or 2, test procedure 1 (MAIN1A) is executed. *** ARE YOU THE SYSTEM OPER· ATOR? ENTER "YES"OR "NO" is displayed. If the response is NO, the message *** NOT SYSTEM OPERATOR· DEFAULT TO IVP * is displayed, single machine testing is set up [·INIT], and the testing starts at test procedure 1. 2 The real system configuration is dis· Ref IVPX ·CKOP played. The messages *** FROM A TERMINAL, ENTER THE FOLLOWING FOUR COM· MANDS LOGIN IVPM1 (WHEN REQUESTED, ENTER THE PASSWORD IVPASS) DEFINE STORAGE AS 16,384K IPL190 IVP 1 give instructions for running the standard test procedure 1. Then the virtual machine enters a dormant state which can be interrupted by signalling attention from the terminal. The message *** THIS PORTION OF IVP NOW GOING TO SLEEP is displayed and the system waits. Diagram 6-2. Overview of the lVPX EXEC Procedure 116 IBM VK/370 Service Routines Program Logic Module Label -INITB -GETOUT Ref Processing Input I Output I If use rid not specified, set it to IVPM2. 2 Test Section 1 For multiple machine test, spool • the punch to the userid. Create • file. a new assembler language > 3 Test Section 2 • • I Assemble the test program. Create an executable module. 4 Test Section 3 Execute the test program by • name. Read from the virtual card • reader. For multiple machine test, dis• connect the first machine and :,1 Messages test the second machine. 5 Test Section 4 I • Erase all files created bv test procedure 1. Ifsingle machine, go to test procedure 2 {-MAIN2Al, otherwise LOGOFF. Notes Module 1 For a multiple machine test, the IVPX -MAIN1 IVPX -MAIN1A label Ref section 1 is first assembled (ASSEMBLE oomm,.dj "d th,. made executable by issuing the LOAD and GENMOD commands. 4 The test program, iVPTST, is executed. v I 5 All the IVPTST files are erased. If the I IVPX m V I Messages Module The first machine is then disconnected. The operator enters the above commands to start the second machine. The procedure loops (control keeps returning to -LOOPA) until the file to start the second machine is spooled to the reader. The STATE command is issued to verify the existence of the file. The second machine is started. are stacked in the terminal input buffer and edited. 3 The test program created in test I "> Notes userid is set to IVPM2 or to the use rid specified as the second operand of the IVP command. When the userid is set to IVPM2, &GLOBAL5 is set to 2 to indicate the standard test. 2 The assembler language statements ~ Label Ref -FINIS IVPX -INLINE test machine is still connected (&GLOBAL2f3) the following messages are issued. -K256 ...... * TEST SECTION 5 RE:SERVtD - iVPX I -LOOPA Next a READ is issued to the virtual reader and a return code is requested. If the return code is other than 0 or 8, the ERASE command to erase the EXEC file is stacked in the terminal, and control returns to the CMS command environment. When testing multiple machines, the following messages are issued: *** WHEN "VM/370 ONLINE" APPEARS, ENTER THE FOLLOW· ING THREE COMMANDS LOGIN userid (WHEN REQUESTED ENTER THE APPROPRIATE PASSWORD) {IF LOGGING IN IVPM2, THE PASSWORD IS: IVPASSI IPL 190 IVP 2 *** THIS PORTION OF IVP NOW DISCONNECTING -GETOUT I FOR FUTURE USE *** *** IVP TEST 1 SUCCESSFULLY COMPLETED These same messages are sent to the punch if the test machine is already disconnected (&GLOBAL=3). The single machine test resumes at -MAIN2A, test procedure 2. If the standard test is running the message *** IVP TEST 1 FINISHED is sent to the system operator. If &GLOBAL5=1, the test is running in 256K bytes of storage. If running machine tests, go to the LOGOUT routine. The following commands are stacked. ·LOGOUT ERASE IVPX EXEC Al CP LOGOUT The LOGOUT routine closes all files including the punch containing the messages issued after test machine 1 was disconnected. The multiple machine test resumes at -MAIN2, test procedure 2. I I Diagra. 6-3. Test Procedure 1 Chapter 6= The Installation 'erificatioD Procedure 111 Processing Input Output Set up error exit. 2 If multiple machine test and userid not specified, set userid to IVPM 1. 3 Test Section 6 • • Use Editor to create a new file. Assemble the file which con· tains an error. 4 Test Section 7 • • 5 Use the Editor to change the file just created. Assemble the file which now is correct Test Section 8 • Execute the test program. 6 Test Section 9 • 7 • Notes Module 1 Set the error exit to ·FAIL2. For a IVPX Read file from virtual reader. Test Section 10 Erase all files created in test procedure 2. Label ·FAIL2 single machine test, exit directly to the CMS command environment. Otherwise, display the instruction *** WHEN "VM!370 ONLINE" APPEARS, ENTER THE FOLLOW· ING TWO COMMANI)S: LOGIN xxxxxxxx (WHEN REQUESTED, ENTER THE APPROPRIATE PASS· WORD) LOGOUT IVPX ·MAIN2 The test program is loaded and then started. 6 The file is read from the virtual For a single machine test, a dummy message file is created, punched, and spooled to the reader on the same machine. For a multiple machine test, the messages are spooled to the reader on the userid system. IVPX -NOSPL displayed. *** IVP TEST 2 SUCCESSFULLY COMPLETED IVPX ·MAIN2A *** IVP PROCEDURE FINISHED If a single machine test, the command to erase the EXEC file is stacked in the terminal and control returns to the CMS command environment. IVPX If a multiple machine test, the commands to erase the EXEC file and LOGOUT are stacked for CMS. If running the standard test, the messages IVPX ·MAIN2A *** IVP TEST NOW FINISHED *** SIGNAL ATTN AND ENTER: IVPX -LOOP are sent to the system operator. For the mUltiple machine test, control then returns to the CMS command environment. BEGIN reader. If there is no file in the reader on the first loop, a file is created, punched, and spooled to the reader. -LOOP2 Diagram 6-4. Test Procedure 2 118 -LOOP1 is sent to the system operator. The multiple machine test determines that the file was successfully read and punches and prints that file. 7 All files are erased and messages are file is then assembled. Since the error is corrected the TEXT file is created. 5 Label DON'T START SPOOL DEVICES UNTIL TOLD which creates the IVPTST2 ASSEMBLE file. The file just created is assembled. Error 8 occurs because the ASSEMB LE file contains one error. 4 The statement in error is corrected. The Module The STATE command is issued to be sure the file is successfully read oni:o disk. The contents of the file are displayed. For multiple machine standard test, the message userid is set to IVPMl or to the use rid specified as the second operand of the IVP command. When the use rid is set to IVPM 1, &G LOGA L5 is set to 2 to indicate the standard test. 3 The input data is stacked for the editor, Notes The input is stacked in the terminal for the editor. A dummy message is edited and punched. Control returns to -LOOP. The ERASE and LOGOUT commands are stacked in the terminal and the EXEC procedure exits with a return code of 1. Execution is now ended within the nested EXEC. The return code of 1 forces the next level EXEC to exit to the CMS command environ· ment. 2 For a multiple machine test, the Ref IBM VM/370 Service Routines Program Logic -GETOUT Ref Processing --,-----> ImaQe of failing command If test procedure 1 running disconnected, punch aii the messages. 2 Display failure messages. 3 If running standard test, display instructions. Expected return code 5 If command was ERASE with file- Received return code Is Module Notes 1 If test machine 1 is disconnected the IVPX type of * and the single machine test is not running, exit with return code 1. ~ · of test procedure 1 or Erase all files test procedure 2. ~ Label Ref 2 The message ... ... - _ ............. ,,"'" ___ IV .... r-AILUrll: nA;)UvvUn RED *** I I CMS ~ CMS Notes Module Label Ref IVPX I,", I II is displayed. 3 The messages *** IVP HAS FAI LED - REPLY NO TO ABO RT MESSAG E *** SIGNAL ATTN AND ENTER: BEGIN are sent to the system operator. IVPX 4 The messages *** COMMAND: xxxxxxxx *** EXPECTED RETURN CODE xxx *** RECEIVED RETURN CODE xxx are displayed. IVPX 5 Control returns to the next level EXEC IVPX Is I return code. A nonzero return code forces the next level EXEC to return to the CMS command environment. -CHECK1 messages are sent to the punch, rather than the virtual machine console. *~ failure message [operator instructions) failing command 4 Display failing command. -CHECK2 procedure and the return code of 1 forces that level to return to the CMS command env;·onrr.ent. If the number of the test section is less than 6, all the IVPTST files are erased. If the number of the test section is greater than 5, all the IVPTST2 files are erased. Because this is a nested EXEC procedure, exit with a nonzero IVPX -QUIT Diagraa 6-5. Installation Verification Procedure Error Processing Chapter 6. The Installation VerificatioD Procedure 119 Program Organization structuring of the major routines of the IVP. Figure 6-3 relates the test sections to the CP or CftS functions being exercised. The IVP (Installation Verification procedure) consists of two EXEC procedures: IVP and IVPX. Figure 6-2 shows the INSTALLATION VERIFICATION PROCEDURE ROUTINE STRUCTURING IVP EXEC I IVPX EXEC Set up Single Machine Test Test Procedure 1 I Test Procedure 2 Test toSection 1 ~ Test Section r- 2 I 4 ~ ~ 7 L 3 I ~ 6 ~ 8 I 9 10 Test Procedure 2 Test Procedure 1 - Test Section 1 I Test Section I---- I-- 2 I ~ 6 3 4 I 7 I I sr}10 Error Processing -- I Figure 6-2. Structure of Installation Verification Procedure Routines 120 IBM Vft/370 Service Routines Prograa Logic INSTALLATION VERIFICATION PROCEDURE TESTING Program CP Function Tested T~st Section and Ccagents ftultiple virtual .achine support Test Procedures 1 and 2 testl multiple virtual machine support when IVP * is not specified or assumed. I/O Spooling Test Sect ion 9. Transferring of spooled data to other virtual machines Test Section 9 when IVP is not specified or assumed. Offline operations Test Section 9 .• Sending aessages to system operator. Test Sections 4 and 9. Page operations Used throughout IVP. Task dispatching and scheduling Used throughout IVF. Disk I/O support Used throughout IVP. Autoaatic warm start Error processing. Co •• and processing Used throughout IVP. Copying of files The IVP EXEC procedure. Creation and modification of files via EDIT coamand Test Sections 1. 6. and 1. Asse.bly of executable .odules Test Sections 2. 6. and 1. Execution of user programs Test Sections 3 and 8. * =========-============================================================================= CftS creation and execution of user-written! Test Section 3. coamands I printing and punching of eMS files. Test Section 7. Multilevel EXEC procedures. Used throughout IVP. Figure 6-3. Installation Verification Procedure Tests Chapter 6. The Installation Verification Procedure 121 Directory This section contains an alphabetical list of the labels in the IiPX EXEC procedure. Figure 6-4 describes the function performed at the point in the program corresponding to each label; the associated method of operation diagraa is refErenced. r----------------------------------------------------------------------------------------, Label Diagraa Description -CHECK1 -CHECK2 -CKOP 6-5 6-5 6-2 -FAIL2 6-4 -FINIS -GETOUT 6-3 6-2 6-3 6-ij 6-2 6-3 6-3 -IIITB - liLliE -K256 -LOGOUT -LOOP 6-3 6-4 6-4 -LOOP! -LOOP1 -LOOP2 6-3 6-4 6-4 -MAIN1 -MAIN1A 6-3 6-3 -MAIN2 -MAIN2A 6-4 6-4 -NOSPL -QUIT 6-4 6-5 Sends messages to punch when aachine is disconnected. Displays the failing coamand. Sets up for execution when liP is invoked without any paraaeters specified. Exits to CMS co •• and environment if single machine test is running. Issues instructions if aultiple aachine test is running. End of Test Procedure 1. Error exit for single aachine test. Sets up for single machine test. Erases all files created during ~est Procedure 1. Assembles and executes the prograa created in Test Section 1. Error exit for aultiple machine test. Reads file from the virtual reader during Test procedure 2. Reads froa the virtual reader during Test Procedure 1. Checks that file is read to disk successfully. Creates file, punches it, and spools it to reader when there is no file in the reader. Beginning of Test Procedure 1. Point in Test Procedure 1 where the single aachine test begins. Beginning of Test Procedure 2. Point in Test Procedure 2 where the single aachine test begins. Erases all files created in Test Procedure 2. Abnoraal end exit froa a nested EXEC procedu~e. igure 6-4. Installation Verification Procedure Label Directory 122 IBM VM/370 Service Routines program Logic Diagnostic Aids Figure 6-5 is a list of all the aessages that the IVPX EXEC procedure issues, the label nearest to the point where the Label Diagram -CKOP -CKOP -CKOP 6-2 6-2 6-2 -CKOP 6-2 -AB8SG -ABMSG -ABI!SG -PERFORM -CHECK1 -CHECK1 6-5 6-5 -CHECK2 6-5 -LOOPA 6-3 -INLINE -INtIRE1 6-3 -LOOP1 -NOSPL 6-4 6-4 -NOSPL 6-4 -FAIL2 6-4 Figure 6-5. 6-3 message is issued, and the method of operation diagram. associated Message Text *** *** *** ARE YOU THE SYSTEM OPERATOR? ENTER "YES" OR "NC". NOT SYSTEM OPERATOR - tEFAUL~ TO IVP * FROM A TERMINAL, ENTER THE FOLLOWING FOUR CC~MANDS: LOGIN IVPBi (WHEN REQUESTED, ENTER THE PASSWORD IVPASS) DEFINE STORAGE AS 16384K IPL 190 lVP 1 *** THIS PORTION OF IVP NOW GOING TO SLEEP. *** STARTING SYSTEM AEORT ROUTINE. *** ENTER "GO" TO CONTINUE OR "NC" TO QUIT. *** THIS IS THE LAST STEP OF THE IVP PROCEDURE. *** FOLLOWING SYSTEM RESTART (iARI! START), STARt SFCOLING DEVICES. !ANUALLY DEPRESS CPU RESTART KEY TO ABORT SYSTE!. *** STARTING TEST SECTION x *** lVP FAILURE HAS OCCURRED *** *** IVP HAS FAILED - REPLY NO TO ABORT !ESSAGE *** SIGNAL ATTN AND ENTER: BEGIN *** COMMAND: xxxxxxxx *** EXPECTED RETURN CODE xxx *** RECEIVED RETURN CODE xxx *** WHEN "V8/370 ONLINE II APPEARS, ENTER THE FOLLCWING THREE CO!MANDS: LOGIN xxxxxxxx (WHEN REQUESTED, ENTER THE APPROPRIATE PASSWORD) (IF LOGGING IN IVPM2, THE PASSWORD IS: IVPASS) IPL 190 IVP 2 *** THIS PORTION IS NOW DISCONNECTING *** TEST SECTION 5 RESERVED FOR IUTURE USE *** *** lVP TEST 1 SUCCESSFULLY COEPLETED *** IVP TEST 1 FINISHED DON'T START SPOOL DEVICES UNTIL TOLD. *** IVP TEST 2 SUCCESSFULLY COMPLETED *** IVP PROCEDURE FINISHEt *** IVP TEST 2 FINISHED *** SIGNAL ATTN AND ENTER: BEGIN *** WHEN "VM/370 ONLINE" APPEARS, ENTER THE FCLLCWING TWO COMMANDS: LOGIN xxxxxxxx (WHEN REQUESTED, ENTER THE APPROPRIATE PASSWORD) LOGOUT The Installation Verification Procedure Bess ages Chapter 6. The Installation Verification Procedure 123 124 IBM VMj370 Service Routines program Logic Chapter 7. Procedures for Generating and Updating VM/370 Introduction The V!/370 update facility provides for the updating of files with several levels of updates and any number of program temporary fixes (PTFs). For Assembler language source statement files, procedures are supplied for assembling the updated source code to produce a uniquely defined text deck. The deck has a unique name and some control cards to identify the origin of the updates, macro libraries, and source statements. For macro library files, a copy file is prod~ced to identify the origin of the input and any updates applied. Procedures are provided for generating load files from various object modules, and for generating MICLIB files from various COpy and 8ACRO files. The procedure for updating V8/370 has a file naming convention for update and text files, a set of programs to support the processing, and a set of EXEC procedures and modules to process the files. • The VMFASM procedure incorporates or updates. • The GENERATE procedure generates standalone card deck on disk. • The VMFLOAD module generates a CMS, or RSCS nucleus. • The VMFMAC procedure generates macro library. PTFs a new new CP, a new UPDATE FILES Files used to update another file are ~iven a filetype of UPDTxxxx, where XXXX 1S a unique upda!~ ig~nti!ief for programmer and system use. The filename of the update file must be the salle name as the file to te updated. For instance, the file PROGRAM ASSEMBLE could be updated by the file PROGRAM UPDTGN30 or the file PROGRA! UPDTGC61. The creation and use of update files are described in the UPDATE command discussion in the V!!Ll1Q: C!!~ £ommand §1l~ 1I~~ !~fere1!£§. TXT FILES Text files are produced by the assembler as a part of the V!FASe procedure. The filename of the text file is the same as the filename of the ISSE!ELE file. The filetype of the completed text deck is TXTnamex, where 'namex' represents a unique YEgate level identifer. The value of 'namex' is taken from a control file, and corresponds to the highest level of update applied. In addition, the text deck is produced from a combination of the assembler text deck and an auxiliary control file containing data describing the origin of the files used. The auxiliary file is called 'filename UPDATES' and is produced ty a program called VMFDATE. The filename is the same as the filename of the UPITxxxx file. CONTROL FILES Each user may have several control files to specify various combinations of updates and macro libraries to be used. A control file must have a filetype of CNTRL. These control files contain records in the following format: namOO iiall01 na.02 iiai03 na.04 !!ACS maclib1 aaclib2 ••• UPDTup1 UPDTup2 UPDTup3 lUXxxxxx The suffixes up1, up2, up3, and xxxxx are ~pdat~ identifier fields, and the fields namOO, nam01, nam02, na1l03, and nam04 are update level i.£~tifie!:.§. The first record is the !AeS record that defines the macro libraries (maclib1 maclib2 ••• ) to te used in the assembly in the order of search required. up tc five libraries may be specified. Records 2, 3, and 4 are update identification records. They define the UPITxxxx files that were created (via update control cards and source statements) to update some particular file. Record 2 defines a UPDTup1 file, and records 3 and 4 define UPDTup2 and UPDTup3 updates, Chapter 7. Procedures for Generating and Updating V~/370 125 respectively. None, some, or all of updates may exist to be applied. the Record 5 defines an auxiliary file that specifies an auxiliary list of PTFs or updates that are to be applied. Record 5 defines an auxiliary file identified as 'filename AUXxxxxx', where 'filename' is the same as the filename of the input file and xxxxx is an update identifier (the update identifier for an auxiliary control file cannot be "aux"). Records in the auxiliary file have the following format for PTFs to be applied: PTF PTF * A30246CA A21726CA 107426Cl Any comment The PTF field is an optional identifier, and the second field (for example, A30246CA) defines a specific PTF to be applied. The PTF has a 'filename A30246Cl' identification, where 'filename' is the same as the filename of the file to be updated. The filetype of a format Axxxx6Cl is used to indicate an APAR answer or PTF for APAR number xxxx. The comment field is used to describe the function of the particular PTF. The * record is ignored and is used to provide additional comments on any updates or PTFs. The updates (PTFs included) are applied in the reverse order in which they appear. In the previous example, the updates would be applied in the following order: A07426CA A21116CI A30246CI UPDTup3 UPDTup2 UPDTup1 The PTF records can be directly included in the CNTRL file if desired, but it is usually more convenient to place them in a separate auxiliary (AUXXXxxx) file. There can be any number of UPDTxxxx definition and auxiliary control file definition records, but only one BACS record. The complete CNTRL file can have any filename, but typically has the same name as the first specified UPDTxxxx control record. In the example. the file could be named UP1 CNTRL. The underlined fields in each record mark the level identification fields. The highest level (last) update to be applied selects the name that can be used to identify updated files. In the example, if UPDTup3 was the last update applied, then 126 the name selected would be naa03e The value for the identification usually consists of a combination of the update identifier uP'. up2, (uP to four characters) and additional characters up to a maximum of 5 for the combined update identifier and additional characters. If no updates are applied, then the namOO field is selected to identify the TXTnamOO produced. This name can be used to uniquely identify updated files. The text files described above, for instance, can have a filetype of TXTup3. It is desirable, on occasion, to have entries in the user CNTRL file that specify a level identification but no update. A record of the following format. for example. is allowed: This is because the control file serves a double purpose and is used for loading text decks as well as updating input files. An identifier of TEXT as a name causes special handling in the VBFASe EXEC procedure. whether or not an update is used with it. A name of iEXT is used without level identification catenation. Thus, TEXT becomes the filetype. SYSTEM EXEC PROCEDURES Several system control files provide for system update and creaticn. Some EXEC procedures invoke others cr make use of user-supplied control files to accomplish various functions such as multilevel updating, text generation, and macro library generation. The VMFASft procedure performs the multilevel update function by invoking the DftSUPD module (via the CBS UFDITE command) before assembling the desired files. To update and assemble a source file. the VMFASft procedure is invoked in the following way: VBFASft filename control [options] where 'filename' is the name of the ASS'lftBLE file to be processed and 'control' is the naae of the user CNTRL file that contains the BICS (macro library), update, and any lUXxxxx control records. The VMFASM procedure invokes the DftSUPD module via the CMS UPDATE co.mand, passing the values 'filename', 'ASSEMBLE', and 'control'. IBM V"/370 Service Routines program Logic The UPDATE comaand returns a level identifier and a MAC LIB list froa the 8ACS record of the control file. If the identifier is TEXT, then that becomes the filetype of the complete text deck; otherwise the filetype is TXTxxxxx (for example, TXTup3m1). The EXEC procedure then reads the MACLIB list passed by UPDATE and issues a GLOBAL command to prepare for the assembly using the specified libraries. The ASSEMBLE program is invoked with the specified options. If no options are specified for the ASSEMBLE command, the defaults are: PRINT, NOTERM, LIST, NODECK, NORENT, SYSPARM(), and XREF(FULL). The options that can be specified for the VMFASM EXEC are: DISK, NOTERM, NOLIST, DECK, RENT, EXP, XREF, and RLD. The defaults for the VMFASM EXEC are: PRINT, TERM, LIST, NODECK, NORENT, SYSPARM(SUP), XREF(SHORT), and NORLD. The VMFDATE program is used to construct a record for each MACLIB used and for the ASSEMBLE file. Each record is placed in the auxiliary file 'filename UPDATES'. The text deck produced by the assembler is combined with the file produced by the VMFDATE program and is named 'filename TXTxxxxx', where 'filename' is that of the ASSEMBLE file, and 'TXTxxxxx' is constructed from the update level identifier returned by the UPDATE co.mand. All intermediate files are erased, leaving only the original ASSEMBLE and UPDTxxxx files, and the newly created text file. Procedure ----The GENERATE procedure is generally used during system generation. It can build a CP, CMS, or RSCS nucleus and punch or create self-loading card decks for the four standalone service programs (DMKDIR, DMKDDR, DMKFMT, and IBCDASDI). GENERATE can also build a new VM/370 directory, a new real I/O deck (DMKRIO), a new buffer load (DMKFCB), a new system name table (DMKSNT), or a new system deck (DMKSYS). GENERATE can also load the IPCS modules from tape onto the IPCS A-disk. The GENERATE procedure uses the V8FASM EXEC procedure to reassemble DMKRIO, DMKFCB, DMKSNT, and DMKSYS. It also uses the VMFLOAD program to build the CP, CMS, or RSCS nucleus. VMFLOAD SERVICE PROGRAM file identical in foraat to the CNTRL file used by V8FIS! and UPDATE, to produce a punched deck comprised of several text files: The V!FLOAD progra. is invoked as a C8S command in the following way: V!FLOAD loadlist control The loadlist is a user-supplied EXEC file consisting of several records of the following format: &CONTROL OFF &1 &2 &3 filename [filetype] &2 &2 &3 filename [filetype] The 'filename' specifies the name cfa text file to be punched. The text files are punched in the order specified. If a filetype is specified, a search is made for that specific file, and if it is found it is punched without a header card, and "the search then bypasses the contrel file. If the filetype is not given, the specified control file is used to search for the highest level text file available, and it is punched. The VMFLOAD program displays a confirmation or error message uFon completion. Before invoking the loadlist procedure, a SPOOL PCB CCNT command line is executed to assure that the punched files appear as one deck. The command lines SPOOL PCE NOCONT and CLOSE PCB are executed uFon completion. The control field is used only if the filetype is not specified. The centrel field specifies a user-suPFlied centrel file with a filename of 'control' and a filetype of CNTRL. This control file is of the same type and format as the one used to perform multilevel updates. Indeed, mest often the file used to Iroduce the updated and assemtled text decks is the one used to load the text decks. V!FLOAt uses the control file to search for the desired text deck in the order in which the identifiers are specified in the file. The first file lecated is punched, and all lower files are igncred. If the end is reached without finding a text file, VMFLOAD displays the message 'filename TEXT' NOT FOUND, and continues processing with the next entry in the loadlist EXEC. It is quite possitle te have a comFleted load deck coaprised of different levels of text decks. The VMFLOAD program uses two user-supplied procedures, a loadlist EXEC and a 'control' Chapter 7. Procedures for Generating and Updating VM/370 127 D!KLDOOE SERVICE PROGR1! The loader (DftKLDOOE) is a service progra. that is used to generate a CP, C!S, or RSCS nucleus. The loader loads the text decks supplied with it, resolves CCi addresses, and resolves address constants. The sa.e loader is used whether a virtual=real or standard CP system is generated. The loader is distributed following default I/O addresses: with the Console=009 Printer=OOE These addresses can be overridden by a control card that must be placed between the loader END card and the first card of the text decks. The format of the control card is: Column The text decks being leaded must not try to overlay either the loader or any address between zero and 100 (hexadecimal). The text decks are loaded into storage in a positive direction (that is, upward through storage). If the text decks are going te overlay the loader's free storage, the operation is terminated. THl VMFMAC !ICRO LIBRARY UPDATE PROCEDURE The V!FM1C procedure applies updates to copy or .acro files and builds a new macro library. The VMFMAC EXEC procedure is invoked with the following com.and line: VMFMAC .aclibna.e cntrlname Contents .aclibna.e 1 2-4 5 6-13 14 15-22 0-2 punch DEV blank PRNT=xxx (xxx is the printer address) blank TYPi=xxx (XXX is the console address) The format of the other control cards can be found in the discussion of the LOAD command in the !M/31Q £~~ £2~nd and MacE2 &1 &2 filename1 &1 &2 filename2 cntrlnalle !efere1!'£~. The loader is self-relocating, that is, it is initially loaded at address 8000 (decimal); it then relocates itself to the top of storage. (For example, if the size of the loader is 10K, and the storage size of the system is 256K, the loader will occupy the area of storage between 246K and 256K.) After relocating itself, the loader clears the storage it was originally loaded in. Is the loader needs free storage to perform its operations, it extends downward through storage. 128 is the filename of the file that contains a list of the .acro and copy files that are to be included, or updated and included. in the new macro library. This list file must have a filetype of EXEC and each entry in the maclibname EXEC file has the following for.at: is the filename of the control file used to apply the updates. The control file (filetype CNTRL) may contain the actual update or only the names of other files that contain the updates. The UPtATE co.mand is issued for each macro or copy file. If the update procedure is successful, the member is added to the BEWM1C !ACLIB. After all macro and copy files have been processed, any existing libname !ACLIE file is erased and the NlWftAC ftACLIE is renamed to libnaae IUCLIE. IBM VM/370 Service Routines Program Logic Method of Operation the following This section describes and updating procedures fer genera ting V8/370: • • • tiagram 7-7 describes the multiple level update procedure. tiagram 7-8 describes the processing cf control records for the Update program. Update procedure Nucleus loading facility The MACLIB generation facility Diagram 7-9 describes the update procedure. Figure 7-1 shows the relationship of the diagrams. Diagra. 7-1 shows the :ajor functions of the V8FAS8 procedure. Diagram 7-2 shows the initialization of the VMFASM procedure. Diagram 7-3 describes the assembling portion of the VMFASM procedure. Diagram done. 7-10 shows single level how inserting Diagram 7-11 describes the procedure for the Update program. Diagram 7-12 program. Diagram 7-13 describes the describes the is exit .odule load Frocedure that builds the 8ACLIB. Diagram program. 7-4 describes the VMFDATE Diagram 7-14 describes the functions of the GENERATE procedure. Diagraa 7-5 describes the major functions of the DMSUPD (update) progra=. major Diagra= 7-15 describes the CP pcrtion of the GENERATE procedure. Diagram 7-6 describes the operand and option checking for the Update program. Chapter 7. Procedures for Generating and Updating V!/370 129 Diagram 7·1 Overview of the Assembler Update Procedure I I Diagram 7·2 Initialization of the VMFASM Procedure I Diagram 7-4 The VMFDATE Program I Figure 7-1. 130 Diagram 7·6 Operand and Option Checking Diagram 7·12 Diagram 7·13 Diagram 7·14 The Nucleus Load Program VMFMACMacro Library Creation Program The GENERATE Procedure I I Diagram 7·3 Diagram 7·15 Assembling Portion of the VMFASM Procedure Generating a CP System 1 Diagram 7·5 Overview of the Update (DMSUPD) Program , I Diagram 7·7 Diagram 7·9 Diagram 7·11 Multiple Update Procedure Single Update Procedure Exit Processing I Diagram 7-8 Diagram 7·10 Control Record Processing Inserting Updates Key to the Procedures for Generating and Updating Diagrams IBM VM/310 Service Routines Program Logic V~/370 !ethod of CFeraticn Input Processing I 1 Initialize the Assembler Language 1 update procedure. (See Diagram 7·2 fo!" details.) 2 Assemble the program. (See Diagram 7·3 for details.) Diagram 7-1. Overview of the Asseabler Update Procedure Chapter 7. Procedures for Generating and Updating VM/370 , ..... 1'31 Processing Input > filename xxxxxxxx filetype ASSEMBLE Output Set EXEC control off. 2 If any options are specified, reset the default option to the specified option. 3 Check that the ASSEMBLE file filename xxxxxxxx filetype CNTRL exists. If file not found, issue message, set return code=1 and exit. ur ~ *** filename ASSEMBLE NOT FOUND *** I 4 Check that the control file exists. If file not found, issue message, set return code=2 and exit. 5 ."" Set up printer to spool continually. ~ *** filename CNTRL NOT FOUND *** ~ CMS Module Notes 1 The CMS commands executed and the Label Ref Notes VMFASM return codes that result will not be displayed on the virtual machine console. 2 The default options are: PR INT, VMFASM TERM, LIST, NODECK, NORENT, SYSPARM(SUPI. XREF(SHORT), and NOR LD. The options specified for the VMFASM EXEC are: DISK, NOTERM, NOLlST, DECK, RENT, EXP, XREF, and RLD. 3 The CMS STATE command is executed. VMFASM ·STSYS A nonzero return code indicates that the ASSEMBLE file was not found. 4 The CMS STATE command is executed. VMFASM ·STCTL A nonzero return code indicates that the CNTRL file was not found. 5 The CP SPOOL command is executed. VMFASM Diaqram 7-2. Initialization of 132 ·FUPD ~hp V"Fl~" Prnr~~"r~ IB! VM/310 Service Routines Progra. Logic Module Label Ref Processing Execute the update module (DMSUPD). (See Diagram 7-5 for details.) 2 Read the macro library list. 3 Indicate the Assembling options. filename xxxxxxxx filetype ASSEMBLE 4 Complete the control file, execute filename xxxxxxxx filetype TEXT or TXTxxxx the VMFDATE module. (See Diagram 7-4 for details.) 5 Update the log stacked in the printer. 6 Create a new text file. 7 Erase the intermediate files. ~I LS I u Program Listing Notes Module 1 The DMSUPD module is executed. The VMFASM name of the ASSEMBLE and CNTR L files and a filetype of ASSEMBLE are passed to the DMSUPD module. The DMSUPD module returns a level identifier and a MACUB (macro library lis :~turn A code between 20 and 36 causej the VMFASM EXEC procedure to display the message *** ERROR UPDATING filename and return control to the CMS command environment. Notes If no options were specified on the VMFASM command, the default options are assumed and the message ASMBLING filename is displayed. Ref ·ASMP VMFASM The UPDATES fiie is printed on the virtual printer and then erased. Viv'iFASM -DTF VMFASM -DTF VMFASM -COMB rTF is displayed. The STATE command is issued to see if a text deck actually exists. If the text deck does not exist, the message *** NO TEXT FOR filename *** is displayed, the VMFASM EXEC procedure terminates, and control returns to the CMS command environment. VMFASM 7 The new text file, original ASSEMBLE file, and any UPDTxxxx files are saved. The message The CMS GLOBAL command is issued to identify the macro libraries that will be used during the assembly. filename{TEXT } CREATED TXTxxxx is displayed. All intermediate files are erased. The printer is closed and control returns to the CMS command environment. VMFASM command, the message ASMBLING filename (options ... ) is displayed indicating the specified options. Label The VMFDATE module IS executed once more to complete the UPDATES file. for each MACLIB. 3 If any QPtions were specified on the Module ASSEMBLE returns a nonzero code, the message *** ERROR ASMBLING filename *** If the return code is 40 (no updates), the filename is the same as the filename of the original ASSEMBLE file. Otherwise, the filename is set to the updated filename. The MACUB list is read. The VMFDATE module is executed once -FUPD Ref 6 The updated file is assembled. If If the level identifier is TEXT, TEXT becomes the filetype of the completed text deck. If the level identifier (xxxxx) is not TEXT, the filetype becomes TXTxxxxx. 2 Label VMFASM EXIT Diagram 7-3. Assembling Portion of the V!FAS! procedure Chapter 7. Procedures for Generating and Updating VM/370 133 Processing Input Output VFMASM r:hv filename filetype filemode Check that the correct number of operands are passed. 2 Check that the file exists. 3 Create entry in UPDATES file. LF I UPDATES file I 4 Close the file. I ... ~ Return to Caller Notes 1 Six operands should be passed to the Module Label VMFDATE VMFDATE VMFDATE TEST Ref Notes VMFDATE module. The first three operands are the filename, filetype, and filemode of the input file. The next three operands are the filename, filetype, and filemode of the output file. 2 If the input file does not exist, control returns to the calling routine. 3 Each time the VMFDATE module is VMFDATE called, it creates an entry in the VMCNTR L file indicating that an update was applied. The format of each entry is: * filename filetype filemode volid date time The disk label is picked up from the ADT (Active Disk Table). 4 The UPDATES file is closed and VMFDATE control returns to the calling routine. Diagra. 7-4. The 134 yftFDATE Progra. IBM VM/370 Service Routines Progra. Logic Module Label Ref Processing Input I I ur r-----------------------~ Output Initialize the update program. 2 Examine input operands and options. (See Diagram 7-6 for details.) 3 Find the disk that contains the source file. 4 Determine the disk that will contain the output file. 5 C-heck that needed files exist, 6 If CTL is specified, perform multiple update. (See Diagram 7-7 for details.) -;-1--> Ell llllLI --v 7 Otherwise, perform single update. DMSUPD002E m I V DMSUPD037E (See Diagram 7-9 for details.) 8 Exit. (See Diagram 7-11 for details.) DMSUPD024E Module Notes 1 Registers 12, 11, and 9 are set up as [2 I I Ref Label DMSUPD DMSUPD return code of 24 in register 15. DMSUPD DMSUPD If the DISK option was specified, an old copy of 'filename UPDLOG' is erased (if one exists). base registers. All indicators are set off. The filename operand is required. 3 DiviSUPD checks that the source input I DMSUPD file exists. If not, the message DMSUPD002E FILE 'fn ft fm' NOT FOUND is displayed and control returns to the CMS command environment with a return code of 28 in register 15. PROCESS INOFILE I I I I 4 The DMSUPD module searches for a I DMSUPD suitable disk to hold the output files. I PROCESS First, an attempt is made to place the files on the same disk that contains the original input. If the input disk is readonly, but is an extension of a readl write disk, an attempt is made to place the files on that disk. Lastly, an attempt is made to place the files on the A-disk. If all these attempts fail, the message DMSUPD037E DISK 'A' IS READI ONLY is displayed and control returns to the CMS command environment with a return code of 36 in register 15. 5 DMSUPD issues the STATE command Notes DMSUPD I I Module If the control file option (CTL) IS specified DMSUPD checks that the control file exists and continues processing at the CTLMULT (multiple update) routine. If the control file option is not specified, DMSUPD checks that the single update file exists and continues processing at the single update (SINGUPD) routine. Ref Label INOERASE I I I ILOCTUPD I 6 See Diagram 7-7. DMSUPD CTLMULT 7 See Diagram 7-9. DMSUPD SINGUPD 8 See Diagram 7-11. DMSUPD RETROO1 PROCESS to see if the UPDATE CMSUTl file already exists: it should not exist. If the CMSUTl file exists, the message DMSUPD024E FILE 'UPDATE CMSUTl fm' ALREADY EXISTS is displayed and control returns to the CMS command environment with a Diagraa 7-5. Overview of the Update (DMSUPD) Prograa Chapter 7. Procedures for Generating and updating f8/370 i35 Input Processing filename filetype filemode options ~--> Output 1 Examine the operands. 2 Handle invalid operands. ~ ~~ ~ I 3 Check the filename. REG15 ~ > DMSUPD070E 4 Examine the options. A. Handle unrecognizable options. B. Handle options specified twice. C. Handle conflicting options. REG 15 ~ :0 -,.-- DMSUPDOO1E REG 15 ~ . --y DMSUPDOO3E DMSUPD065E DMSUPD066E DMSUPD187E No_ 1 Module DMSUPD uses the filename operand to set up the disk parameter lists for input, update log, and auxiliary files. All the operands (except the required filename) and all the options are read by branching and linking to the OPTSCAN routine. DMSUPD Label Ref DMSUPD C. If two conflicting options are specified, the message specified before the left parenthesis, the message DMSUPD070E INVALID PARAMETER 'param' EXCESIV DMSUPD066E 'option' AND 'option' ARE CONFLICTING OPTIONS NOFNAME is displayed and control returns to the CMS command environment with a return code of 24 in register 15. The conflicting pairs of options are: SEQS, and NOSEQa, INC and NOINC, REP and NOREP, STK and NOSTK, TERM and NOTERM, CTL and NOCTL, CTL and NOINC, and DISK and PRINT. is displayed and control returns to the CMS command environment with a return code of 24 in register 15. DMSUPD specified. If no operands are found, the message DMSUPDOO1E NO FILENAME SPECIFIED If the STK option is specified without the CTL option, the message is displayed and control returns to the CMS command environment with a return code of 24 in register 15. DMSUPD187E OPTION 'STK' INVALID WITHOUT 'CTL' DMSUPD is displayed, and control returns to the CMS command environment with a return code of 24 in register 15. specified are: SEQS, NO INC, NOREP, NOCTL, NOSTK, TERM, and DISK. When the last option is processed, control returns to the PROCESS routine. A. If an unrecognizable option is specified, the message INVOPTN DMSUPD003E INVALID OPTION 'option' Diaara. 7-6. Operand and option 136 Label OPTDUP DMSUPD065E 'option' OPTION SPECIFIED TWICE is displayed and control returns to the CMS command environment with a return code of 24 in register 15. 2 If more than six operands are 4 The options assumed, if not otherwise Module is displayed and control returns to the CMS command environment with a return code of 24 in register 15. B. If an option is specified twice, the message The first three operands are the filename, filetype, and filemode of the file to be updated. The next three operands are the filename, filetype, and filemode that describe the update or control file to be applied. 3 Only the first operand must be Notes Chp~king IBM VM/370 Service Routines Progra. Logic OPTCONF ERSC Ref Processing Input I > Output Read the 'MACS' record. 2 Process the control records. (See Diagram 7-8 for details.) 3 At end, exit. I J~ REG 15 I RC32 I II DMSUPD179E DMSUPD183E Tl Stacked lines, if 'STK' option specified I REG 15 ~ ~ II DMSUPD179E Notes 1 The macro library (MACS) record is read from the beginning of the control file and saved. If the MACS card is not found, or is not the first noncomment card in the control file, the message Module DMSUPD Ref Label Label Ref is displayed and control returns to the CMS command environment with a return code of 32 in register 15. CTMULT ERMACS If STK is specified, the updated level ID is stacked in the terminal input DMSUPD179E MISSING OR DUPLI- stack. CATE 'MACS' CARD IN CONTROLI FILE 'fn ft fm' I Module Notes is displayed and control returns to the CMS command environment with a return code of 32 in register 15. I If the MACS control card is invalid, the message II I I I BATCTLC DMSUPD183E INVALID CONTROL FILE CONTROL CARD is displayed and control returns to the CMS command environment with a return code of 32 in register 15. 2 See Diagram 7-8. DMSUPD ~LGETM 3 If a 'MACS' record is read, the file is completely processed. The control file is closed. DMSUPD ~TLDONE If this MACS card does not have an item number identical to that of the MACS control card originally read, the control file contains duplicate MACS control cards. The message ~RMACS DMSUPD179E MISSING OR DUPLICATE 'MACS' CARD IN CONTROL FILE 'fn ft fm' I I I I Diagra. 7-1. 8ultiple Update Procedure Chapter 1. Procedures for Generating ana Updating V8/310 131 Input Processing Output 0 If PTF or normal update, update t h e o r UPDATES file, perform single-level update (see Diagram 7-9 for details) and return to read the control file_ 2 Module Notes 1 The control file is read from the bottom up. If the control record is valid, the message DMSUPD183E INVALID CONTROL FILE CONTROL CARD DMSUPD If auxiliary file, update the UPDATES file, perform update (see Diagram 7-9 for details). and return to read the next auxiliary record. At end of auxiliary file, read control file. Label Ref I Notes CTLGETM BADCTLC 2 DMSUPD checks that the auxiliary file exists. If not, control returns to the read routine (CTLREAD). If the auxiliary file is found, it is read from the bottom up. If the PTF or update file is not found, control returns to the read routine (CTLREAD). If the file is found and the update is not being performed in storage, the message CTLOCUP If the PTF file within the auxiliary file is not found, the message CTLUMSG DMSUPD1781 UPDATING 'fn ft fm' WITH 'fn ft fm' DMSUPD180W MISSING PTF FILE 'fn ft fm' CTLUMSS is issued. The RETCODE value is set to 12 if it has not been set higher previ0usy. Processing continues with the next record from the auxiliary file (AUXREAD). SMALLCOR is displayed if the input file is too large for the acquired storage. If the STOR option was not specified explicitly, the message DMSUPD304E UPDATE PROCESSING WILL BE DONE USING DISK IMPLICIT is also displayed. If the STOR option was specified, control returns to CMS with a return code of 40 in register 15. If processing continues, the input file is read into the acquired storage, the message DMSUPD1781 UPDATING 'fn ft fm' WITH 'fn ft fm' When a valid record is read from the auxiliary file, the message DMSUPD1781 UPDATING 'fn ft fm' WITH 'fn ft fm' is displayed and an entry is made in the UPDATES file. Then the SINGUPD routine applies the update. After the update is performed, control returns to CTLCONT which retums control to AUXREAD. This loop continues until the entire auxiliary file is processed. At the end of the auxiliary file. the file is closed and control returns to the control file read routine (CTLREAD). If an invalid card is found in the auxiliary file, the message CTLUMSS is displayed, and an entry is made in the UPDATES file. DMSUPD183E INVALID AUX FILE CONTROL CARD is displayed and control returns to the CMS command environment with a return code of 32 in register 15. Diagram 7-8. Control Record processing 138 Module Label DMSUPD AUXFIND CTLlPTF is displayed and an entry is made in the UPDATES file. If the update is being performed in storage, free storage is acquired to contain the input file. The message DMSUPD300E INSUFFICIENT STORAGE TO BEGIN UPDATE UPDATE Log Then a branch to the SINGUPD routine transfers control to the single update routine. After the update is performed, control returns to CTLCONT CTLREAD is displayed, and control returns to the CMS command environment with a return code of 32 in register 15. I IB! V!/370 Service Routines Program Logic NOFILEW CTLUMSG CTLUMSS AUXREAD AUXFINT BADAUXC Ref Processing Read update control statement. o 2 Handle the resequence control statement. 3 Handle the insert control statement. (See Diagram 7·11 for details.) Control Statements 4 Handle the delete control statement. 5 Exit when all update control cards n Updated Assembler Source Program are processed. if singie update. j. • • • • • • !f multiple update. I.·I..... t> Diagram 7-11 IUpdate Log ~ Diagram 7-7 Notes II Module 1 An update card is read and checked. If DMSUPD an invalid control card is read, the message DMSUPD207W INVALID UPDATE FILE CONTROL CARD is issued. The value of RETCOD E is set to i2, if it was not previously set hi 9hSi'1 Processing continues ignoring the invalid card. 2 DMSUPD checks the resequence card. If the resequence card is not the first card in the update file, the message DMSUPD184W './S' NOT FIRST CARD IN UPDATE FILE -IGNORED is issued. The value in RETCODE is set to 12 if it has not been set higher previously. The './S' card is ignored and processing continues. IDMSUPD Label Ref Notes I I FCTRSEQ RSEQERR DMSUPD 4 The update control card is checked. DMSUPD 5 When all the update control cards are INVCHAR if the specified sequence increment is zero, the message DMSUPD182W SEQUENCE INCREMENT IS ZERO is issued. The value of RETCODE is set to 8 if it has not been set higher previously. Processing continues and the file is resequenced with a sequence increment of zero. ZERSEQ processed, the UPD READ (read) routine takes its error exit (UPDFERR) The UPDFERR routine branches to the INPUTRD routine on an end-of-file condition to flush (write out) the rest of the input source file if the update was not performed in storage. If the update was performed in storage, and resequencing is requested, a logical replace is done on each line in the file. Ref RSEQFIN 3 See Diagram 7:", The indicated cards are removed. The control statement and the message DELETING ... are sent to the UPDLOG file. If the delete is being performed in storage, the records in storage are rechained, eliminating the deleted records. Label RSEQDEF If no errors are found, the sequencing is set to 5 or 8 characters depending on the options specified (SEQ8 or NOSEOS). The UPDFLAG is set for resequencing and the next update control card is read (UPDREAD). SINGUPD If an invalid character is specified in one of the sequence fields, the message DMSUPD185W INVALID CHAR IN SEQUENCE FIELD 'xxxxxxxx' is issued. The value of RETCODE is set to 12 if it was not set higher previously. The' ./S' card is ignored and processing continues. Module FCTINST I~CTDELT I ,ELTINE XDELE DMSUPD UPDREAD XDELE The error exit (lNPFERRris taken from the INPUTRD routIne. The INPFERR routine closes the updated file and the input file. If processing a control file (multiple update). control returns to CTLCONT. Otherwise, the single-level update is complete and control is returned to CMS (RRETURN exit routine). Diagra. 7-9. Single Update Procedure Chapter 7~ Procedures for Generating and Updating V8/370 139 Processing Input r control INSERT statement I Source Program IllJr Ir 1 The INSERT card is checked. If invalid, 1 Check validity of INSERT control statement. 2 Insert sequence numbers. 3 Check sequencing of the input file. 4 Insert the update. I Module Notes DMSUPD Label FCTINST the message NotlS DMSUPD FCTREPL put in the inserts. Otherwise, the message are sent to the 'UPDLOG' file. is issued. The value of RETCODE is set to 8 if it was not set higher previously. Processing continues. If sequence overflow occurs while cards are being inserted, the message UPDSERR If a specified sequence number is not found, the message DMSUPD186W SEQUENCE NUMBER 'xxx' NOT FOUND DMSUPD176W SEQUENCE OVERFLOW FOLLOWING SEQUENCE NUMBER 'xxx' is issued. The value of RETCODE is set to 8 if it was not previously set higher. Processing continues. is issued. The value of RETCODE is set to 12 if it has not been set higher previously. The invalid card is ignored and processing continues. DMSUPD INSEQW DMSUPD INSLOOP out of order, the message When the appropriate cards are successfully inserted in the file, control returns to the read routine to read the next control card. DMSUPD210W INPUT FILE SEQUENCE ERROR 'xxx'TO 'xxx' is issued. The value of RETCODE is set to 4 if it was not set higher previously. Processing continues. statement and the INSERTING ... Diagram 7-10. Inserting Updates 140 label DMSUPD174W SEQUENCE ERROR INTRODUCED IN OUTPUT FILE 'xxx' TO 'xxx' ~e!\u;~;;*number field contains 4 DMSUPD inserts the cards. The control Module If the sequence errors are introduced in the output file, the message is issued. The value of RETCODE is set to 12 if was not set higher previously. The invalid card is ignored and processing continues. 3 If the input file sequence numbers are Ref INVUPCD DMSUPD207W INVALID UPDATE FILE CONTROL CARD 2 If requested, the sequence numbers are Output IBM VM/370 Service Routines Prograa Logic WOVF Ref If update is being done in storage, create the output disk file. 2 Issue messages as necessary. Updated File Notes 1 If the update is being performed in Module DMSUPD Label RETROO1 storage, the updated file in storage is read line by line and a disk file is created with the filename and filetype UPDATE CMSUT1. The filemode ... ,. ... specltles tne dISK wnere me Tmal OUI put file resides. The disk file is then closed. The UPDATE CMSUT1 file is then renamed $fname after the old $fname is erased. 2 If RETCODE is not equal to zero, Ref Module Notes Ref Label ment with the value of RETCODE in register 15. If no warning messages are issued and the REP option is specified, the '$fname' file is renamed to 'fname', after the old file is erased. If the CTL option is specified and no update files are found, the message DMSUPD181E NO UPDATE FILES WERE FOUND DMSUPD warning messages were issued during the update. If warning messages are issued and the NOTERM option is specified, while the REP option is not, the message WR ETURN I I I I I I NOUPDAT! is displayed and control returns to the CMS command environment with a return code of 40 in register 15. If no warning messages are issued, and no errors detected, control returns to the CMS command environment with a return code of 0 in register 15. DMSUPD1771 WARNING MESSAGES ISSUED (SEVERITY =nn) is displayed (nn is the value in RETCODE). If warning messages are issued and the REP option is specified, whether or not the NOTERM option is specified, the message DMSUPD1771 WARNING MESSAGES ISSUED (SEVERITY = nn) 'REP' OPTION IGNORED is displayed (nn is the value of RETCODE). In either case, control returns to the CMS command environ· Diagra. 7-11. Exit processing Chapter 7. Procedures for Generating and Dpdating '1/370 141 Processing Input I I -Ilb Load List name Output 1 Check that load list names and update identification level is passed to VMFLOAD. 2 Check that the load list EXEC, and CNTR L file exist. If not found, return to CMS. . CMS 3 Read update control file. 4 Invoke the load list EXEC procedure and build system load deck at 000. 5 Exit to CMS. . ~ CMS Notes 1 The load list name is moved into the Module Label VMFLOAD VMFLOAD Ref Notes The update identification level is moved into the filename portion of a RDBUF command line for an EXEC and CNTRL file. VMFLOAD SVC 202 to make sure that the load list EXEC and CNTRL files exist. If the load list EXEC file is not found, the message NOLDL filename filetype NOT FOUND NO LOAD LIST is displayed, and processing continues with the next item in the load list. is displayed and control returns to the CMS command environment with a return code of 4 in register 15. If the load list CNTR L file is not found, the message When only the filename is specified, the specified control file is used to search for the highest level text file available. The first text file located is punched. If the search ends before a text file is found, the "filename TEXT" file is punched if it exists. If the file is not found, it is skipped, the message NOCTR NO CONTROL FILE is displayed and control returns to the CMS command environment with a return code of 2 in register 15. 3 The first record of the control file is VMFLOAD RDCTR If an error occurs while reading the control file, the message BDCTR ERROR IN CONTROL FILE At this point, the text decks are loaded VMFLOAD in the proper sequence in the specified reader. All files not found vvere identified by messages to the terminal. The message ENOL SYSTEM LOAD DECK COMPLETE is displayed. The punch is set to stop spooling and is then closed. VMFLOAD DINITB Control returns to the CMS command environment. The load list EXEC procedure is invoked by an SVC 202. The text files are punched in the order specified in the load list. 142 NOFILE This process continues until every item in the load list is processed. 5 is displayed and control returns to the CMS command environment with a return code of 3 in register 15. Diagram 7-12. SRTXT is displayed, and processing continues with the next item in the load list. The rest of the control file is read. The control records are chained together in the proper hierarchy. The resident nucleus modules are loaded first and the pageable modules FNDM DINITD filename filetype NOT FOUND DINITA read and the class on the macro library record is saved. 4 The punch is set to spool continuously. Label follow. The DMKLDOOE (nucleus loader) resident nucleus module must be loaded first and followed by DMKPSA. The DMKCPE module must be the last resident nucleus module loaded. The pageable nucleus modules are ordered so that they efficiently utilize page frames. The OM KSAV module must be loaded last. When the filename and filetype are both specified, that specific file is searched for and punched, if found. If the file is not found, it is skipped, the message filename portion of a STATE command line for an EXEC file and a CNTRL file. 2 Issue the STATE command via an Module NOFILE The Nucleus Load Program IBM VM/370 Service Routines Prograa Logic RETERR Ref ~===~JO~:~m Inal,1 ~"kin.o PLiST I 2 Print control file cntrlname CNTRL. Erase NEWMAC MACLIS and NEWMAC COPY. II 3 Update macro and copy files. Add them to NEWMAC MACLIS. Print new members. 4 Erase any existing libname MACLIS. Rename NEWMAC MACLIS to libname MACLIS. ~ I cntrlname Module Label is displayed and control returns to CMS with a return code of 101. cntrlname CNTRL NOT FOUND is displayed and control returns to CMS with a return code of 102. The control file cntrlname CNTR L is printed. The files NEWMAC MACLIS and NEWMAC COpy are erased. 3 If a macro or copy file is not found, IOSTeTL I VMFMAC -STKL VMFMAC -AREAD the message *** filename COpy OR MACRO NOT FOUND *** is displayed. The final return ccx:le is set to 104 and processing continues with the next member. The UPDATE command is issued for each macro or copy file. If an error occurs, the message *** ERRORS UPDATING membername membertype *** membername membertype NOT INCLUDED IN MACLIS I I I -MACUP -UPDERR Label Ref name membertype are printed. The final return code is set to 105 and processing continues with the next member. -ASGN maclibname EXEC NOT FOUND If the file containing the updates is not found, the message Module Notes Ref macro library (maclibname EXEC) is not found, the message If the update procedure is successful, VMFDATE is executed to date stamp the file, and the member is added to the NEWMAC MACLIS. The new member is printed. To maintain a history of the updates that were applied, a line is added to NEWMAC COPY, a dummy copy file. I 4 -MACUP I I I After all macro and copy files have been processed, the NEWMAC COpy file is renamed to libname COpy and added to N EWMAC MACLI S. Any existing libname MACLIS file is erased and the NEWMAC MACLIS is renamed to libname MACLIS. -RENEWCC If the update procedure is unsuccessful, the message -ERR2 I DUE TO PREVIOUS ERRORS, THE RESULT OF THIS MACLIS SUILD IS CALLED 'NEWMAC MACLIS' libname MACLIS HAS NOT SEEN REPLACED is displayed at the terminal ar:c a return is made to CMS with the final return code as previously described. I I is displayed on the terminal, the files membername UPDATES and member- Diagram 7-13. II ~ 1 If a list of the members to be put in the VMFMAC 2 II! / New macro and copy files Notes I Control file ~====::::;> 10 I I ru,PLlu, ) ) VftFftAC--The Macro Library Creation Procedure Chapter 7. Procedures for Generating and updating V!/370 143 Processing Input [ [ [ [ [ GENERATE! [ [ [ [ [ [ VM370 SRVCPGM DIRECT [ONLY] DMKRIO [ONLY] DMKSYS [ONLY] DMKFCB [ONLY] DMKSNT [ONLY] [CP] [CMS] NUCLEUS ] [NOLOAD]] IPLDECK ] RSCS [BUILD] ] IPCS ] ----II .....&_l_=S_R_V_CP_G_M & ,,\PLDECK ... 1 Read the control statement. 2 -v Punch all four of the standalone service programs. DMKDDR DMKDIR DMKFMT IBCDASDI f=U rP 3 Create a standalone copy of one or all of the service programs. I='===!J Notes 1 > Output Module If an invalid operand is read, one of the following messages is displayed. GENERATE 3 card loader and service programs Label Ref Not. ·RMOVE GENERATE The message: THE FOLLOWING STANDALONE SERVICE PROGRAMS ARE BEING PUNCHED ** FORMAT - DIRECT DUMP/RESTORE - IBCDASDI ** is displayed, then each of the four standalone service programs is punched and the messages; PUNCHING PUNCHING PUNCHING PUNCHING 'IPL 'IPL 'IPL 'IPL FMT ****** DIR' ****** DDR' ****** IBCDASDI' ***** are displayed. If the directory does not exist, the program terminates. Otherwise, the message: PRINT COpy OF RELEASE3 DIRECT? -RESPOND (YES/NO) is displayed. If the response is no, the program terminates. Otherwise a summary of the GENERATE EXEC procedure is displayed. See Figure 7-2. Then, the GENERATE EXEC prints the directory, DMKSYS, DMKSNT, and DMKFCB. Another message DO YOU WISH TO HAVE A COpy OF DMKSNT, DMKSYS, DMKFCB, AND RELEASE3 DIRECT PUNCHED TO CARDS? -RESPOND (YES/NO): is displayed. If the response is no, the Diagraa 7-14. 144 Module Label program terminates. Otherwise, DMKSNT, DMKSYS, DMKFCB, and RELEASE3 DIRECT are punched, the following messages are displayed: GENERATE xxxxxxxx-INVALID OPERAND NUCLEUS OPTION-(CP/CMS) NOT SPECIFIED 2 8 eY.N.~t"NG 'DMKSNT ASSEMB LE' eY*"!.~IjING 'DMKSYS ASSEMBLE' ·SRVC eYtJ*~IjING 'DMKFCB ASSEMBLE' ~Y.N.~IjING 'RELEASE3 DIRECT and processing ends. 3 The instructions: ENTER THOSE DECKS TO BE GENERATED (DDR/DIR/FMT/ ALL): ENTER TARGET DISK ADDRESS: are displayed on the terminal. If the target disk address entered is 190, the filemode is set to A. Otherwise, it is set to B. A 3-card loader is placed in front of each of the service programs specified and the service program is copied. At successful completion, one or all of the following messages 'IPL DIR Al' - CREATED 'IPL DDR Al' - CREATED 'IPL FMT Al' - CREATED is displayed and the GENERATE procedure ends. If an error occurs, an error message: xxxxxxxx - INVALID OPERAND. ERROR ON ACCESS OF DISK (xxxxxxx) ERROR WRITING OR BUILDING 'IPL [DIR/DDR/FMTl A' DISK A (xxxxxx) - READ ONLY. is displayed and processing ends. The GENERATE Procedure (Part 1 of 2) IBft V!/370 Service Routines Progra. Logic GENERATE -IPLGEN -GTDISK Ref (npu. I I &1=VM370 &1=DIRECT &1=DMKRI0 &1=DMKSYS &1=DMKFCB &1=DMKSNT &1=CP &2=NUCLEUS -:-_____> 5 1&1=RSCS ~====> 1&1=IPCS ~=====> DMKRIO, a new DMKSYS, a new DMKFCB, a new DMKSNT, and/or a new CP nucleus. (See Diagram 7-15 for details.) Build a new CMS nucleus. 6 If the RSCS BUILD option was specified, build the RSCS.nucieus. I 7 If the IPCS option was specified, load the IPCS modules from tape onto the IPCS A-disk. CMS Nucleus 8 ----l I =====> I I II RSCS TEXT decks '"I RSCS nucleus f3 IPCS modules A-disk - Module No1lS 4 See Diagram 7-15. Label Ref Notes GENERATE -VM370 I and the control file name is set. Then VMFLOAD loads the CMS modules and the nucleus is created. A final question: DO YOU WANT A CARD IMAGE COPY OF THE CMS NUCLEUS LOAD DECK AS A DISK FILERESPOND (YES/NO) is displayed and the processing ends. If the response is yes, the CMS nucleus is ~Nritten on disk, and the message CMS NUCLEUS LOAD DECK EXISTS ON DISK AS 'CMSNUC NUCLEUSA1' is displayed. If NOLOAD was specified, a copy of the CMS nucleus is left in the virtual card reader. Otherwise, it is loaded. 6 The question The AXS, LAX, NPT, and SML modules are copies onto the A-disk. The message Then VMFLOAD builds the nucleus. -BUILD I -RSCSBLD -BLDSYS The message WHEN THE NEW RSCS SYSTEM IS BUILT,ISSUE: 'CLOSE PRT' ... (PRINTS THE LOAD MAP) is displayed, the virtual card reader is !PLed, and processing ends -DMS GENERATE -RSCS DO YOU WISH TO BUI LD RSrS SYSTEM - RESPOND (YES/NO) is displayed. If the user replies "yes", he is prompted: ENTER RSCS SYSTEM DISK LINK PARAMETERS: USERID VADDR1 VADDR2 The disk the user specifies is linked to and accessed as the A-disk. Diagram 7-14. GENERATE -CMS I Ref Label TRANSFERRING 'RSCS' DISK RESIDENT TEXT ... is displayed. -NUCLEUS 5 The load list name is set to CMSLOAD Module I 117 I-'pcs The message GENERATE *** IPCS SYSTEM BUILD *** -IPCSRP ;;H IS THE CURRENT A-DISK TO BE THE IPCS A-DISK? RESPOND (YES/NO): is displayed. If the user replies "yes", -IPCSYES the IPCS modules are loaded from tape onto the A-disk. If the user replies "no", he is prompted: ENTER IPCS USERID ENTER IPCS A-DISK ADDRESS, LINK ADDRESS, AND WRITE PASSWORD I I -IPCSRU -IPCSGD The disk the user specifies is linked to and accessed as the A-disk, and the IPCS modules are loaded onto it from tape. If errors occur, error messages are displayea. When loading is completed, the message **" IPCS BUILD COMPLETE **" is displayed and processing ends. -I PCSYES The GENERATE Procedure (Part 2 of 2) Chapter 7. Procedures for Generating and Updating V8/370 145 A SABPLE DIRECTORY IS BEING PRINTED TO AID YOU. IT SHOWS WHERE THE _IRTUAL DISKS ARE LOCATED ON 'CPV3LO' YOU BAY USE THESE M1NIDISKS FOR OTHER VIRTUAL MICHINES, IN PARTICULAR THE CMS SYSTE! DISK (!AINT 190) IRt THE CP STAGING AREA DISK (!AINT 194) IRCLUDED IN THIS DIRECTORY IS THE USERID: MIINT ·WHICH WILL BE USED FOR FUTURE SUPPORT OF THE SYStE!. THIS USERID SHOULD BE IRCLUDED IN THE DIRECTORY IOU BUILD FOR YOUR FLOOR USE. ** CAUTION ** IF YO~ DESTROY USER !AINT'S AREIS, IT WILL BE NECES~ARY TO RE-BUILD THE ENTIRE SYSTE!. A SAMPLE OF D!KSYS, D!KFCB, AND D!KSNT ASSEMBLE JRE ALSO BEING PRINTED TO AID YOU. ~HIS SA!PLE D!KSNT IS EASED ON THE INFORMATION INCLUDED IN THE SA!PLE D!KSYS AS WELL AS THE EXAMPLE ALLOCATIONS FOR VMREL3 PROVIDED IN THE SYSGEN GUIDE. A COpy OF THIS DMKSNT BODULE HAS BEEN INCLUDED IN THE CP NUCLEUS, SUCH THAT IF ONE USES THE INCLUDED D!KSYS AND THE SAMPLE ALLOCATIOI PROVIDED II THE SYSTEM GENERITION GUItE, HE WILL BE ABLE TO SAVE HIS C!S SYSTE! UPON COBPLETIOR OF THE SYSTEM GENERATION PROCEDURE. A COpy OF D!KFCB HAS BEEN INCLUDED IN THE NUCLEUS AND NEED ROT BE RE-ASSEBELED FOR SYSTEB GENERATION. IT HAS BEEN INCLUDED FOR THE USER WHO WOULD LIKE TO BODIFY OR ADD TO THE EXISTING BUFFER LOAD. BOTE: IF THE USER WISHES TO !ODIFY THE SABPLE D!KSNT AND/OR D!KFCB HE BAY INCLUDE THE UPDATED SOURCE WITH THE SOURCE INCLUtED UNDER THE OPTION 'GENERATE V8370', OF THE SYSTEM GENERATION PROCEDURE. IF PRESENT, IT WILL AUTOMATICALLY BE ASSEMBLED INt INCLUDED IN THE NEW CP NUCLEUS. Figure 7-2. GENERATE Introductory Message 146 IB8 V8/370 Service Routines Program Logic I . ~. I ~ Build the VM/370 directory. 2 ~ &1=DMKRI0 &1=DMKSYS &1=DMKFCB &1=DMKSNT [&2=ONlY] DMKFCB, and DMKSNT text decks exist. Module If &1=VM370 or DIRECT, the directory is built and the message GENERATE I If an error occurs, the message Label Ref Notes 3 ·VM370 -DIRECT THE **DIRECTORY** HAS BEEN BUilT is displayed. If &2=ONlY, processing terminates. Otherwise, processing continues with step 2. Assemble DMKRIO, DMKSYS, DMKFCB, and DMKSNT. 3 Oleck that DMKR 10, DMKSYS, Notes 1 Output :> IProceSSing I .BADDRJ The CMS STATE command is issued to see that the DMKRIO, DMKSYS, DMKFCB, and DMKSNT text decks exist. DMKRIO TEXT, DMKSYS TEXT, DMKFCB TEXT, and DMKSNTTEXT Module Label Ref GENERATE -lPEND I CORRECT THE DIRECTORY CARDS AND RELOAD THE CARD READER RESPOND WITH: GENERATE DIRECT is displayed and processing terminates. 2 The DMKRIO, DMKSYS, DMKFCB, and DMKSNT modules are assembled using the VMFASM procedure. If &2=ONl Y, processing terminates. Otherwise, processing continues with Step 3. If an error occurs, the message GENERATE -RUN -ASMERR CORRECT THE [DMKRIO/DMKSYS/ DMKFCB/DMKSNTj FilE AND RELOAD THE CARD READER RESPOND WITH: GENERATE [DMKRIO/DMKSYS/DMKFCBI DMKSNT) is displayed and the processing stops. Diagra. 7-15. Generating a CP Syste. (Part 1 of 2) Chapter 7. Procedures for Generating and Opdating YB/370 1q7 Input Processing l &l=CP &2=NUCLEUS [&3=NOLOAD 1 ______ ) Output 4 Build a new CP nucleus. --I o CP Nucleus Module Notes 4 The load list name is set to CPLOAD Label GENERATE -CP and the control file &CTL is set. The message VIRTUAL=REAL OPTION REQUIRED (YES, NO!: is displayed. If you respond yes, the message STORAGE SIZE OF VIRT=REALis displayed. If you enter a storage size that is not a mUltiple of 4K, the message ** SIZE ROUNDED UP TO NEXT HIGHER 4K BOUNDARY ** is displayed. The messages STORAGE SIZE FOR VIRTUAL= REALnnnnK IS THE ABOVE ENTRY CORRECT (YES, NO): are displayed. If you respond no, the process is repeated. If you respond yes, the value of the storage size is set in the DMKSLC TEXT file. If an error occurs, the message ERROR WHILE WRITING "DMKSLC TEXT" FILE is displayed, and the system will be built without a virtual=real area. Otherwise, the load list name is set to VRLOAD. The VMF LOAD program is invoked to load the modules and the CP nucleus is then written on tape. The message !f..~~~*LE NUCLEUS NOW ON TAPE is displayed. If the CP system was built without a virtual=real area, the message WHEN 'NUCLEUS LOADED ON xxxxxx' IS TYPED, ISSUE 'CLOSE Diagram 7-15. 148 Ref Module Notes PRT' TO GET THE CPLOAD MAP. WHEN PRINTING IS COMPLETE, SHUTDOWN THE SYSTEM AND IPL THE NEW SYSRES VOLUME. is displayed on the terminal. If &3=NOLOAD, the tape is not loaded. Otherwise the tape containing the CP nucleus is loaded. Processing ends. If the CP system does contain a virtual= real area, however, the tape containing the CP nucleus is not loaded, and the following message is displayed: TO LOAD THE CP NUCLEUS JUST CREATED, SHUTDOWN THE SYSTEM ANDTHENIPLTHETAPE. THE CPLOAD MAP WILL AUTOMATICALLY BE PRINTED AT THE PRINTER WHOSE ADDRESS IS 'OOE'. IF THERE IS NO PRINTER AT THIS ADDRESS THE LOAD MAP WILL BE PRINTED AT THE FIRST PRINTER CAUSING AN INTERRUPT, (IE. NOT READY TO READY SEQUENCE). ONCE THE NUCLEUS HAS BEEN LOADED, YOU MAY IPL YOUR NEW CP SYSTEM RESIDENCE VOLUME. NOTE: THERE MUST BE ENOUGH STORAGE ON THE SYSTEM (VIRTUAL OR REAL!, TO CONTAIN THE VIRT=REAL AREA AND THE CP NUCLEUS. -BUILD Label Processing ends. If an error occurs while writing the CP nucleus to tape, one or more of the following messages appears: TAPE (182) - NOT READY OR NOT ATTACHED HIT RETURN WHEN READY OR 'EXIT': ERROR BUILDING xxxxxxxx NUCLEUS. ERROR WRITING CP NUCLEUS TO TAPE. Generating a CP System (Part 2 of IBM VM/370 Service Routines Prograa Logic ~) -REALlPL Ref Program Organization Tbe fM/370 procedures for generating and updating VM/370 consist of three EXEC procedures (VMFASM, VMFMAC, and GENERATE) and three modules (VMFDATE, DMSUPD, and VMFLOAD). The Assembler language update procedure consists of the VMFASM EXEC procedure and two modules (VMFDATE and DMSUPD). The VMFASM EXEC procedure sets up for the assembly by calling DMSUPD to create the update control file. There is an entry in the VMCNTRL file for each update control and auxiliary update file. The VMCNTRL identifies the updates applied to the original assembler program and the date and time they were applied. The Assembler language update procedure calls the VMFDATE program. The MACLIBs needed are then included in the VMCNTRL file. The nucleus loader procedure consists of a program (VMFLOAD) and an EXEC procedure. Although the DMSUPD update program is not used, the centrol file that it creates may te used. The LOADER EXEC procedure lists the nucleus modules in the order they are to be loaded. The list includes the filename of each module and may opticnally include the update level. If the update level is not specified, the control file created 1:y DMSUPD is used te locate the highest level update available, and that level of the module is leaded. When nucleus modules are updated and loaded, it is often necessary to create a new macro library. ThE level of macro lil:rary needed for each updated module is recorded in the VMCNTRL file created by the VMFrATE module. The VMFMAC EXEC procedure creates a new macro library. The GENERATE EXEC prccedure reassembles the DMKRIO, DMKSYS, Dl8FCB, and DMKSNT modules by using the V~FlSM EXEC procedure. It loads the CP, CMS, or RSCS.nucleus using the VMFLOAD program. In addition, it can build a new VM/370 directory, punch the standalone service programs, or make a self-relocating copy of the service programs, or load the IPCS modules from tape onto the IPCS A-disk. Chapter 7. Procedures for Generating and updating VM/370 149 Directory Four label directories are provided. Figure 7-3 is the label directory for the Assembler update function, including labels from: • The VftFASM EXEC procedure. • The DMSUPD update program. • The VMFDATE control file program. 150 Figure 7-4 is the label directory the nucleus load program, VBFLOAD. for Figure 7-5 is the label directory for the VMFMAC EXEC procedure, which creates and updates the macro library. Figure 7-6 is the label directory for the GENERATE EXEC procedure, which creates new service program decks, builds a new CP, eMS, or RSCS nucleus, or loads the IPCS .odules fro. tape onto tbe IPCS A-disk. IBM VM/370 Service Routines program Logic ASSEMBLE UPDATE PROCEDURE -----------------------------------------------------------------------------------------, Module Label or Procedure -ASMP AUXFINT VMFASM DMSUPD 7-3 7-7 AUXREAD BADAUXC DMSUPD DMSUPD 7-7 7-7 BADCTLC DMSUPD 7-7 -COMB VMFASM 7-3 CORBUST CTLDONE DMSUPD DMSUPD 7-10 CTLGETM CTLGOT1 CTLIPTF CTLMULT DMSUPD DMSUPD DMSUPD DMSUPD Diagrall 7-7 7-7 7-7 7-7 7-5 Description Assu.es default options for Assembler. Closes the auxiliary file when it is co.pletely processed. Reads auxiliary file fro. the botto. up. Processing when invalid card found in auxiliary file .. Abnormally terminates when an invalid control card is encountered. Saves the new text file, original lSSE~BLE file, and UPDTxxxx files. Insufficient storage to complete update. Closes the control file once it is processed. Searches for first control card. Checks that auxiliary file exists. Checks that P1F file exists. Multiple update processing~ 7-7 CTLOCUP CTLREAD DMSUPD DMSUPD 7-7 CTLUMSG CTLUMSS DELTINE DMSUPD -DTF ERMACS DMSUPD DMSUPD DMSUPD DMSUPD VMFASM DMSUPD 7-7 ERSC DMSUPD 7-6 EXCESIV DMSUPD 7-6 -EXIT VMFASM 7-3 FCTDELT FCTINST DMSUPD DMSUPD 7-9 7-9 7-10 FCTREPL DMSUPD 7-10 FCTRSEQ -FUPD DMSUPD VMFASM 7-9 7-2 IMPLICIT INSEQW DMSUPD DMSUPD INSLOOP INVCHAR DMSUPD DMSUPD 7-7 7-7 7-9 7-6 7-3 7-7 Checks that update file exists. Reads the control file fro. the bottom up .• Updates the UPtATES file. Issues the short update message. Deletes cards from the source file. Entry to update program. Stacks control file in printer. Processing when MACS card invalid or missing. Processing when STK option specified without CTL option. Error exit when too many parameters are specified. Erases intermediate files and returnsto cas. Checks the delete control card for validity. Checks the validity of the insert centrol card. Checks the validity of the replace contrel card. Checks the resequence control card. Assembles the updated program. 7-3 7-8 7-10 7-10 7-9 Update processing will be done using disk. processing when sequence errors occur in input file. Inserts cards from the source file. Processing for invalid character in sequence field. Figure 7-3. The Assembler Update procedure Label tirectory (Part 1 of 2) Chapter 7. Procedures for Generating and Dpdating VM/370 151 , Label ftodule or Procedure IN'OPTN D8SUPD 7-6 IN'UPCD DftSUPD 7-10 LOCTUPD NOERASE NOFILE DftSUPD DftSUPD DftSUPD 7-5 7-5 7-5 NOFILEW NOFBA8E NOUPDATS DftSUPD D8SUPD DftSUPD 7-7 7-6 OPTCONF DftSUPD 7-6 OPTDUP DMSUPD 7-6 PROCESS DftSUPD 7-5 RETRD DftSUPD 7-11 RETR001 DftSUPD 7-11 RETURN D8SU,PD RSEQDEF RSEQERR RSEQFIN SINGUPD D!!SUPD DftSUPD DftSUPD DftSUPD 7-9 1-9 7-9 7-5 7-9 SfULLCOR -STCTL -STSYS TEST UPDREAD UPDSERR V8FDATE WOlF WRETURN XDELE XWRITE ZERSEQ D!!SUPD 'ftFAS!! 'ftPASft 'ftPDATE D!!SUPD DftSUPD '8FDATE DMSUPD DftSUPD DftSUPD D!!SUPD D8SUPD 1-8 7-2 7-2 7-4 Description 7-5 1-9 7-10 7-4 1-10 7-5 1-9 7-10 7-9 Error exit when an unrecognizable o~ticn is encountered. Processing for invalid update file control card. Checks that a single update f~le exists. Checks that the control file exists. processing when the source input file is not found. Processing when PTF file not found. Error exit when no operands were entered. Abnormally terminates when update file specified but not found. Abnormally terminates when conflicting options specified. Abnormally terminates when the saae oFt ion is specified more than once. Checks if the update and source input files already exist. Creates disk output file from the in-storage updated file. Closes and renames the created output disk file. Checks RETCot! for indication of warning messages. Sets the sequencing to 5 or 8 characters. Issues D!SUPD1S4W message. Sets up for resequencing. Applies a single update. Insufficient storage to begin update. Checks for CNTRL file. Checks for the ASS!ftBLE file. Checks for the input file. Reads control cards. Issues DftSUPD1S6W message. Creates the UPEATES file. Issues DftSUPD176W message. Issues DftSUPD171I message. Deletes line from storage. Inserts line into storage. Issues DftSUPD182W message. igure 7-3. The Assembler Update Procedure Label 152 IBM VM/370 Service Routines Program Logic tirect~ry (Part 2 of 2) VMPLOAD PROGRAM --------------~====~~-----------------------------------------------------------------, Label Module or Procedure BDCTR VMPLOAD 7-12 DINITA DINITB DINITD ENDL PNDM VMPLOAD VMPLOAD iMPLOAD VMPLOAD VMPLOAD 7-12 7-12 7-12 7-12 7-12 NOCTR NOPILE NOLDL VMPLOAD iMPLOAD VMPLOAD 7-12 7-12 7-12 RDCTR RETERR SRTXT VMPLOAD i!!PLOAD VMPLOAD 7-12 7-12 7-12 VMFLOAD iMPLOAD 7-12 Diagram Description Error exit when error occurs While reading control file. Reads the MACS record froll control file. Punches text files. Punches the highest level update available. Closes punch and returns to CMS. Searches for file specified in control file. Error exit when control file not found. Skips the files that are not found. Error exit when loadlist EXEC procedure is not found. Reads the control file. Exits to CMS. Punches the TEXT file if update level is not found. Entry for load list program. Pigure 7-4. The VMPLOAD Program Label Directory VMFMAC PROCEDURE Label Module or Procedure -AREAD iMFMAC 7-13 ~""'''I -A~~P • -ERR2 Y!F!AC iMFMAC 1-13 7-13 -!UCUP VHFHiC 7-13 -RENEWCO -STCTL -STKL -UPDERR iMFMAC iMFMAC iMFlUC iMFMAC 7-13 7-13 7-13 7-13 Figure 7-5. Diagrall Description Checks that each macro or copy file listed in the 'maclibname EXEC' file exists. Checks that the 'maclibname EXEC' file exists. Prints error message if entire update prccedure is not successful. Updates the macro or copy files and puts them in the new macro library. Renames existing NEW!AC COPY and JEW!IC MICLIB files. Checks that the 'cntrlnalle CNTRL' file exists. Prints the control file. Prints error message if error occurs during updating. The iMFMAC Procedure Label Directory Chapter 7. Procedures for Generating and Updating V8/370 153 GENERATE PROCEDURE La1::el Module or Procedure Diagram -ASMERR GENERATE 7-15 -BADDRCT GENERATE 7-15 -BLDSYS GENERATE 7-14 -BUILD GENERATE -CMS GENERATE 7-14 7-15 7-14 -CP GENERATE 7-15 -DIRECT -DMS -IPCS -IPCSRP -IPCSRlJ -IPCSGD -IPCSYES GENERATE GENERATE GENERATE 7-15 7-14 7-14 GENERATE GENERATE GENERATE 7-14 7-14 7-14 -IPLGEN GENERATE 7-14 -LPEND GENERATE 7-15 -NUCLElJS -RSCS -RSCSBLD -RUN GENERATE GENERATE GENERATE GENERATE 7-14 7-14 7-14 7-15 -SRVC -VM370 GENERATE GENERATE 7-14 7-14 7-15 Description Sends an error message and exits whEn an error is encountered while assembling DMKRIO, DeKSYS, DMKFCEI or DMKSNT. Sends an error message and exits whEn an error is encountered while building the directory. Invokes the VMFLOAI program to tuild the RSCS nucleus. Invokes the VMFLOAt Frograa. Sets the correct load list and control file for the CMS nucleus load. Sets the correct load list and control file for the CP nucleus load. Sets up virtual=real area if desired. Builds the VM/370 directory. Saves a copy of the CMS nucleus on disk. Prompts the user to verify that the current A-disk is to be used as the IPCS A-disk. Prompts the user for the IPCS userid. Prompts the user for the IPCS A-disk link parameters. Loads the IPCS Bodules from tape onto the IPCS A-disk. Creates a standalone copy of one or all cf the service programs. Checks whether the tMKRIO, DMKFCB, DMKSYS, or DMKSBT TEX~ decks exist. Builds a new CP or CMS nucleus. Prompts the user to tuild the RSCS system. Writes the RSCS text decks on disk. Assembles the tMKRIO, DMKSYS, DMKFCE, and DMKSNT decks. Punches the standalone service programs. Main processing routine for building new CP modules or VM/370 directory. Figure 7-6. The GENERATE Procedure Label Directory 154 IBM VM/370 Service Routines Program Logic Diagnostic Aids The following figures list all the .essages issued by the aodules and EXEC procedures that create and update the V8/370 syste •• Figure 7-7 lists all the .essages issued by the Y8FAS8 EXEC procedure, Figure 7-8 lists the aessages issued by the D8SUPD .odule, Figure 7-9 lists the messages issued by the V8FLOAt program, Figure 7-10 lists the aessages issued by the V!F8AC procedure, and Figure 7-11 lists the messages issued by the G!NERlTE procedure. The label cf the issuing routine and the diagram (if any) describing that routine are included. V8FlSH PROCEDURE , Label Diagram Message Text -FUPD 7-3 ***ERROR UPDlTING filename*** -lSHP 7-3 15MBLIIG filename (options .... ) -DTF 7-3 ***ERROR 15MBLING filenaae*** -DTF 7-3 ***NO TEXT FOR filename*** -COMB 7-3 filename {TEXT } TXTxxxxx CREATEt Figure 7-7. VMFlSM Messages Chapter 7. Procedures for Generating and Updating V8/370 155 DMSUPD PROGRAM Message Code Label Diagram DMSUPD001E DMSUPD002E DMSUPD003E DMSUPD007E NOFNAME NOFILE IN'OPTN FMTERR 7-6 7-5 7-6 DMSUPD010W INPFERR DMSUPD024E DMSUPD048E DMSUPD065E DMSUPD066E PROCESS ERCMSUT PROCESS ERRW BADMODE OPTDUP OPTCONF DMSUPD069E DMSUPD070E DMSUPD104S NOTACCER EICESI' INPERR DMSUPD037E DMSUPD105S 10UTERR DMSUPD174W IINSLOOP IPASSW DMSUPD176W IWO'F I DMSUPD1771 I WRETURN I Return Code or Severity Message Text 7-5 24 NC FILENAME SPECIFIED FILE 'fn ft fm' NOT FOUNt IN'ALlt OPTION 'option' FILE 'fn ft fm' NOT FIlED, 80 CHAR. RECORDS PREMATURE EOF ON FILE 'fn ft fa' --SEQ NUMBER , •••••••• , NCT FCUND FILE 'UPDATE CMSUT1 fm' ALREADY EXISTS 7-5 36 DISK 'A' IS READ/ONLY 7-6 7-6 24 24 24 7-6 32 24 100 IN'ALlt MODE '.ode' 'option' OPTICN SPECIFIED TWICE 'option' AND 'option' ARE CCNFLICTING OP'IIONS DISK 'A' NOT ACCESSED INVALID PARAMETER 'para.' ERROR Inn' READING FILE 'fn ft f.' FROM DISK ERROR Inn' WRITING FILE 'fn ft fm' ON DISK SEQUENCE ERROR INTRODUCED IN OUTPUT FILE: 'xxx' TO 'xxx' SEQUENCING OVERFLOW FOLLCWING SEQUENCE NUMEER 'xxx' WARNING M!SSAGES ISSUED (SEVERITY = nn). <'REP' OPTION IGNORED) UPtATING 'fn ft fa' WITH 'fn ft f.' MISSING OR DUPLICATE 'MACS' CARD IN CONTROL FILE 'fn ft fm' MISSING PTF FILE 'fn ft fa' NO UPDATE FILES WERE FOUID SEQUENCE INCREMENT IS ZERO INVALID {CONTROL I AUX} FILE CeNTROL CARD './S' NOT FIRST CARD IN UPDATE FILE-IGNORED INVALID CEAR IN SEQUENCE FIELD 'xxxxxx' SEQUENCE NUMBER 'xxx' NOT FCUND OP'IION 'S'IK' INVALID WITHOUT 'CTL' INVALID UPDATE FILE CONTECL CARD 24 28 24 32 12 100 7-10 8 7-10 8 7-5 DMSUPD1781 ICTLUMSG DMSUPD179E IERMACS I DMSUPD180W NOFILEW DMSUPD181E NOUPDATS DMSUPD182W ZERSEQ DMSUPD183E BADCTLC BADAUXC DMSUPD184W RSEQERR 7-7 7-7 DMSUPD185W DMSUPD186W DMSUPD187E DMSUPD208W 32 12 40 7-7 7-5 7-9 7-7 32 7-9 12 7-9 7-10 7-6 7-9 7-10 7-10 12 12 24 12 DMSUPD210W IN'CHAR UPDSERR ERSC UPDREAD IN'UPCD INSEQW DMSUPD299E DMSUPD300E DMSUPD3041 CORBUST SMALLCOR IMPLICIT 7-10 7-7 7-7 40 40 8 4 INPUT FIL! SEQUENCE ERROR: 'xxx' TO 'xxx' IN5UFFICI!NT STORAGE TO COMPLETE UPDATE IN5UFFICI!NT STORAGE TO EEGIN UPDATE UPIATE PROCESSING WILL BE DCNE USING DISK. Figure 7-8. DMSUPD Messages 156 IBM VM/370 Service Routines Program Logic VMFLOAD PROGRAM .- Label Diagram Message Text NOFILE 7-12 filename filetype NOT FOUND BDCTR 7-12 ERROR IN CONTROL FILE NOCTR 7-12 NO CONTROL FILE NOLDL 7-12 NO LOAD LIST ENDL 7-12 SYSTEM LOAD DECK COMPLETE Figure 7-9. VMFLOAD Messages VMFMAC PROCEDURE Label Diagram Message Text -ASGN 7-13 *** maclibnaae EXEC NOT FOUND *** -STCTL 7-13 *** cntrlname CNTRL N01 FOUND *** -AREAD 7-13 *** filename COpy OR MICRO BOT FOUND *** -UPDERR 7-13 *** ERRORS UPDATING aembernaae aeabertype *** meabername aembertype ROT INCLUDED IR !ACLIB -ERR2 Figure 7-10. 7-13 DUE TO PREVIOUS ERRORS, THE R!SULT OF THIS MICLIB BUILD IS .CALLED 'BEiMAC MACLIB', libname MACLIB HAS ReT BEEN REPLACEDI VMFMAC Messages Chapter 7. Procedures for Generating and Updating VM/370 157 Label Diagra. Bessage Text 7-14 GENERATE xxxxxxXX--INVALID OPER1ND. -NUCLEUS 7-14 NUCLEUS OPTION -- (CPICBS) NOT SPECIFIED. -SRVC 7-14 THE FOLLOIING ST1NDALONE SERVICE PROGR1!S ARE BEING PUICHED •• PORB1T - DIRECT - DUftP/RESTORE - IBCD1SDI •• 7-14 PUNCHING 'IPL FBT' •••••• 7-14 PUNCHING 'IPL DIR' •••••• 7-14 PUNCHING 'IPL DDR' •••••• 7-14 PUNCHING 'IPL IBCDASDI' •••••• 7-14 PRINT COpy OF RELE1SE2 EIRECT? -- RESPOND (YESIIO) 7-14 1 SABPLE DIRECTORY IS ElING PRINTED TO lID YCU •••• 7-14 DO YOU IISH TO HIVE 1 COPY OF DBKSNT, DBKSYS, DBKFCB and RELE1SE2 DIRECT PUNCHEE TO C1RDS? -- RESPOND (YESIIO) 7-14 PUNCHING 'D!KSYS lSSEBELE' •••••• 7-14 PUNCHING 'D!KSNT ASSEBELE' •••••• 7-14 PUNCHING 'D!KFCB ASSEBELE' •••••• 7-14 PUNCHING RELEASE2 DIRECT •••••• 7-14 ENTER THOSE DECKS TO EE GENER1TED (DDRIDIRIFBTI1LL): ENTER T1RGET DISK ADDRESS: 7-14 IPL 'DDR A1' CREATEE 7-14 IPL 'DIR A1' CREATEE 1-14 IPL 'FBT A1' CREATEE 1-14 xxxxxxxx -- INVALID OPERAND 1-14 ERROR WRITING OR BUILEING 'IPL xxx A'. 7-14 ERROR ON ACCESS OF DISK (xxxxxxxx) -IPLGEI DISK A (xxxxxx) REAI OILY 1-14 DO YOU IANT A C1RD IBAGE OF TEE NUCLEUS LOAD DECK AS A DISK FILE -- RESPOND (YESIIO) 7-14 CBS NUCLEUS LOAD DECK EXISTS ON DISK AS 'CBSIUC NUCLEUS A1'. -RSCS 1-14 DO YOU IISH TO BUILD -RSCSBLD 1-14 ENTER RSCS SYSTE! DISK LINK PARABETERS: USERID VADDR1 VADDR2 7-14 BISSING PARABETERS -- RE-ENTER -DBS R~CS SYSiEB -- RESPOND (YESlle) ERROR LIIKING TO userid vaddr1 AS vaddr2 158 IB! V8/370 Service Routines Progra. Logic Diagram Label Bessage Text 7-14 TRANSFERRING 'RSCS' DISK RESItENT TEXT 1-14 WHEN THE NEW RSCS SYSTEM IS BUILT, ISSUE: 'CLOSE PRT1 ••• (PRINTS THE LOAI MAP) 1-14 *** ERROR READING RSCS TAPE OR WRITING TO DISK 194 *** 1-14 ERROR TRANSFERRING RSCS DISK RESIDENT TEXT FILE. -ERRSYS 1-14 *** ERROR CREATING THE RSCS NUCLEUS *** -ERRACC 1-14 ERROR ACCESSING SPECIFIED DISK -IPCS 1-14 *** IPCS SYSTEM BUILD *** *** IS THE CURRENT A-DISK TO BE THE IPCS A-DISK? REMEMBER THE SYSOPR HACRO IN IMKSYS MUST SPECIFY THE IPCS USERID IN SYSDUMP=USERID. THIS USERID'S A-DISK BUST BE USED FOR THE IPCS BUILD. -IPCSRP 7-14 RESPOND (YES OR NO) : -IPCSRU 7-14 ENTER IPCS USERID -IPCSGD 1-14 ENTER IPCS A-DISK ADDRESS, LINK ADDRESS, AND WRITE PASSWORD -IPCSYESI 1-14 *** IPCS BUILD COMPLETE *** -IPCSTE 1-14 *** ERROR LOADING IPCS MODULES FROH TAPE -IPCSLE -DIRECT 1-14 7-15 *** ERROR LINKING userid vaddr THE **DIRECTORY** HAS EEEN BUILT -BADDRCT 1-15 CORRECT THE DIRECTORY CARDS AND RELOAD THE CARD REIDER RESPOND WITH : GENERATE DIRECT -ASBERR 1-15 CORRECT THE {DMKRIOIDMKSYSIDMKFCBIDMKSNT} ASSEMELE FILE AND RELOAD THB CARD REIDER RESPOND WITH GENERATE {DMKRIOIDBKSYSIDMKFCBltMKSNT} -cp 7-15 VIRTUAL=REAL OPTION REQUIRED (YES,!O): 7-15 STORAGE SIZE OF VIRTLREIL : 7-15 ** SIZE ROUNDED TO NEXT HIGHER 4K BOUNDARY ** 7-15 STORAGE SIZE FOR VIRTUALLREAL nnnnK 1-15 IS THE ABOVE ENTRY CORRECT (YES,NO): 1-15 ERROR WHILE WRITING "DMKSLC TEXT" FILE -BLDSYS -ERR TAP -ERRTRANS I I I I I I Figure 7-11. GENERATE Messages (Part 2 of .~ Chapter 1. Procedures for Generating and Updating '8/370 159 I Label Diagram Message Text I ------------------------------------------------------------------------------------1 -BUILD 7-15 IPLABLE NUCLEUS NOW ON TAPE **** I WHEN 'NUCLEUS LOADED ON xxxxxx' IS TYPED, ISSUE 'CLOSE PRT', I TO GET THE CPLOAD MAP. WHEN PRINTING IS COMPLETE, SHUTDOWN THE SYSTEM AND IPL THE NEW SYSRES VOLUME. -REALIPL Figure 7-11. 160 7-15 TAPE (18~ -- NOT READY OR NOT ATTACHED HIT RETURN WHEN READY OR 'EXIT': 7-15 ERROR BUILDING xxxxxxxx NUCLEUS 7-15 ERROR WRITING CP NUCLEUS TO TAPE 7-15 TO LOAD THE CP NUCLEUS JUST CREATED, SHUTDOWN THE SYSTEM AND THEN IPL THE TAPE. THE CPLOAD MAP WILL AUTOMATICALLY BE PRINTED AT'THE PRINTER WHOSE ADDRESS IS 'OOE'. IF THERE IS NO PRINTER AT THIS ADDRESS THE LOAD MAP WILL BE PRINTED AT THE FIRST PRINTER CAUSING AN INTERRUPT, (IE. NeT-BEADY TO READY SEQUENCE). ONCE THE NUCLEUS HAS BEEN LeADED, YOU MAY IPL YOUR NEW CP SYSTEM RESIDENCE VOLUME. NOTE: THERE MUST BE ENOUGH STORAGE ON THE SYSTEM (VIRTUAL OR REAL), TO CONTAIN THE VIRT=REAL AREA AND THE CP NUCLEUS. GENERATE Messages (Part 3 of 3) IBM VMj370 Service Routines Program Logic Code DMKLDOOE (LOADER) PROGRAM 64 If the loader terminates, following wait conditions is the instruction counter: one of the indicated in 65 66 Code 1'111111' X'222222' X' 999999' X'BBBBBB' X'CCCCCC' X'FFFFFF' !1!anij!g A program check occurred. 1 unit check occurred while the bootstrap routine was reading in the loader. An SVC was issued. A machine check occurred. An I/O error occurred on the card reader: An I/O error occurred for the console (X'OO' contains the message UBRECOVERABLE ERROR), or the control card for changing the default I/O addresses for the printer or terminal is invalid (X'OO' contains the message BAD DEVICE CARD or INVALID DEVICE SPECIFIED). 61 68 65 61 6E 6C 6I LOADER WAIT STATE CODES If the instruction counter contains X'999999', indicating an SVC wait state, examine the interruption code (the third and fourth bytes of the supervisor old PSi). The interruption codes (shown in hexadecimal) have the following meanings: Meaning An error occurred during conversion of a value from hexadecimal to binary format. There is no aore free storage available for the loader. A duplicate type 1 ESD (External Symbol Dictionary) entry has been encountered. The "name" in the LDT (Loader Terminate) statement is undefined. The control section named in the les (Include centrol Section) statement was not fcund by end of file. The loader attempted to add another entry to the reference table, which would have caused the table to overflow. The object modules being loaded are about to overlay the loader. The object modules being loaded are about to overlay an address between zero and laO. 1 permanent errcr occurred in the input device. The loader is trying to release storage that is not cn a doubleword boundary. For further explanations cf these wait state conditions and the recommended operator action to correct thea, see !!L170 ~I2tem Me22A9~2. Chapter 7. Procedures for Generating and Cpdating V!/310 161 162 IB~ V~/370 Service Routines Proqraa Logic Chapter 8. The VM/370 Starter System Introduction The Starter System Progra. (DMKSSP) redefines the real configuration according to the operator's specifications. the DMKSAV .odule reads a copy of the Normally, VM/370 i~ loaded fro. disk CP nucleus into real storage and then calls DMKCPI to perfor. the initialization tasks (such as initializing storage, mounting devicEs, and so on). However, during system generation, the VM/370 starter system is loaded from the starter syste. tape. When VM/310 is loaded fro. the starter system tape, the DMKSAV .odule reads a copy of the starter system nucleus into real storage and calls D!KSSP to give the operator the opportunity to redefine the devices necessary to continue with syste. generation. When D!KSSP is through with its processing. it calls D!KCPI to continue the initialization process. DMKSSP is an interactive program. The operator must signal attention to define a console at an address other than 009 or 011. Then, the operator responds to questions displayed at the terminal to redefine the printer, punch, reader, tape and disk devices. Chapter 8: The VM/370 Starter System 163 Method of Operation This section describes those functions that are perfor.ed by the DftKSSP progra.. There 164 is only one .ethod of operation diagra. and that is Diagra. 8-1. IBft VM/370 Service Routines Program Logic Processing Input X'002' -,-____--,:> :> II RCHBLOK GR6 I~ RCUBLOK GR7 II I I I~I RDEVBLOK GR8 I i 1.....1 I 2 LF II Initialize DMKSSP processing. Find the console. :> 3 Define the system. IRDEVBLOKS! I ------, 4 Go to DiviKCPi. Tlbl I . I I IRCHBLOKs I IRCUBLOKS GR10 !PL device address ~ IDMKCPI Module Label Registers 11 and 12 are set up as base registers. The new I/O PSW, new mach· ine check PSW, and new program check PSW are set up and all interrupts are disabled. DMKSSP IDMKSSP011 2 If the console address is valid, DMKSSP DMKSSP Notes 11 Ref I HDRMSG *** DO YOU WISH TO REDEFINE YOUR SYSTEM *** (YES, NO): REDEFINE DM KSSP displays BKUPLAB ENTER ADDRESS WHERE SCRATCH TAPE IS MOUNTED (cuu): ENTER DEVICE TYPE (2401,2415, 2420, 3420) : DMKSSP and builds the tape real control blocks according to the operator's response. MAINLINE pointers are cleared and the system residence device is set up. I II FINDCONS and builds the disk real control blocks according to the operator's response. VM/370 STARTER SYSTEM VERSION n.n HDRMSG DM KSSP then asks the operator to verify the configuration by displaying DMKSSP prompts the operator to reconfigure the system. DMKSSP displays PRTLAB ENTER PRINTER ADDRESS (cuu): ENTER DEVICE TYPE (1403,1443, 3211): and buikls the printer real control blocks according to the operator's response. PCHLAB ENTER DEVICE ADDRESS (cuu): ENTER DEVICE TYPE (2540P, 3525): and builds the punch real control blocks according to the operator's response. I ISYSLAB DM KSSP displays ENTER DEVICE ADDRESS WHERE SYSTEM RES:DENCE WILL BE BU!LT (cuu): ENTER DEVICE TYPE (2319,2314, 3330, 3340, 2305): VLDCON Diagra. 8-1. PIDLAB and builds the tape real control blocks according to the operator's response. If the response is YES, proceed by redefining the system (see step 3). If the response is NO, DMKSSP proces· sing is done. Proceed to step 4. DM KSSP displays Ref ENTER ADDRESS WHERE PID TAPE IS MOUNTED (cuu): ENTER DEVICE TYPE (2401, 2415, 2420, 3420): VM/370 STARTER SYSTEM VERSION n.n DM KSSP must find the console. If the console is not at 009 or 01 F, DM KSSP enables for interrupts and waits until the operator signals attention to identify the console. The CPU model is checked and if it is valid, DMKSSP builds the real control blocks for the console, and displays Label and builds the reader real control blocks according to the operator's response. DM KSSP displays displays 3 First, a!! the control blocks and their Module Notes WORKLAB *** SYSTEM DEFINITION COMPLETED *** cuu PRINTER cuu PUNCH cuu READER cuu PID TAPE cuu SCRATCH TAPE cuu NEW SYSTEM RESIDENCE cuu SCRATCH PACK ARE THE ABOVE ENTRIES CORRECT (YES,NO): If the operator responds NO, the entire system definition process is repeated. 4 Control is transferred to DMKCPi with the address of the IPL device in general register 10. DMKSSP XPRINiT DMKSSP--The Starter Syste. Chapter 8. The V!/370 Starter syste. 165 Program Organization This section describes the DMKSSP module. the organization of External References --I!KRIODV~nchor-to the first real device IMKRIOCU DMKSSP IMKRIOCH IMKRIOCN The Starter Systea Program that allows the operator to redefine the 1I1n1mUII devices necessary to generate the V!/370 system. I!KRIOPR IMKRIOPU !!tr.!12Y!~ IMKRIORD ~.!ltry IMKSYSNU JMKRIO Nonreentrant, resident, entered via IPL. £2ndi!!£1l§ D!KSSP001 is entered as IPL. the result of an Exit Conditions --D8KSSP--glves control to D!KCPINT to initialize the remainder of the system. Register 10 must contain the IPL device address. £!ll to .Qther IMKCVTHB IMKCVTBB IMKCPIBT !t~.9.!§!~f R1: R2: RS: R6: R7: RS: R11: R12: 166 uS!g~ Parameter register Paraaeter register General BAL register Address of RCHBLOK Address of RCUBLOK Address of RDEVBLOK Base register 2 Base register 1 block Anchor to the first real control unit block Anchor to the first real channel l:lcck Address of the system console device Address of the system printer device Address of the system punch device Address of the system reader device Disk address on the nucleus Address of real I/O centrol blocks ~g!g !~!§ IB8 V8/370 Service Routines Program Logic Rout.!~ To convert the device address to binary To convert the device address to printable hexadecimal characters To continue system initialization RCHBLOK, RCUBLOK, RDEVELCK, PSA Directory Figure 8-1 is an alphabetic list of the major labels in the Starter System Program. The associated method of operation diagram (if any) is indicated and a brief Diagram Label description of the operation performed at the pOint in the program associated with each label is included. Description ATTNHAND 8-1 Enables system for I/O interrupts. BKUPLAB 8-1 Builds real control blocks for scratch tape. DASDADR 8-1 Sets up device type for disk containing the starter system. DKKSSP01 8-1 Starter system entry point called by DMKSIV. FINDCONS 8-1 Identifies the system console. GRAPHID 8-1 Handles the I/O for display terminals. HDRKSG 8-1 Displays starter system header message. MAINLINE 8-1 Builds all the real control blocks necessary. peHtlE 8-1 Builds the real control blocks for the punch. PIDLAB 8-1 Builds the real control blocks fer the tape drive containing the PID (Program Information tepartment) distributien taFe. PRTLAB 8-1 Builds the real control blocks for the printer. RDRLAB 8-1 Builds the real control blocks fer the reader,. READADDR 8-1 Initiates writes to and reads fro. the console to determine the device address. READTYPE 8-1 Initiates writes to and reads from the console to determine the device type. REAiRITE 8-1 Writes to and reads from the console. The REI WRITE routine is called by both the REIDAttR and REIDTYPE routines. REDEFINE 8-1 Asks the operator if he wants to redefine the system. SCAN 8-1 Finds or builds the necessary real control blocks. STARTIO 8-1 Issues the Start I/O (SIO). SYSLAB 8-1 Builds the real control blocks fer the disk that contains the system residence volume. VLDCON 8-1 Checks for a valid CPU model. iORKLIB 8-1 Asks the operator if the configuration just defined is the one he wants. XFRINIT 8-1 Transfers control to DKKCPI. igure 8-1. The Starter System (DMKSSP) Label tirectory Chapter 8. The V8/310 Starter System 167 Diagnostic Aids Figure 8-2 lists the messages issued by the Starter Syste. Program. The associated Label Diagram program label and method of operation diagram are included in the list. !!essage Text BKUPLAB 8-1 ENTER ADDRESS WHERE SCRATCH TAP! IS ftOUNTED (cuu): ENTER DEVICE TYPE (2401, 2415, 2420, 3420): HDR!!SG 8-1 V!!/370 STARTER SYSTE!! VERSION n.n PCHLAB 8-1 ENTER PUNCH ADDRESS (cuu): ENTER DEVICE TYPE (2540P, 3525): PIDLAB 8-1 ENTER ADDRESS WHERE PID TIPE IS ftOUNTED (cuu): ENTER DEVICE TYPE (2401, 2415,2420,3420): PRTLAB 8-1 ENTER PRINTER ADDRESS (cuu): ENTER DEVICE TYPE (1403, 1443, 3203, 3211, 3800): RDRLAB 8-1 ENTER READER ADDRESS (cuu): ENTER DEVICE TYPE (2501, 2540R, 3505): REDEFINE 8-1 ***DO YOU WISH TO RE-DEFINE YOUR SYSTE! ••• (YES,le): SYSLAB 8-1 ENTER DEVICE ADDRESS WHERE SYSTEft RESIDEICE WILL EE EUILT (cuu): EITER DEVICE TYPE (2319, 2314, 3330, 3340, 3350, 2305): WORKLAB 8-1 *.*SYSTEft DEFINITION COftPLETED*** cuu PRINTER cuu PUNCH cuu READER cuu PID TAPE cuu SCRATCH TAPE cuu NEW SYSTE!! RESIDENCE cuu SCRATCH PACK ARE THE ABOVE ENTRIES CORRECT (YES,IO): WNGDEV Figure 8-2. 168 •• ERROR.* DEVICE HAS EEEN ALREADY ALLOCATED The Starter System (DftKSSP) !!essages IBM VM/370 Service Routines Program Logic , Chapter 9. The 3704/3705 Service Pr"ograms Introduction There are four CMS commands and tvo CP coamands specifically for generating and manipulating the 3704/3705 contrel program. The CMS coa.ands are needed to generate and save a copy of the 3704/3705 control program. The CP commands allow you to operate and aanipulate the 3704/3705 in a manner siailar to the way other CP commands let you operate your other virtual machine devices. The C8S comaands that help you generate a 3704/3705 centrol program are: AS83705, GEN3705, LKED, and SAVENCP. The AS83705 coamand is an interface between C8S and the NCP/VS Release 2 and 3 Assembler (IFKAS8) or the NCP/VS Release 4 Assembler (CWAXOO). It accepts source statement files as input, cbecks that the input file exists and that the options specified are valid, calls IFKAS8 or CWAXOO to perfora the assembly, and produces an object deck and program listing as output. The AS83705 command produces the stage 1 output for the 3704/3705 control program generation - process. The GEN3705 command accepts the file produced in stage 1, creates a unique asseab1er file for each job step in the input file, creates several unique files containing the linkage editor statements necessary to build the load aodule file, and builds an EXEC aacro file of the CMS coamands necessary to assemble and load the 3704/3705 control program. If SAVE was specified on the command line, it saves a copy of the control program in page-format on a CP-owned volume. The LKED command is an interface between CMS and the as/'s 1 linkage editor. The GEN3705 co •• and processor embeds the LKED co.mands in the EXEC macro file it produces. The LKED co.mand processor interprets the C8S comaand lines, defines the necessary files, and links to the OS/VS linkage editor. Two permanent files are produced: the 'filename LOADLIB' file, which contains the load aodu1es, and the 'filename 1KEDIT' file, which contains the printed output. The SAVENCP co •• and builds the parameter list (CCPARM) and calls D!KSNC via Diagnose instruction X'50' to write a core image copy of the 3704/3705 control program to a CP-owned system volume. This copy of the control program is loaded each time the 3704/3705 is loaded. The CP commands that help yeu te centro1 the operation of the 3704/3705 are NCPDUMP and NETWORK. The NCPDU!F command processor performs several different tasks. It: • Erases a specific CP dump file. • • • Formats the 3704/3705 dUllp. Prints the 3704/3705 duap file. • Creates the CMS 3704/3705 dUmp file. Issigns an dump file. or eMS identifier to 3704/3105 the 3704/3705 The NETWORK command precessor provides the support for the 3704/3705 that several CP commands (ENABLE, DISIELE, QUERY, DISPLAY, VARY, BALT, TRICE, and SHUTDOWN) provide for other devices. In addition, the NETWORK command has options that load a na.ed 3704/3705 contrel Frogram into 3704/3705 storage and duap the contents of that storage. These co.mands are discussed in detail in other putlications. For lore information about the A583105, GEN3105, LKID, and SA'ENCP comaands and a complete description of the generation process, see the VML11.Q Planning and system GeM.!atiSl! Guide. For more informaticn about the NCPDUMP and NETWORK COli lands, see the !J!L170 Operator'§ §uide. The ZAP service program, which allows you to update and dump existing 3704/3705 load libraries, is described in "Chapter 10. The ZAP Service Program n and in the !J!L170 Operato!~§ Quide. Chapter 9. The 3704/3705 Service Programs 169 Method of Operation This section describes the CftS modules that provide the co ••ands to generate the 3704/3705 control progra.s. Diagrams describe the functions perforaed by each of the co.mand processors. Figure 9-1 shows the relationships between these diagra.s. Diagram 9-1 describes the SAVENCP co •• and, which saves an image of the 3704/3705 control program so that it can later be loaded. Diagra. 9-2 shows how CCPARft is built. tiagrams 9-6 and 9-7 describe the ASft3705 co.mand, which is an interface between e!s and the ICP/VS Assembler eIIKAS! or CWAXOO). Diagram 9-8 describes the LKED co •• and, which is an interface bEtween CftS and the as/VS1 Linkage Editor. Diagra. 9-9 describes com.and, which prints a 37C4/3705 storage. RCPDU!!F of the Diagrams 9-3, 9-4, and 9-5 describe the GEN3705 com.and, which generates a series of commands to assemble, link edit, and load the 3704/3705 control program. Diagram 9-1 DMSNCP SAVENCP Command Processor Diagram 9-3 DMSGRN Overview of the GEN3705 Command Processor Diagram 9-6 Diagram 9-7 Diagram 9-8 DMSARN ASM3705 Command Processor DMSARX ASM3705 Command Processor DMSLKD LKED Command Processor Diagram 9-9 DMKRND NCPDUMP Command Processor I Diagram 9-2 Diagram 9-4 Diagram 9-5 DMSNCP Building the CCPARM List DMSGRN Generati ng the 3705 Assembler Files DMSGRN Generating the Link Edit Files Figure 9-1. 170 Key to the 3704/3705 Service programs Bethod of Operation Diagrams IBM VM/370 Service Routines Program Logic CMS r:1 '" I~ +=[ PLiST ~I ~~~~~:Se B I NICBLOK I CVT i RVT Interpret and validate parameter list. 2 Search external symbol dictionary of input file and channel vector table. > 3 Load text records into virtual storage. LOADLIB member II Processing rFl 1/ II II IENTRYADR+l i ICHVTADR+l Virtual Storage 4 Build the CCPARM list (See Diagram 9·2 for details.) 5 Save the 3704/3705 control CCPARrv1 program image. 6 Return to CMS. I B VM/370 SYSR ES Notes 1 The filename must be specified. If a Module DMSNCP library name or a member name is not specified, the input filename is used. If the 3704/3705 control program load module entry point is not specified, CXF!N!T is assumed. An error in the parameter list results in one of the following messages DMSNCPOO1E NO FILENAME SPEC· IFIED DMSNCP002E FILE 'fn ft fm' NOT FOUND DMSNCPOO3E INVALID OPTION 'option' being issued and control being returned to CMS with return code 24 or 2B. If no errors are encountered, the input file is opened and a search is made for the member. When the member is found, it is read. If the member is not found, the message DMSNCP013E MEMBER xxxxxxxx NOT FOUND IN LIBRARY is issued and control returns to CMS with a return code of 4. 2 The entry point for NCP or PEP is CXFINIT. The entry point for EP is CY ASTA RT. For either EP or PEP, the channel vector table, CYACHVT, CYECHVT1, or CYECHVT2 must also be found. The entry point address and channel vector table address are saved. I Label Ref Notes SAVENCP IENDPARM~ IDOSTATE I I I Module 3 The text records are moved from the DMSNCP input buffer into the proper position in the core image buffer. If the entry point symbol has not been resolved when the first text record is encounter· ed, the message DMSNCP021 E ENTRY POINT xxxxxxxx NOT FOUND is issued and control returns to CMS with a return code of 40. Premature end of file or invalid control records cause the messages DMSNCP056E FILE 'fn ft' CONTAINS INVALID RECORD FORMATS DMSNCP109E VIRTUAL STORAGE CAPACITY EXCEEDED to be issued and control to be returned to CMS. 4 When the core image buffer is loaded, DMSNCP Label Ref CONTROL r RR2 ! RR66 LOSE the input file is closed. The Communi· cati on Control Parameter list (CCP AR M) is built from the information in the core image buffer. 5 The size of the read buffer is stored in DMSNCP IcESDENT jeESDCHVT DMSNCP register 1 and the DIAGNOSE instruc· tion with code X'50' is issuea to save a copy of the 3704/3705 control program 6 The return code from the DIAGNOSE instruction is passed to CMS and control returns to CMS. DMSNCP ~X1T Diagra. 9-1. D!SRCP--S1VERCP Co •• and Processor Chapter 9. The 3704/3705 SerYice Progra8s 111 Input .-,N-IC-B-LO-K-"""'I ICVT Lr I Processing Output -:-----) Build the CCPARM. A. For EP and PEP control programs. B. For NCP control programs. 2 Check that options are compatible. IRVT CCPARM CCPNAME CCPADDR CCPSIZE CCPENTRY CCPTYPE 3 Check number of resources. Notes Module 1 Label Notes Module Ref Label DMSNCP025E INVALID DATA IN 370X PROGRAM DMSNCP A. For EP and PEP control programs, additional fields are updated (CCPRSTYP, CCPRSTAT, CCPRSTEP, CCPPSIZE). A channel vector table must exist for EP and PEP control programs. If the CVT does not exist, the message Ref ICCPSTOR SCANCEP is issued and control returns to CMS with a return code of 16. DMSNCP025E INVALID DATA IN 370X PROGRAM is issued and control returns to CMS with return code 16. B. Additional fields in the CCPARM block are updated for NCP and PEP control programs (CCPCAONE, CCPHBFSZ,CCPHBFNO, CCPPADO, CCPPADI, CCPMAXID, CCPRESID,CCPRSTYP,CCPRSTAl CCPRSTEP). 2 A check is made that the options spec- SCANNCP DMSNCP CHEKVMV ified are compatible. If they are not, the message DMSNCP099W GENERATION PARAMETERS INCOMPATIBLE WITH VM/370 is issued and processing continues. 3 If there are more than 4086 resources DMSNCP or if the first resource is not a 3704/ 3705, the message I Diagram 9-2. DKSNCP--Building the CCPARK List 172 IBM VM/370 Service Routines Program Logic CMS (OMSI NT) ~P_ro_c....;e_ss_i_ng=--_ _ _ _ _ _ _ _ _-. PLIST .... IG_R_l_ _~~ ENTRY ADDR FILENAME FILETYPE OPTIONS We e••> -'-------> Output 1 Initialize the GEN3705 processing. ~=====:> IMPFSCB OPTLIST i RUN Lr R -----I Input file 2 Scan the input file for the //EXEC NOSAVE card. A. Edit Assembler input (See Diagram 9-4 for details.) B. Edit Linkage Editor input (See Diagram 9·5 for details.) I EXEC file 3 Write the EXEC file. rF Ir-O-P-TL-IS-T-----,'. NORUN SAVE II:> 4 Add the SAVENCP statement to EXEC file, if requested. 5 Close the EXEC file. 6 Execute EXEC file, if requested. I Notes 1 The input file name, type, and option· ally the mode are put into INPFSCB. The filename or the first 6 characters of the name, whichever is the least, is saved for naming the assembler and linkage editor output files. Module DMSGRN Label 4 The CLOST ACK routine is called to add FINDIEWL DMSGRN ISTACK30 I DMSGRN PROCEND2 I I STACK30 SAVECP filename (ENTRY entryname OPTEND Ref Label FINDASM ated as a result of the assembler and linkage editor input are written to an EXEC file. to be issued. to the end of the EXEC file, if SAVE was specified on the GEN3705 command. DMSGRN,048E INVALID MODE xxx DMSGRNOO2E FILE xxxxxxxx NOT FOUND The FSCBRD routine is used to read DMSGRN the input file. The EDITIN routine scans for a //EXEC card containing PGM=IFKASM or PGM=IEWL. Control cards are scanned until a valid EXEC card is found. If *, II, or /* does not appear as the fi rst characters of the input record or if an invalid //EXEC card is read, the message Module The IFKASM routine processes the assembler input and the I EWL routine processes the linkage editor input. After the input is processed, DMSGRN continues by scanning the input file for another / /EXEC card. 3 The EXEC statements that were gener- DMSGRNOO3E INVALID OPTION xxxxxxxx 2 Notes START The input options are scanned and the appropriate options are set on. Invalid options cause the message The FSSTATE macro is issued to see if the file exists. Either of the following messages is issued in case of an error Ref 5 PRIMEDIT DMSGRN The EXEC macro file is closed by branching and linking to the PROCEND routine. 6 If RUN was specified, the command DMSGRN PROCENDl PROCENDl EXEC ncpname is stacked in the reader. Control is returned to CMS. RETURN1 I DMSGRN078E INVALID CARD IN INPUT FILE 'xxxxxxxxxxxxxxx' I is displayed. Diagram 9-3. DMSGRN--Overview of the GEN3705 Co.mand Processor Chapter 9. The 3104/3705 Service Programs 173 Processing Input Output DUMMYFCB :> DUMMY 1 Initialize the output FSCB. OUTFSCB DUMMY A1 rr==> 2 Scan the input file for the I/SYSPUNCH card. INPFSCB r-- I FILNAM, ASMMEM I ~8 3 -- Scan the input file for the I/SYSIN card. 4 Write the input file to the output 8 file. ASM3705 output file Input file ~ I Data I Notes 1 The filetype in the dummy FSCB is 5 Close the output file. 6 Build the statements necessary to do the assembling. Module Label DMSGRN IFKASM initialized to ASM3705. Each ASM3705 file has a filename consisting of the first 6 characters of the filename (or the entire filename if it is 6 characters or less) concatenated with a number. The FSCBWT routine uses the dummy FSCB to initialize the OUTFSCB. 2 The input file is scanned for a DMSGRN SYSPUNCH or SYSPUNCH continuo ation card. If found, it is scanned for the DSN= or DSNAM E= keyword. The DSNEDIT routine then saves the memo bern a me of the data set in the current SYSPUNCH membername savearea. 3 The input file is scanned for the IFKASM10 Ref Notes 6 The ASMFI RST bit in the PROCSW1 byte is tested. If the bit is on, the GEN parameter in the TXTLIB command is changed to ADD. Otherwise, the bit is turned on. DMSGRN ASMSTAK The SYSPUNCH membername is then moved to the TXTLIB command. ASMSTAK4 The number of commands and the address of the first command in the stack are loaded from ST ACKASM into registers 1 and 2 respectively. ASMSTA!<6 IFKASM34 DMSGRN IFKASM40 DMSGRN IFKASMAO DMSGRN IFKASMKO is issued. input and the FSCBWT routine writes it to the output file. and linking to the FSCBCLOS routine. Close errors are ignored. Diagram 9-4. DMSGRN--Generating the 3705 Assembler Files 174 Label ASMSTAK2 DMSGRN078E INVALID CARD IN INPUT FILE 'xxxxxxxxxxxxxxx' 5 The output file is closed by branching Module The name of the output assembler file is moved into the ASM3705 and EDIT commands. The FSCB base address is changed and the name of the input file is put into the TXTLIB command. SYSIN card. All cards scanned pre· ceding the SYSIN card must have * or II in the first positions of the card. Otherwise 4 The FSCBRD routine reads all the ASM3705 xxxxxxxx (PRINT) EDIT xxxxxxxx TEXT A1 [GEN] TXTLIB [ADD] xxxxxxxx yyyyyyyy ERASE xxxxxxxx TEXT IBM VM/370 Service Routines Progra. Logic Ref Processing DUMMYFCB -.=====""""'1) 1 rt~:UTFOCB Initialize the output FSCB. ....- DUMMY DUMMY A1 I 2 Save the linkage editor options. 3 Scan the input file for the SYSLIN control card. 4 Write the output linkage editor file. INPFSCB FILENAME I 6 Build the statements necessary to do the link editing. t../Data Module Notes 1 The filetype in the dummy FSCB is initialized to TEXT. Each linkage editor TEXT file has a filename consisting of the first 6 characters of the filename (or the entire filename if it is 6 characters or less) concatenated With L and a number. The IIEXEC card is edited for the keyword PARM=. The linkage editor options are moved to the option field of the LKED command. EXEC continuation cards are ignored. 3 The input file is scanned for the DMSGRN Label Ref tL Output file ERASE NCPTEMP LOADLIB A FILEDEF SYSLIB DISK .. . FILEDEF SYSLMOD DISK .. . LKED xxxxxxxx (PRINT NOTERM FILEDEF SYSLIB DISK FILEDEF xxxxxxxx DISK OBJ3705 TEXTLIB A 1 ... FILEDEF xxxxxxxx DISK NCPTEMP LOAD LIB A1 ... F!LEDEF SYSLMOD DISK xxxxxxxx LOADLIB A1 ... LKED xxxxxxxx ( ... The LKDFIRST bit in the PROCSW1 byte is tested. If it is off, it is set on and the filename of the input file is moved into the FILEDEF and LKED commands. Aiso, the command count and address from STAKLKD1 are loaded into registers 1 and 2. If the LKDFIRST bit is on, the command count and address from ST ACKLKD2 are loaded into registers 1 and 2. DMSGRN B I Module Close errors are ignored. 6 DMSGRN I Notes IEWL I Lr I 5 Close the output file. Input file filenaLn text a1 Label Ref FSCBCLOS DMSGRN I LKDSTAC!< ILKDSTJ I IEWLJCL2 SYSLI N card. All cards scanned preceding the SYSLIN card must have * or II in the first positions. Otherwise, the error message DMSGRN078E INVALID CARD IN INPUT FILE 'xxxxxxxxxxxxxxx' is issued. 4 The FSCBRD routine reads the input DMSGRN file and the FSCBWT routine writes it to the output file. The ED!TIN routine scans for the keyword ENTRY. If the keyword ENTRY is found, the IEWLENT routine moves the entry name to the SAVENCP statement. 5 The output file is closed by branching IEWLSN10 IWRTSIN lEWlENT DMSGRN IEWLSEOF and linking to the FSCBCLOS routine. Diagram 9-5. DMSGRN--Generating the Link Edit Files Chapter 9. The 3704/3705 Service Programs 175 Processing Input Output PLIST I GRl OPSTART ....---.......,) Validate command line. ) Ioptions 2 Oleck that the source file exists and has the proper format. 3 Locate read/write disk space. 4 Define the necessary files. 5 Pass control to the 3705 Assembler program. FCBs 6 Return to CMS. Moduli Notes 1 A filename must be specified. If it is DMSARN Label DMSARN not, the message Ref Notes 4 DMSARNOO1E NO FILENAME SPECIFIED is issued and processing terminates. The COMPSWT bit is set on in OSSFLAGS to indicate the 3705 assembler is running. The option list to be passed to the 3705 assembler is built. SQUEEZE If Batch is running, the message SUIT15 ASSEMBLING filename Al is displayed and steps 2 and 3 are skipped. 2 The STATE macro is issued to check that the input file exists and has fixed 80-character records. If the record format is wrong, the message 5 Control is passed to IFKASM. DMSARN SUIT25 CONTINUE NOERASE DMSARN LlST2 DMSARN RETURN DMSARN SUIT17 DMSARN004W WARNING MESSAGES ISSUED DMSARNOOSW ERROR MESSAGES ISSUED DMSARNOl2W SEVERE ERROR MESSAGES ISSUED DMSARNOl6W TERMINAL ERROR MESSAGES ISSUED The output files are closed and the utility files SYSUT1, SYSUT2, and SYSUT3 are erased. All FCBs are cleared, OSSFLAGS is reset, and control returns to CMS. If the input disk is an extension of a read/write disk, the parent disk is used. Otherwise, the A disk is used. Diagram 9-6. DMSARN--ASM3705 Command Processor 176 DMSARN the following messages is issued is issued and processing terminates. write disk, that disk is used to contain the text and listing files that are generated. Label FI LEDEFs are issued for SYSUT1, SYSUT2, SYSUT3, SYSIN, TEXT, SYSPUNCH (if the DECK option was specified), SYSPRINT (if the NOPRINT option was not specified), LISTING, and CMSLlB. 6 If the return code is not zero, one of DMSARNOO7E FILE filename IS NOT FIXED, 80 CHAR. RECORDS 3 If the input file resides on a read/ All the old text, listing, and utility files for the current file are erased. Free storage is initialized and enough storage to contain the longest assemble path is obtained via a GETMAIN call. Module IBM VM/370 Service Routines Program Logic SUIT19 Ref Processing ~PL_IS_T---011.....:1_ _ _:> R1 ~fiiename 1 Output I I~I~:::: ~ option1 DMSITS optionn IIIF~: ~ I fo'"n""n I I 2 Validate that the source file exists I •••••• > on d;,k ,"d ;, ;0 'h' pm", DMSSTT b~ IDMSS~T I ASM3705 Source File Lr r-'---------II 0 II ;~~~:~ ~=======I~I ~ PARAMLST OSSFLAGS > Validate the command line. 3 DMSARX001E DMSARX003E I' Find RIW disk space for new assembler files. ~ I ADTLKW ____-,r PLiST to be II STATE Flag ~~~~~o I ~~ DMSARX007E I ~II Old Assembler Files ADT DMSARX006E Notes 1 Validate the command line by ensuring that a filename has been specified and creating an assembler option list. If the filename is not specified, the message -- NO -DMSARxOOlt: SPECIFIED Module Label DMSARX OPTSCN Notes 3 New files to be used during assembler _.. -.. -.. - 1-1 Lt:I'IIAMt: I II DMSARX Ref Label FINDRW If the input file resides on a RIW disk, that disk is used to contain the TEXT and LISTING files generated during the assembly. If the input file resides on an extension of the R!W disk, the parent disk is used. I I If neither of the above disks is a R/W disk, the user's A-disk is used. DMSARXOO3E INVALID OPTION 'option' If no RIW disk can be obtained, the message is issued and processing terminates. Verify that the source file exists by issuing a STATE command (module DMSSTT). If the file exists but is not in proper format (SO-character records), the message Module processing (TEXT, LISTING, and SYSUTI can be obtained from three sources. is issued. The option list is built by scanning the command line, checking the options specified, and placing the valid entries in the PARAMLST table. If an invalid option is specified, the message 2 Ref DMSARX STAT ASM DMSARX006E NO READIWRITE DISK ACCESSED is issued and control returns to CMS via DMSITS. DMSARXOO7E FILE 'fn ASM3705' IS NOT FIXED, SO-CHAR. RECORDS is issued and processing terminates. If the file is in proper format, procesSing continues at step 3. Diagraa 9-7. D~SlRX--ASM3705 Co •• and Processor (Part 1 of 2) Chapter 9. The 3704/3705 Service Progra.s 177 Processing Input 4 Output I Define the files required during .~====~> the assembly and call the assembler. I •• fTE!T¢ e ••• DMSERS DMSSMN DMSKEY DMSFLD I I •••••• > :> DMSERS DMSSMN DMSKEY DMSFLD 5 Manage output records for SYSUTt file. > CWAXOO ~ > I •••••• SYSUT1 Records I •••••• c=J]J DMSSMN DMSERR I ASMSW2 FSr. '0' ... SOURCE CMSLlB SYSTERM """~" Fn", SYSUT LISTING TEXT DMSSMN DMSERR > i •••••• )' a FSTs for Assembler Files: SYSUT SOURCE CMSLlB LISTING TEXT SYSTERM OSSFLAGS I COMPSWT I 8D SYSUT1 Disk or Virtual Storage ~AXOO rL 6 Process assembler output and handle errors. ,...... > ~I----"'> Ie •••.•• DMSERS DMSFNSA > R15 Return code from assembler DMSERS DMSFNSA I > ,...... DMSITS Notes 4 Module DMSERS is called to erase the old TEXT, LISTING, and SYSUT files associated with the new input file. DMSSMN (GETMAIN) is called to obtain enough storage to contain the SYSUT1 work file. DMSARX When disk space is obtained for the required assembler files and for the files CMS needs (SYSTERM and CMSLlBl. FILEDEF commands are issued to convert all the files to CMS format. The assembler is then called and begins processing. 5 If possible, all SYSUTt records are Label ERASE Ref Notes CMS via DMSITS. FILEDEF LOADASM DMSARX ASMPROC kept in virtual storage during an assembly. However, when virtual storage is exhausted, records are written to disk. If the records must be written to disk, they are formatted to fit DASD requirements and moved to disk a record at a time. 6 All SYSUT files used during the assembly are erased via a call to DMSERS. DMSFNSA is called to close all files and DMSFLD is called to clear all FILEDEFs not defined with the PERM option. COMPSWT in OSSFLAGS is turned off to indicate that the assembler is no longer processing, the auxiliary directory list is released, and control returns to SYSWTX DMSARX ERASUTS RETURN Diagram 9-7. DMSARX--ASM3705 Command Processor (Part 2 of 2) 178 IBM VM/370 Service Routines Program Logic Module Label Ref Processing Input I eMS I GRl El PUST ~ Output I filename options > Check for filename. 2 Convert CMS options to OS format. I 3 Check input file. I P 4 Issue FILEDEF for SYSLlN, ADT (Active Disk Table) ~ SYSLMOD, SYSUT1, SYSTERM, and SYSPRINT. I II I I ~ 5 Erase the old SYSPRINT and SYSUTl disk files. I >I OPTLIST rr==!> ~ ~ I I I FCSs 6 call the OSiVS iinkage editor. 7 Clear the FI LEDEFs. I Notes 1 The first operand on the LKED com- Module DMSLKD Label DMSLKD mand must be the filename. If it is not, the message DMSLKDOO1E NO FILENAME SPECIFIED is displayed. The filename specified is used as the default FI LEDEF filename. 2 If anything other than options follows DMSLKD OUTLOOP2 Module Label DMSLKD PRTDEF DMSLKD CALL nllll roA11 I Ref I If no read/write disk is accessed for the SYSUTl file, the message DMSLKDOO6E NO R EAD/WR ITE DISK ACCESSED is issued. delete 2 disk files: 'fn SYSUT1' and 'fn LKEDIT' (fn = the input filename). 6 Control is passed to the OSNSl linkage editor root phase (HEWLFROU) with the specified parameters and the default member name. 7 The command DISK, SIZE, NAME, TERM, NDTERM'I and LISE. If they are specified, membername and libraryname are moved into the FILEDEF commands. If NAME or LISE is specified without a corresponding name, the message DMSLKDOO5E NO 'option' SPECIFIED is issued. I D FILEDEF * CLEAR is issued to cancel all the file control biocks. DMSLKD OUTLOOP2 that the input file exists. If it does not, the message DMSLKDOO2E FI LE 'fn ft' NOT FOUND is issued. If the input file does not contain fixed 80-character records, the message DMSLKDOO7E FILE 'fn ft' IS NOT FIXED, 80 CHAR. RECORDS is issued. 4 The CMS file definition function is Notes 5 The CMS erase function is called to the filename, the message DMSLKD070E INVALID PARAMETER 'parameter' is issued. Flags are set to reflect the following options - PRINT, NOPRINT, 3 The STATE macro is issued to check Ref DMSLKD If the return code from the linkage editor is not zero, one of the following messages is displayed. DMSLKDOO4W WARNING ERROR MESSAGES ISSUED DMSLKDOOaw ERROR MESSAGES ISSUED DMSLKD012W SEVERE ERROR MESSAGES ISSUED DMSLKD016W TERMINAL ERROR MESSAGES ISSUED PROCERR Control then returns to CMS, with the return code in register 15. EXIT PRTDEF called to create a file control block for each of the linkage editor DDNAMEs: SYSLlN, SYSLMOD, SYSUT1, SYSTERM, SYSPRINT. Standard file definitions are performed unless otherwise specified on the command line. Diagra. 9-8. D!SLKD--LKED Co •• and Processor Chapter 9. The 37C4/3705 Service Programs 179 Processing Input > I GRl Output 1 Process the command line. :> 10PTLIST 2 :> 8 If filename not specified, find and read dump spool file. CMS Dump File 3 Define files. Reader spool File A. Set up the FILEDEF commands. :> B. Check that the dump file exists. C. Execute FI LEDEF commands. :> 4 Call the OS dump program. 5 > Return to CMS. CJ D DUMP •. Notes 1 If the second parameter in the input Module Label DMKRND NCPDUMP line starts with DUMP, the name of the CMS file is saved in the output FSCB. The appropriate options are marked in the OPTLIST. If there are no options specified, FORMAT, no MNEMONIC, and no ERASE are assumed. If an invalid option is specified, the following message is generated TESTOPT Ref Notes A. The name of the CMS dump file is put in the SVSUT2 and SVSIN FI LEDEFs and in the control statement skeleton for the IPLDUMP processor. DMKRND The SVSIN record is created, using the specified user options, any old SVSIN file is erased, and the new SVSIN file is written to the DUMPnn SVSIN file. If the record cannot be written, the message DMKRND8701 UNABLE TO CREATE CONTROL FILE FOR IPLDUMP is issued and control returns to CMS. C. The following commands are issued to simulate an OS interface. READNXT 4 DMKRND loads register 1 with the DMKRND address of a dummy parameter list and links to IFLDUMP. If the return code from IFLDUMP is not zero, it is passed to CMS. 5 If the return code from IFLDUMP is zero and ERASE has been requested, the DUMPnn file is erased, and the following message is generated 'DUMPnn NCPDUMP' FILE ERASED Diagram 9-9. DMKRID--ICPDUMP Co.mand Processor 180 LlNKDMP FILEDEF SVSUT2 DISK DUMPnn NCPDUMP Al (XTENT 513 NOCHANGE FI LEDEF SVSIN DISK DUMPnn SVSIN Al FILEDEF SVSPRINT PRINTER DUMPWRT 'DUMPnn NCPDUMP' FILE CREATED DMKRND8531 NO DUMP FILES EXIST STRTDUMP DMKRND861E FILE 'DUMPnn NCPDUMP' NOT FOUND LOOKLOOP and control returns to CMS with a return code of 22. is issued, the spool file is closed, and processing continues. If the reader was empty or if a read error occurs, an error message is issued. DMKRND B. The STATE macro is issued to check that the CMS dump file exists. If an error is retumed, the following message is generated DMKRND851I TEN DUMP FILES ALREADV EXIST The reader is spooled class E and the spool file is read via a DIAGNOSE instruction. The records are deblocked and written to the CMS dump file. The read/write loop continues until the real spool file DIAGNOSE instruction returns a nonzero return code. When the end of file is reached, the message Label 3 and control returns to CMS with a return code of 24. If the name of a CMS dump file was not specified, DMKRND assumes the dump file is in the reader. The filename of the output file is set to DUMPOO through DUMP09 and the STATE macro is issued until a dump file is found. If an available name is not found, the following message is generated. ._-- DMKRND8501 UNABLE TO READ DUMP FROM READER DMKRND863E INVALID PARAMETER 'xxxxxxxx' 2 Module IBM VM/370 Service Routines progra. Logic DMKRND Ref Program Organization This section describes the following 3704/3705 co •• and processing aodules: DoSIRN The interface between CMS 3704/3705 Assembler (IFKlS"). • DMKRND--NCPDUMP command processor • DMSARN--ASM3705 com.and processor NCP/VS Release 2 and 3 Assembler) (for • DMSARX--ASM3705 com.and processor NCP/VS Release 4 Assembler) (for • DMSGRN--GEN3705 command processor • DMSLKD--LKED coama.nd processor Attributes --tiskresident • DMSNCP--SAVENCP co •• and processor ~!l!!I the !!ltrI goints I!SARN To process the AS!3705 coamand. ISMBAND To handle any I/O activity pertaining to the SYSUT2 file during the asseably. Conditions It Dl!SARN Rl: Address of the paraaeter list R14: Return address R15: Address of the entry point DMKRND The interface to prograll. the 05/360 3705 !!tr.!12Y!~ Runs in a CMS virtual machine ~~try £ondi!.!~~§ R1: R13: R14: R15: and Address of parameter list Address of savearea Return address CSECT base register !!~.9.!§!~! Q§gg§ RO-10: Work registers R1l: Address of FSCBDSECT R12: CSECT base register R13: Address of savearea R14: Linkage register R15: Return code Call to Other Routines --IFLDUMP TO-format-and print the dump ~!ter~gl !!~!~!~~£~ None Data Areas -Tsca-Exit Conditions --R12:--CSECT-base address R13: Address of input savearea R14: Return address R15: Return code dump It AS!HAND R1: Address of the R2: Address of the RS: Address of the Rll: Address of the R14: Return address R15: Address of the DECB DCE CPSECT FCESECT entry point !!!g!st~r Usage RO-1 : R3: R4-5: R6: R7-9: Work registers Base register Work registers Return address Work registers RiO; constant S ~o caller R12-13: Work registers R14: Linkage register Error code R15: £g!!§ ~~ Other Routines IMSERSA To erase old files I!SS!NE To initialize storage pOinters IMSSTTA To locate the file 3704/3705 IFKAS! To assemtle the control program !!ternal !!efe!~§ FREE!AIN To return free storage GETMAIN To ottain free storage NUCON The nucleus constant area !YPE To send aessages to terminal the ]g!g !~ None Exit Conditions --contentS-of register of processing. 15 indicate results Chapter 9. The 3704/3705 Service programs 181 Return Code -0- Ne errors Minor errors detected during asseably, successful prograa execution is probable Errors detected during asseably, unsuccessful prograa execution is possible Serious errors detected during assembly. unsuccessful execution is probable Critical errors detected during assembly, unsuccessful execution is probable Catastrophic errors detected during asseably, partial or complete asseably canceled. Invalid option, no filename File not found Invalid record length for lSM3105 file No read/write disks accessed 4 8 12 16 20 24 28 32 36 !B Other Routines I!SCRD -- Reaa-5YSPIB! froa console to I!SCIR Display SYSPIB! aessage console FILEDEF all asseabler files tMSPLt Close all asseabler files tMSPNS Control nucleus protect key IMSKEY Display all error aessages IMSERR Erase old asseabler files IMSE8S Load the asseabler phases IMSSLB Control storage pOinters t!SSMN (GET!lIN/PREE!IIN) IMSST~ Verify disk file existence tMSLAtAt SET/RESET tbe PST chain for auxiliary directory (XF) root CII100 3705 asseabler segaent ~!ll§ !1!!1!.!~ ~!te£n!1 lIT CMSCE IMSARD FSTB Reference§ 10 NUCON DMSARI Data Areas -IDNii! The interface between the ASM3105 command and the 3704/3105 Assembler (CWAIOO). OPTLIST OPDEF ~1!try DMSARI ASMPROC TERMPROC PARAMLS'I U'IENTRY UTHEAD OPTAE$ SYSUTl processing routine Terminal output processing routine. SAVEAREA !.!:yiJ2ytes Executes in user area Names of CMS ddna.es for assembler Option list passed to the assembler (Macro label) names and al:breviations of all options Parameter list for assembler In-core SYSUTl record area Beader area for in-core records List of pointers to option table entries SAVEAREI Exit Conditions -NoRiiI: GPR15=O No error Rl: R14: R15: Address of the paraaeter list Return address Address of the entry point (DMSARI) !~gis!§f: Q§g,g~ RO Rl R2 R3 R4 R5 R6 R7 R8 R9 Rl0 Rll 812 R13 R14 R15 182 NUCON addressability Address of all PLISTs Werk register Werk register GETMAIN/FREEMAIN aaount Werk register GETMAIN/FREEMAIN address ASMPROC address Work register Werk register Linkage register FCB address during lSMPROC Base register Save area address Return register from calls Assembler root address and return error code IBM VM/370 Service Routines Program Logic ERROR GPR15=24 GPR15=28 GPR 15=3'2 GPR15=36 GPR15=40 Return Code C-4 e 12 Invalid option, no filename specified File not found File not fixed, 80 char. records No read/write disks accessed Fileid conflict, device invalid for input !~anin.9 No errors Minor errors detected during assembly, successful program execution is probable Errors detected during assembly, unsuccessful program execution is possible Serious errors detected during assembly, unsuccessful execution is probable Critical errors detected during assembly, unsuccessful execution i$ probable Catastrophic errors detected during assembly, partial or complete assembly canceled Invalid option, no filename File not found Invalid record length for AsM3705 file No read/write disks accessed 16 20 24 28 32 36 D!5LKD The interface :Editor. to the Os/Vs1 Linkage JatrI Point I!KsLKD Attributes --ieusable, disk resident !B!!I R1: £2n~itions Address of input parameter list D!sGRN ~~gi21~! Edits the Stage 2 input for the 3704/3705 control program generation, builds the 3704/3705 assembler files and linkage editor text files, and builds an EXEC macro file. RO-11 : R12: R 13: R14-15: ]sage Work registers Base register Address of savearea Work registers £!!!§ to .Qther To t!ssTT tMSERS To tMSLAtW To I!sFLt To J1!try faint DKsGRN Attributes --RuDs-In-a eMS virtual machine BEWLlROU J1!!!I R1: £~1!di!i~j!§ Address of the input parameter list Address of the savearea Return address CsECT base address R13: R14: R15: !!~qist~~ US!g~ Work registers Base register 2 Base register 1 Address of the savearea Linkage register Return code RO-10: R11: R12: R13: R14: R15: £~lls !~ Q!!~! R~utin~ None !!terj!al None R~!~!~1!£!§ a !il.!§ FsCB !t~ t Exit Conditions --a12:-----Base-address R13: Address of input savearea R14: Return address R15: Return code l.Q!!tines get a copy of an PST delete a file fro. disk find a read/write disk establish file definitions for as simulaticn To link edit text files External References --iU~ -~e-nucleus ltTSECT F5TSECT constant area The active disk table The file status table Data lreas --JiT-(lctive Disk Table) Exit Conditions --contents~register 15 indicate results of processing Return Code ~eaning 0-16 Linkage editor return codes Invalid file ID character 20 Bo filename specified, missing 24 operand on LIEE or Nl!E option, or invalid parameter File not found 28 lile not fixed 80-byte records 32 Bo read/write disk accessed or disk 36 not accessed Chapter 9~ The 3704/3705 Service Programs 183 DMSNCP R4-6: Rl0: Reads a 3705 central program aodule (EP or NCP) in OS load module format and writes a page-format core-image copy on the VM/370 system volume. R11: R12: R13: R14: R14: jntry faint SAVENCP Attributes --SerIally reusable, virtual machine j,!!try Conditicns R1: --~ddress list !!~sist§! RO: R1 : R2: R3: 184 executes of the in a Work registers Address of the input file nCE during the read, then the address of tbe centrol program core image. Address of the CCPAR! paraaeter list Base register Address of the savearea Linkage register Linkage and work register ·C!S £gll§ to Other Routines t!KSNC via -DIagnose-code X'50' to write the core image of the 3704/3705 control program and parameters on disk input parameter USg,Sl§ Work register Address of parameter list and werd register Pointer to input record and work register Length of input record and work register !xt~~al ~~ Bone Da!! Areas CCPAR! Exit Conditions -R15: Return code IBM VM/370 Service Routines Program Logic Directory Tbis . section directories: • contains two types of • !odul~~i!!£!~!I (Figure 9-2) is a list of the CP and CMS modules that process tbe co •• ands that generate the 3704/3705 control ~rog~a. and process the 3704/3705 storage dumps. Description Module DMKRND NCPDUMP co •• and processor. DMSARN ISM3705 co •• and processor. DMSARX 1583705 co •• and processor. D!SGRN GEN3705 com.and processor. DMSLKD LKED command processor. DMSNCP SAVENCP co.mand processor. Figure 9-2. Label ~irectori§2 (Figures 9-3 through 9-8) list the major labels in each of the command processors. In addition to the latel, the aodule (if aore than one is involved), associated aethod of operation diagram, and a brief description are included in the list. Module Directory for 3704/3705 Command Processors THE NCPDUMP COMM1ND PROCESSOR (DMKRND) Label Description Diagram DUMPWRT 9-9 Writes the output file. LINKDMP 9-9 Links to the OS dump service program, IFIDU!P. LOOK LOOP 9-9 Checks the reader for a valid eMS duap file. BCPDUMP 9-9 Starts READBXT 9-9 Reads the dump spool file. STRTDUMP 9-9 Builds the control file for the IFLDU!P processing routine. TESTOPT 9-9 Processes the options on the NCPDU!P command line. Figure 9-3. ~rocessing the NCPDUMP coamand. The BCPDUMP Command Processor (DMKRBD) Label Directory Chapter 9. The 3704/3705 Service programs 185 THE ASM3705 COMMAND PROCESSOR (DMSARN) r I Latel Description Diagram CONTINUE 9-6 Erases old files and gets enough storage for the assembler to execute in. DMSARN 9-6 Entry point for the ASM3705 command processor. LIST2 9-6 Calls the 3705 Assembler (IFKASM). NOERASE 9-6 Issues FILEDEFs for the necessary assemtler files. RETURN 9-6 Returns control to CMS. SQUEEZE 9-6 Checks that the input file exists. SUIT15 9-6 If running in a batch machine, sends ASSEMBLING filename A1 message. SUIT17 9-6 Finds a read/write disk for writing text and listing files. SUIT19 9-6 Closes the output files and erases the utility files. SUIT25 9-6 Checks the format of the input file. Figure 9-4. The ASM3705 Command Processor (DMSABN) Label Directory THE ASM3705 COMMAND PROCESSOR (D!SIRI) Description Latel Diagram ERASE 9-7 Erases old files. DMSARX 9-7 Entry point for the ISM3705 command processor. FILEDEF 9-7 Issues FILEDEFs for the necessary asse.tler files. FINDRIl 9-7 Finds a read/write disk for writing text and listing files. LOADASM 9-7 Load the 3701 Assembler root. OPTSCN 9-7 Validates command line. RETURN 9-7 Returns control to CMS. VERIFY 9-7 Checks that the input file exists. Figure 9-5. 186 The ASM3705 Command Processor (DMSARI) Label Directory IBM V8/370 Service Routines Program Logic THE GEN3705 C088AND PROCESSOR (DMSGRN) Diagram Label , Description I ----------~--------~------------------------------------------------------------I 9-4 ASMSTAK Stacks the required 3705 Assemtler commands in the Stage 2 EXEC I macro file. AS8STAK2 9-4 I Puts the name of the output assembler file in the IS83705 and EDIT com.ands. lS!STAK4 9-4 Puts the SYSPUNCH meabername in the TITtlB coamand. AS8STAK6 9-4 Puts the number of commands and the address of the first cemmand into registers 1 and 2. CLOSTACK Builds the SAVENCP command. EDITIN Edits the input records for keywords. FINDASM 9-3 Checks for assembler input. FINDIEWL 9~3 Checks for linkage editor input. FSCBCLOS 9-4 Closes the output file. FSCBRD Reads the input file. FSCBWT writes the output file. GEJMSG Generates error messages. lEWL 9-5 Main processing routine for generating linkage editor commands. lEWLENT 9-5 Scans for the keyword ENTRY. IEWLJCLA 9-5 Edits the //EIEC statement. IEWLJCL2 9-5 Scans for the //SYSLIN statement. IEWLSEOF 9-5 Branches and links to FSCBCLOS to close the linkage editor output file. IEWLSIN Processes SYSLIN information. IEWLSN10 9-5 Branches and links to FSCBRD to read the linkage editor inFut file. IFKASM 9-4 Main processing routine for generating 3705 assembler files. IFKASMAO 9-4 Branches and links to the FSCBRD and FSCBiT routines to read the input file and write the output file. IFKASMKO 9-4 Branches and links to the FSCBCLOS routine to clcse the outFut assembler files. IFKASM10 9-4 Scans for the SYSPUNCH statement. Figure 9-6. The GEN3705 Command Processor (D8SGRN) Latel Directory (Fart 1 of 2) Chapter 9. The 3704/3705 ServiCe Programs 187 I I I Label Diagra. Description IFKASl!34 9-4 Scans for the DSN= or DSNAftE= keyword on the SYSPUICH state.ent. IFKASl!40 9-4 Scans for the SYSIN state.ent. LKDSTACK 9-4 Builds the LKED co •• ands and the FILEDEF for their file. LKDSTAKl 9-5 Loads registers 1 and 2 with the nu.ber of co •• ands and the address of the first linkage editor co •• and. OPT END 9-3 Checks that the input file exists. OPTIONS1 9-3 Scans the input options. PRIl!EDIT 9-3 Scans for a valid //EXEC state.ent. PROCENDl 9-3 Closes the EXEC file. PROCEND2 9-3 Adds the SAVENCP com.and to the EXEC .acro file. PROCWT Writes co.mands to the stage 2 EXEC processor file. RETURN1 9-3 Returns control to Cfts. STACK30 9-3 Writes the linkage editor and asse.bler state.ents to the EXEC .acro file .• START 9-3 Starts the GEN3705 co •• and processing. WRTSIN 9-4 Branches and links to the FSCBWT routine to write the linkage editor output file. Figure 9-6. The GEN3705 Co •• and Processor (Dl!SGBN) Label Directory (Part 2 of 2) THE LKED COl!l!AND PROCESSOR (Dl!SLKD) Label Diagra. Description CALL 9-8 Calls the OS/VS1 Linkage Editor (HEWLFROU). Dl!SLKD 9-8 Entry point for the LKED com.and processor. EXIT 9-8 Returns control to Cfts. OUTLOOP2 9-8 Processes the co.mand options. PROCERR 9-8 Processes the error .essages. PRTDEF 9-8 Sets up the file definition for the printer. Figure 188 9-7,. The LKED Command Processor (Dl!SLKD) Label Directory IBM VM/370 Service Routines Progra. Logic THE SAVENCP COftftlND PROCESSOR (DMSNCP) Diagram Latel , Description CESDCHVT 9-1 Finds the channel vector table. CESDENT 9-1 Saves the entry point. CBEKVKV 9-2 Checks that the specified options are compatible. CLOSE 9-1 Closes the input file. CONTROL 9-1 ftoves the text records fro. the input buffer to the core i.age ........ &.#! ........... .lJU.L.L'IIII;'&'. ENDPARftS 9-1 Opens the input file and searches for the member. ERR21 9-1 Checks for the entry point record. ERR66 9-1 Checks for pre.ature end of file or invalid centrol records. EXIT 9-1 Returns control to CftS. SAVECCP 9-1 Issues the Diagnose X'SC' instruction to have DMKSNC do the actual saving. SAiENCP 9-1 Entry point for the SIVENCP command processor. SCANCEP 9-2 Updates the CCPARft parameter list for EP and PEP control progra.s. SCANDEV Scans for devices. SCANLINE Scans for teleprocessing lines. SCANNCP Figure 9-8~ 9-2 Updates the CCPARft parameter list for RCP and PEP control progra.s. The SAVENCP Command Processor (DftSNCP) Latel Directory Chapter 9. The 3704/3705 SErvice Pro;ra:s 189 Data Areas The following data areas are used by the 3704/3705 com.ana processor modules: • Network (NICELOK) • Active Disk Table (ADT) • Beal Device Block (BDEVELCK) • Communications List (CCPAB!!) • Spool File Block (SFBLCK) • Virtual !!achine Block (V!BLCK) • File System Control Block (FSCB) • Input/Output Block CIOBLOK) Controllers Parameter Interface Control All the above data areas except the FseE are described in the Vt!L37.Q ]!ta J!!!§ !!!g £2ntf~! Block§ Logic. The FSCE is described in Figure 9-8. FILE SYSTE!! CONTBOL BLOCK Or-----------------------------------------------, FSCBFNCT FSCBID 8 I 18 11A 1C FSCBBUFA 20 FSCBSIZE 24 I FSCBFBMT FSeEBICN FSCEBOR 1-----------------------------------------------281 FSCBLIOB !2.!spI!£2~.! Hex Dec --0 --0 8 8 10 18 1A 1C 20 24 26 28 8 8 16 24 26 28 32 36 38 40 Fi~!g_!~n FSCBFNCT FSCBID FSCBFN FSCBFT FSCBFM FSCBBECN FSCBBUPA PSCBSIZ! PSCBPB!!T FSCBNOB FSCBLIOB DS DS DS DS DS DS DS DS DS DS DS CL8 OCL18 CL8 CL8 CL2 H A P CL2 OH A Figure 9-9. Pile Systea Control Block (PSCB) 190 Elock IBM V!!/370 Service Boutines Program Logic ~~£!:ipti2D Control field for 1/0 function File Ident ifier Filenalle Filetype Filellode Belative record number Euffer address Euffer size File format Number of records to l:e read Diagnostic Aids The following figures list the messages and abnormal termination codes issued by the CMS 3704/3705 command processors. Figure 9-10 lists the messages issued by the NCPDUMP command Frocessor (DMKRND). Figures 9-11 and 9-12 list the messages issued by the A5M3705 command processor (DMSARN and DMSARX). Figure 9-13 lists the messages issued by the GEN37C5 command processor (DMSGRN). Figure 9-14 lists the messages issued by the LKED command processor (D!SLKD). Figure 9-15 lists the messages issued by the SAVENCP command procEssor (DMSNCP). THE NCPDUMP COMMAND PROCESSOR (DMKRND) Message Code Label DMKRND8501 DUMPWRT 9-9 UNABLE TO READ DUMP FRCM REIDER (Return Code = 21) DMKRND8511 LOOKLOOP 9-9 TEN DUMP FILES ALREADY EXIST (Return Code = 22) Diagram DMKRND8521 Message Text FATAL I/O ERROR WRITING DUMP DMKRND8531 DUMPWRT 9-9 NO DUMP FILlS EXIST (Return Code DMKRND861E STRTDUMP 9-9 FILE 'DU8Pnn NCPIU!P' NOT FCUND (Return Code = 28) DMKRND863E TESTOPT 9-9 INVALID PARAMETER - 'xxxxxxxx' (Return Code = 24) DMKRND8701 STRTDUMP 9-9 UNABLE TO CREATE CCNTROL FILE FOR IFLDUMP (Return Code = 16) DUMPWRT 9-9 'DUliPnn NCPIUMP' FILE CREATED LINKDMP 9-9 'DUMPnn NCPtUftP' FILE ERASED Figure 9-10. = 23) The NCPDUMP Command Processor (DftKRND) Error Messages Chapter 9. The 3704/3105 Service progra.s THE AS83705 COMMAND PROCESSOR (DMSARN) Message Code D!SARN001E Label Diagrall DMSARN 9-6 Message Text NO FILENA!E SPECIFIED D!SARN002E FILE 'fn ASM37C5' NOT FOUND D!SARN003E INVALID OPTION 'xxxxxxxx' D!SARN0041 RETURN 9-6 DMSARN006E WARNING !ESSAGES ISSUED NO READ/WRITE IISK ACCESSED D!SARN007E SUIT25 9-6 FILE 'fn ft' IS NOT FIXED, 80-CHIR. BECCBDS DMSARNOOSI RETURN 9-6 ERROR MESSAGES ISSUED DMSARN0121 RETURN 9-6 SEVERE ERROR MESSAGES ISSUED DM SARN 016 I RETURN 9-6 TERMINAL ERROR MESSIGES ISSUED DMSARN109S VIRTUAL STORAGE CAPACITY EXCEEDED Figure 9-11. The ASM3705 Com.and Processor (D!SARN) Error Messages THE AS!3705 CO!MAND PROCESSOR (DMSARX) Message Code Label Diagram DMSARX001E OPTSCN 9-7 NO FILENAME SPECIFIED DMSARX002E NEiFILE 9-7 FILE 'fn ASM37C5' NOT FOUND D!SARX003E OPTSCN 9-7 INVALID OPTION 'option' DMSARX007E FINDRI 9-6 NO REID/WRITE IISK ACCESSED D!SARX007E STATASM 9-7 FILE 'fn ASM37C5' IS NOT FIXED, 80-CHAR. RECORDS DMSARX038E DOFDEF 9-7 FILEID CONFLICT FOR DtHAME 'ASM3705' DMSARX052E MOVEKEY 9-7 MORE THAN lCO CHARS. OF OPTICNS SPECIFIED DMSARX070E DMSARX 9-7 INVALID PARAMETER 'parameter' D!SARX074E DMSARX 9-7 ERROR [RE]SETTING AUXILIARY DIRECTeRY DMSARX075E HOTDSK 9-7 DEVICE 'device' INVALID FOR INPUT Figure 9-12. 192 Message Text The AS83705 COlllland Processor (D!SARX) Error Messages IBM VM/370 Service Routines Prograa Logic THE GEN3705 COftftAND PROCESSOR (D!SGRN) Message Code Label Diagram DftSGRN 002E OPTEND 9-3 FILE 'fn ft' lOT FOUND DftSGRN003E OPTIOIS 1 9-3 INVALID OPTION 'option' FILE 'fn ft' IS lOT FIlED. 80 CBAB. BECCBDS DftSGRN007E DMSGRN048E OPTEND 9-3 DftSGRN054E Dft SGRN 078E Figure 9-13. Message Text INVALID ftODE 'f.' INCOftPLETE FILE ID SPECIFIED PRIftEDIT IFK!US40 IEWLJCL2 9-3 9-4 9-5 INVALID CARt II INPUT FILE 'xxx ••• The GEN3705 Command Processor (DftSGRI) Error Messages THE LKED COMMAND PROCESSOR (DMSLKD) Message Code Label Diagram DftSLKD001E DMSLKD 9-8 NO FILE NAME SPECIFIED DMSLKD002E OUTLOOP2 9-8 FILE 'fn ft' lOT FOUND DMSLKD004 W PROCERR 9-8 WARNING ERROR MESSAGES ISSUED DMSLKD005E OUTLOOP2 9-8 NO 'option' SPECIFIED DMSLKD006E PRTDEF 9.... 8 NO READ/WRITE DISK ACCESSED DMSLKD008E OUTLOOP2 9-8 FILE 'fn ft' IS lOT FIlED. 80 CBAB. BECORDS DMSLKD008W PROCERR 9-8 ERROR MESSAGES ISSUED DftSLKD012W PROCERR 9-8 SEVERE EBROR MESSAGES ISSUED DMSLKD016W PROCERR 9-8 TERftINAL ERROR MESSAGES ISSUED DMSLKD080E Figure 9-14. Message Text INVALID PARAMETER 'parameter' The LKED Command Processor (D! SLKt) Error Messages Chapter 9~ The 3704/3705 Service programs 193 THE SAVENCP COB!AND PROCESSOR (DBSNCP) , !essage Code !essage Text Label Diagraa D!SNCP001E SAVENCP 9-1 NO PILENA!! SPECIFIED (Return Code = 24) D!SNCP002E ENDPAR!S 9-1 FILE 'fn ft fa' NOT FOUND (Return Code 28) D!SNCP003E SIVEICP TESTOP DftSICP013E DftS00011 DftSNCP021E ICONTROL I 1 DftSNCP025E ISCINCEP ISCAINCP 1 D8SNCP045E ICLOSE I 1 DftSNCP056E IIOTLIST ICLOSE IERR66 1 DftSNCP099W ICHEKV!V 1 I D8SNCP109S ICONTROL INOTLIST Figure 9-15. 194 INVALID OPTION - 'option' (Return Code = 24) 9-1 !EftBER 'naae' NOT FOUND IN LIBRARY 'fn ft' (Return Code = 4) 9-1 ENTRY POINT 'syabol' lOT FOUND (Return Code = 40) 9-2 INVALID DATI IN 370X CONTROL PROGRA! (Return Code = 16) UNSUPPORTED 370X CONTROL PROGRA! TYP! (Return Code = 16) 9-1 FILE 'fn ft' CONTAINS INVALID RECORD FORBITS (Return Code = 32) 9-2 GENERITION PIRI!ETERS INCO!PATIBLE WITH VB/370 (Return Code = 99) 9-1 VIRTUAL STORIGE CAPACITY EXCEEDED (Return Code = 104) The SAVENCP Command Processor (DftSNCP) Error eessages IBM V8/370 Service Routines Progra. Logic Chapter 10. The ZAP Service Program Introduction The ZAP service program (DMSZIP) executes under the centrol of CMS via the ZAP command. It performs three functions for LOADLIB, TITLlE, and MODULE files residing on direct access storage devices. The functions are: • • • DUllp Verify Replace VERIFY The verify function compares sFecified data with the data at a specified address in a CS!CT~ If the data is the same~ a replace operation (if one is specified) is permitted; otherwise, an errcr message is issued. REPLACE DUMP The dump function reads all or part of a specified CSECT, or an entire lIember or • odule, formats the dump, and prints it at the system printer (133-character lines, each containing 32 bytes in hexadecimal, plus the translation) or displays it at the terminal (SO-character lines, each containing 16 bytes in hexadecimal, plus the translaticn). If more than one CSECT is dUllped, the CSECT nalle appears before each dump. The replace function replaces data at a specified address in a CSECT with the data specified in a control record~ The changed record is then written back te the file • Chapter 10. The ZAP Serwice Proqra8 195 Method of Operation The method of operation diagrams describe the execution of the ZAP program and show the processing associated with: • • Verifying and replacing data in a CSECT. Dumping a CSECT, member, or module. Diagram 10-3 describes tbe Frocessing of the DUMP function. Diagrams 10-4 and 10-5 describe the processing for modifying data in a CSECT. The relationship of the method of operation diagrams is shown in Figure 10-1. Diagrams 10-6 and 10-7 proper CSECT is located modifying. Diagram 10-1 describes the ZAP program. Diagram 10-8 shows how for dumping or modifying. a file Diagram printed. how the execution of Diagram 10-2 shows the ZAP control record processing. command and 10-9 describes Diagram 10-1 Overview of the ZAP Program l Diagram 10-2 ZAP Initialization and Control Record Processing .Diagram 10-3 DUMP Control Record Processing • I Diagram 10-6 Opening the File 1 Diagram 10-7 Finding the CSECT • Diagram 10-4 BASE Control Record Processing • Diagram 10-8 Reading the Text 1 Diagram 10-9 Printing the Dump I • Diagram 10-4 NAME Control Record Processi ng • Diagram 10-5 END Control Record Processing ~ Diagram 10-6 Opening the File • Diagram 10-5 VER!VERIFYor REP Control Record Processing ~ Diagram 10-8 Reading the Text 1 Diagram 10-7 Finding the CSECT Figure 10-1. Key to the ZAP Program Method of operation Diagrams 196 IBM VM/370 Service Routines Program Logic describe how the for dumping or is read a dump is PL!ST I~R_e~g_1__~~~Z_A_P____~ --:-----~>I Conteol ,nteffi ITom DMSITS. 2 Initialize fields and locate the input file (if one is specified). (See Diagram 1 ().2 for details.) 3 Read a control record. (See Diagram 10-2 for details.) 4 Perform the specified function. (See Diagrams 10-3, 10-4, and 10-5 for detai!s.) 5 Module Notes 1 Control enters DMSZAP from DMSITS. DMSZAP At end, return control to DMSITS. Label Ref Notes Module Label Ref DMSZAP Register 1 points to a PLiST that contains the type of file to be operated on, libraries to be used if applicable, __ ...I -, __ ..1. _ _ 1.. &. .... _ : .......... + ....... ..J ........ + ..... +dliU t,;UlIlIUI;) IVI IIltJUL ailU VUl.tJUI. operations. 2 Initialize fields and pointers and verify input and output options. Locate the input file if an input file is specified. Otherwise, request input from the terminal. 3 Read a control record. Find the I DMSZAP INITOPEN II FDEFINP DMSZAP READINP routine needed to perform the function specified by searching a table of control record keywords. 4 Perform the specified function. At DMSZAP its end, return control to READINP to read another control record. 5 When the END control record is read, return control to DMSITS. DMSZAP Diagram 10-1. Overview of the ZAP Prograa Chapter 10. The ZIP Service Frogram 197 Processing Input PLIST I REG 1 ~ ~ . ZAPCMND Output Verify ZAP command and set up library table, if libraries are -:--1 specified. -> II b 2 ::~;;~~"" ",,;fi"'. ~,;fy <: Ii ]1 lb LlBNAMEl libnamel Iibname2 libname3 INFUNC 3 If I NPUT filename is specified, locate the file. filename 4 5 R"d, '0"",1 moo,d. ~ CDBUF TABSTRT I ~ If I NPUT is not specified, issue a request for input. 6 Print the control record if the PR INT option is in effect. ~ OJ Notes Module 1 Verify the operands in the ZAP com- DMSZAP mand. If TXTLIB or LOADLIB is specified, move the library names (up to three) into LlBNAME1. If no library name was specified, issue the message: 7 Determine the type of control record and branch to the proper subroutine. (See Diagrams 10-3, 10-4, and 10-5 for details.) Label SCAN LINE STLIB Notes from the specified INPUT file (RDCARD2 routine). Save the control record in CDBUF. Label Ref -I-- RDCARD2 DMSZAP ~RCARD SCANKEYl TABLOOK bytes 1-8 keyword bytes 9-12 keyword routine DMSZAP DMSZAP CHKOPT I NPTOPT FDEFINP If I NPUT is not specified, display ENTE R: to request ZAP control records to be entered from the terminal. DMSZAP Read the control record either from the terminal (RDCARD routine) or DMSZAP READINP RDCARD RDCARD Valid keywords and the diagrams in which their routines are described are: Keyword Diagram DUMP NAME BASE VER VERIFY REP END 10-3 10-4 10-4 10-5 10-5 10-5 10-5 If a match is found, go to the appropriate routine. NAMFOUND If no match is found, issue the message: DMSZAP201W INVALID CONTROL RECORD OR NO GO SWITCH SET INVEREP and return control to READINP (step 4). Diagram 10-2. ZAP Initialization and Control Record Processinq 198 D Module Otherwise, compare the keyword to keyword tables whose formats are: DMSZAPOO2E FILE 'fn ft' NOT FOUND 5 It: CDBUF word. If the statement is blank or the first character is an asterisk, return control to READINP (step 4). filename into INFUNC. Issue STATE to locate the file. If this file cannot be found, the message: 4 t 7 Check the control record for a valid key- DMSZAP DMSZAPOO3E INVALID OPTION 'option' 3 If INPUT filename is specified, move III ZAP SYSOUT printer if the PRINT option is in effect. Other messages that may be issued if the command line is in error are: DMSZAP014E INVALID FUNCTION 'function' DMSZAP047E NO FUNCTION SPECIFIED DMSZAP070E INVALID PARAMETER 'param' If options are specified, check for validity. If mutually exclusive options or invalid options are specified, issue the message: <: I 6 Print the control record on the DMSZAPOO1E NO FILENAME SPECIFIED 2 Ref I ~ IBM VM/370 Service Routines Progra. Logic j,OCOSSing CDBUF > DUMP Retrieve the member name or module name and, if specified, the CSECT name. 2 If starting and ending addresses aie specified, check validity and convert to hexadecimal. PACKADDS Locate the file. PACKADDE 3 A. Open the file. B. Find the CSECT. (See Diagram 10-6 for details.) 4 Dump the file. A. Read the file. (See Diagram 10-7 fer detai!s.) B. Print the file. (See Diagram 10-8 for details.j Notes 1 Retrieve the member name or module Module Label DMSZAP DUMPREC name, if specified, from the control record. If an error is encountered, issue the message record. If starting and ending addresses are specified, retrieve them from the control record, check them for validity, and convert them into hexadecimal digits. If either of the addresses is not an even number of digits, issue the message If all CSECTs are requested, return control to step 3. When the request is satisfied, read another control record (see Diagram 10-2, Step 4). I I Continue by reading another centro! DMSZAP Module Notes DUMPERR DMSZAP201W !NVALID CONTROL RECORD OR NO GO SWITCH SET 2 Ref DMPNTALL Ref Label READINP I I I I SCANKEYl DECODE1 PACKVAL DMSZAP203W - ER RO R - ODD NUMBER OF DIGITS - SET NO GO SWITCH INVEREP2 and continue by reading another control record: 3 Go to the open routine (PREOPLlB) DMSZAP DMPCSECT DMSZAP STSTART to locate the member or module and the CSECT desired. 4 Use the starting and ending addresses of the CSECT to determine the length of the dump if not otherwise specified. Go to the read text routine to read the file (RDTXT) and then to the print dump routine (PRTDUMP). PREOPl..iB GORDTXT RDTXT PRTDUMP Diagram 10-3. DUMP Control Record Processing Chapter 10. The ZAP Service Program 199 Processing Input 1 CDBUF INAME I UF Output Process the NAME control record. A. Retrieve the member name MEMNAME or module name and the CSECT name, if specified. B. Locate the file. CSECTNAME 1. Open the file. 2. Find the CSECT. (See Diagram 10·6 for details.) 2 CDBUF IBASE I ESDADD I I ESDLEN I I IT D Notes Module . ~ READINP Process the BASE control record. A. Check for valid control record. B. Retrieve the address, convert it to hexadecimal digits, and compare it to the desired CSECT. Label 1 Ref • ~ READINP Notes Module Label of digits, issue the message A. Retrieve the member name or module name and the CSECT name, if specified, and check for errors. If errors are found, issue the message DMSZAP INAMEREC INVEREP and continue by reading another control record. DMSZAP190W INVALID CON· TROL RECORD OR NO GO SWITCH SET If the file is a MODULE file created with the NOMAP option, accept the BASE address and continue by reading another control record_ Continue by reading another control record. B. If no errors are found, open the specified file and locate the desired CSECT. Continue by reading another control record. DMSZAP NOCSECTl PREOPLIB READINP A. Check that the NAM E control record has been entered. If not, issue the message DMSZAP BASEREC INVEREP 2 CKBASEl If the CSECT address is not equal to the BASE address, issue the message INVEREP2 Continue by reading another control record. Continue by reading another control record. If the address is not an even number If the file is a LOADLIB or TXTLIB file, or a MODULE file not created with the NOMAP option, compare the BASE address to the CSECT address. If there is a match, continue by reading another control record. DMSZAP195W BASE VALUE INVALID - SET NO GO SWITCH DMSZAP190W INVALID CONTROL RECORD OR NO GO SWITCH SET B. Retrieve the BASE address, check it for accuracy, and convert it to hexadecimal. DMSZAP192W ERROR - ODD NUMBER OF DIGITS SET NO GO SWITCH DMSZAP CKBASE DECODEl PACKVAL INVEREP2 Diagram 10-4. NAME and BASE Control Record processing 200 IBM VM/370 Service Routines Program Logic Ref I Input ESDLEN :> LJr==:' g CDBUF g Process the VER (or VERIFY) or REP control record. I CDBUF ESDADD i,a_in A. Check for validity of the record. B. Retrieve the displacement and data and check validity. C. Read the file and perform the requested operation. (See Diagram 10-8 for details.) I 2 Process the END control record. A. Issue ending message. B. Close input file. C. Return to eMS. Notes Module Label DMSZAP GOODTHRE Ref 1 A. If a NAME control record has not been enetered or was invalid, issue the message I Convert the data to hexadecimal and add the BASE value to the displacement. Check that the displacement plus the data length will fit within the CSECT. If not, issue the message INVEREP I I DMSZAP EQLNTH PACKDAT I I'NVEREP21 I I C. Go to the RDTXT routine to perform the operation, then return control to READINP. DMSZAP A. Issue the message DMSZAP GOVER RDTXT 2 DMSZAP7501 ZAP PROCESSING COMPLETE and return control to READINP to read another control record. DMSZAP192W ERROR - ODD NUMBER OF DIGITS - SET NO GO SWITCH DMSZAP191W PATCH OVERLAPS - SET NO GO SWITCH INVEREP2 DMSZAP193W PRECEDING CONTROL RECORD FLUSHED Retrieve the data field, remove commas from the field, and check that the data are an even number of bytes. If not, issue the message Ref and return control to READINP. If this is a REP control record and the NO GO swtich is on, issue the message B. Check the displacement for validity and convert into hexadecimal digits. Label and return control to READINP to read another control record. DMSZAP190W INVALID CONTROL RECORD OR NO GO SWITCH SET and return control to READ!NP to read another control record. Ignore all VER or REP control records until the next NAME control record is encountered. Module Notes DMSZAP DMSZAP GOOK SCANKEY1 DECODE1 PACKVAL SCANKEY1 B. Close the INPUT file, if it is open, and free buffer space. COMEND INVEREP4 DMSZAP CLOSEINP CLRSPCE C. Return to CMS. DMSZAP NOMORE CKCOMMA2 CKC0MMA3 INVEREP2 Diagra. 10-5. VER/VERIFY or REP and END Control Record processing Chapter 10. The ZIP Service proqraa 201 Input Processing Output 1 Close the library or module, if open. MEMNAME 2 :> Locate the library or module and check the attributes. L1BNAMEl 3 Find the member (if library). libnamel 4 Find the CSECT (if module). <:1 libname2 G Iibname3 Notes Module 1 Close input module and library files, if DMSZAP Label PREOPLIB open. CLOSELIB 2 If MODU LE was specified, locate the module name and search for the mod· ule. If the module is found, check the attributes and if they are valid, go to Step 4. Otherwise, issue one of these error messages: DMSZAP STFDEF L1BRO DMSZAP208E FILE 'fn ft' IS NOT VARIABLE RECORD FORMAT L1BNTV DMSZAPOO2W FILE 'fn ft' NOT FOUND and read another control record. Ig· nore all control records until the next NAME, DUMP, or END control record. If LOADLIB or TXTLIB was specified, locate the first library name and search for the member. If the member is found, check the attributes and if they are invalid, issue one of these messages: PREOPLB3 PREOPLB5 INVEREP2 STFDEF L1BRO DMSZAP208E FI LE 'fn ft' IS NOT VARIABLE RECORD FORMAT L1BNTV DMSZAPOO7E FILE 'fn ft' IS NOT FIXED, 80 CHAR. RECORDS FILENTF MEMFND DMSZAP751I MEMBER FOUND IN L1BRARY'fn' If the library cannot be found, issue the message PREOPLB3 DMSZAPOO2W FI LE 'fn ft' NOT FOUND INVEREP2 and locate the next library name and execute Step 2 again. If none of the libraries specified can be found, issue the message and terminate processing. 3 When a library is found, read the first L1BNTFDl IB~ Label NOMORE DMSZAP OPENFILE PREOPLB4 DMSZAP056E FILE 'fn ft' CONTAINS INVALID RECORD FORMATS INVFORM Otherwise, locate the directory record and search for the member name. If the file is a CMS-only (not OS) TXTLIB file and the member name cannot be found, search for the CSECT name. If a member name or CSECT name is found, go to the READCESD routine to find a CSECT record. READLIB length of the module and its starting and ending addresses. Determine if a map is present and, if not, that no CSECT name was specified, then exit. If a CSECT name was specified, issue the message iCHKMEM iCHKCSECT DMSZAP CHKLDTBL NOTABLE INVEREP2 CHKLOCST DMSZAP246W NO LOADER TABLE PRESENT FOR MODULE 'fn' SET NOGO SWITCH then exit. If a module map is present, locate the map record and read it. If the map record cannot be found, issue the message DMSZAP056E FI LE 'fn ft' CON· TAINS INVALID RECORD FORMATS INVFORM Otherwise, locate the CSECT specified or the first CSECT in the map, and determine its length, and return control to caller. If the CSECT specified cannot be found, issue the message LDRLOOP DMSZAP194W CSECT NOT FOUND IN 'fn ft' - SET NO GO SWITCH and read another control record. Diagram 10-6. opening the File 202 Module DMSZAPOO2E FI LE 'fn ft' NOT FOUND 4 If the file is a MODULE, compute the DMSZAP210E FILE 'fn ft' IS ON A READ/ONL Y DISK Otherwise, go to Step 3 after issuing the message Notes record. If the header record or the pointer to the directory is invalid, issue the message DMSZAP210E FILE 'fn ft' IS ON A READ/ONL Y DISK If the module cannot be found, issue the message Ref VM/370 Service Routines Program Logic FNDCLNTH INVEREP2 - Ref Processing Output A. Read a record. B. Check for ESD type. 2 u= nb ! Find ESD record. Match CSECT name (if specified) against ESD record, or use CSECT name in ESD record. >1 ESD record ESDADD ESDLEN Notes Module Label 1 Read a LOADLIB or TXTLIB member DMSZAP READCESD ~XTESD record. Check to see if it is an ESDtype record. If not, re-execute Step 1. 2 If there is a match, save the starti ng address and length. If there is no match, issue the message Module Ref Label pEARCHSD NAl\~E or DU~.~P control record, com- I Notes ~DLlB If a CSECT name was specified in the pare it with the CSECT name(sl in the ESD record(s). Ref I ~SEcrFNJ I I NOCESD2 DMSZAP194W CSECT NOT FOUND IN 'fn ft' - SET NO GO SWITCH If no CSECT name was specified in the NAME or DUMP control record, use the first CSECT named in an ESD record. If ALL was specified in a DUMP control record, use the next CSECT name encountered in an ESD record. Control then returns to caller. ~EMEND Diagram 10-1. Finding the CSECT Chapter 10. The ZAP Service Program 203 Processing Input 8 -:------.,> Output I Read the file. 2 If the file is a LOAD LIB or PACKDISP '----~I Text Record I tiE > 1 DI> Text Record TXTLlB, check for the desired TEXT record. 3 Locate the desired position within the record. 4 If DUMP was specified, go to the PRINT routine. (See Diagram 10-9 for details.) 5 Perform the VER or REP operation .~=====~> If the operation is REP, rewrite the record. Notes Moduie 1 Read the next record of the file. If DMSZAP RDTXT DMSZAP RDTXTLIB Label Ref 8 Module Notes Ref Label the record. WRLlB If the operation is VER, compare each byte read with the data in the VER control record. If they do not agree, issue the message VERLOOP the file is a module, go to step 3. 2 If the file is a TXTLlB, check for the desired record. If not, repeat step 1. Otherwise, check for valid characters. If there are no valid characters (that is, if the area is a Define Storage area), and the operation is VER or REP, issue the message RDTXTFN[ DMSZAP200W VERIFY REJECT - SET NO GO SWITCH I! I DMSZAP248W INVALID VER/REP DISP - SET NO GO SWITCH If there are no valid characters, but the operation is DUMP, determine the length of the gap and handle it as a TEXT record. If the file is a LOAD LIB, check for the desired record. When it is found, check for valid characters as with a TXTLIB and, if valid, read the next record for the actual text. 3 Determine the position within the DMSZAP RDLDLIB ~DLDCHK DMSZAP ~HKVER DMSZAP ~ERCHK I DMSZAP ~ERLOOP I I i I I I I j ~ERIFY1 ~ERIFY2 Diagram 10-8. Reading the Text 204 , ! PRTDUMP If the operation is REP, replace each byte read with the data supplied in the REP control record. When the end of the record is reached or the REP operation is completed, rewrite II I to the PR INT routine to print out lines. 5 RDTXEND If another record is required, go to step 1. Otherwise, control returns to caller. record. 4 If the operation desired is DUMP, go VERIFY1 IBM VM/370 Service Routines prograa Logic I! Output ,------. ~==~> TEXT record If the start of the record does not follow the end of the previous record, put out blanks for the missing characters. CSECTNAM L----I _---'I I TEXT record i ~ACKADD~ I II I ~ACKADDE II I I HOLDLINE I I If 'ALL' was specified and this is the first line, put out the CSECT name. 3 Set up the print line. :> ~ I 2 I II; II > » () 1_ ~~ ~---... I I ~ I 1 ~ Initialize. 2 Define files. DMSIFC826E parameters. 4 -> Control Parameters Construct parameter list and control card file. 1--'---1 5 Handle special requests. '11r==>1 I REG 1 B I ~ 3 Determine source of control card ur 6 Uok to DSNS EREP (lFeEREP1 -2-J Data from error recording 7 Trap EXCPs to SYS1.LOGREC issued by OS/VS EREP. Simulate EXCP operation calling on DMSREA to supply data from VM/370 error recording cylinders. ~ hr I JribI OSPARM list for OS/VS EREP DMSIFC023E DMSIFC070E DMSIFC002E DMSIFC007E DMSIFC831E DMSIFC104S I n n I DMSIFC825E DMSiFC82S; DMSIFC829W ~ DMSIFC832S ---II 1_ _ CY_linders i Notes Module 1 The initialization procedures include: DMSIFC Label DMSIFC • Standard linkage and addressability functions. Loading and resolving VCONs in OS/VS EREP decks. Loading DMSREA. • Turning off flag in CMS nucleus to cause OS simulation. Setting COMPSWT in CMS nucleus to load LINK and LOAD macros to be entered in TEXT files. • Establishing handling of SVC 76, SVC 18, and SVC O. Ref Diagram 11-1 • • • ., 1< • • • • (SERLOG). Error file (TOURIST). Work file (DIRECTWK). Accumulation tape fi Ie (ACCD EV). History input tape (ACCIN). 3 Determine where control parameters are to be taken from (Control file or terminal). 5 If CLEAR is specified with other parameters, type an error message. If CLEAR is specified properly, call subroutine to erase error records from the VM/370 error recording cylinders. Subroutines handle each parameter information: • •• INDRWD'S. I RDYACC RDYHIST OPER12 Module Label Ref HCLEARF HCLEAR HTERM HSHARE l~mCRD HHIST HMERGE HMES HRDESUM HZERO 6 Load the address of the word that points to the OS PARM list built for OS/VS EREP and LINK to IFCEREP1. HAVETYPE NOEXTRA BADATTR GOODATTR 4 Set up to read parameters. Obtain storage for OS PARM list to be passed to EREP. Read control parameters, generating the OS PARM list and a SYSIN file as output. Call subroutine to read control parameters. Handle errors. CLEARF parameter (determines validity by examining processor identity. If not 3031,3032, or 3033 processor reject command but if valid, erase error records from the error recording cylinders then initialize SRF frames to the beginning of the error recording cylinders.) CLEAR parameter. TERMINAL parameter (stops reading from control file on disk and goes to terminal to read additional control parameters) . • SHARE parameter. • CTLCRD parameter. ACC parameter. • HIST parameter. MERGE parameter. MES and THRESHOLD parameters. • RDESUM parameter. • ZERO parameter. •• liivoke FILEDEF to define: Printer file (EREPPT). •• SYSIN file (SYSIN). • Dummy file for SYS1.LOGREC Notes 7 EXCP SVCs from EREP are interDiagram 11-1 PARMWORI< RDERR1 PLiSTBLD cepted and simulated so they appear to access a SYS1. LOG R EC data set. Simulation causes calls to DMSREA for VM/370 error records. BLDL SVCs from EREP are also trapped and simulated by DMSIFC. ::lMSIFCO DMSIFC18 WANTCLR CLEARRTN Diagraa 11-1. DftSIFC Chapter 11a DftSIFC and DftSB!I--ERlP/Error Recording Interface 213 Processing Input IREG 1 ~CCBOR Output Initialize and find error recording area on disk. 2 Obtain block containing the requested record, read a page and handle errors. 3 If the requested record could not be read (I/O error) or if there is no such record, continue reading consecutive blocks until the next record is found. Calculate its CCBOR address; this becomes the corrected CCBOR. , )~ T6 Ib DMSREA830E REG 15 r&r;I ~ 4 Clean up and return to caller. Notes Module 1 The initialization procedures include: DMSREA Label DMSREA Saving registers. return code to zero. ••• Setting Issuing DIAGNOSE X'2C' to locate beginning of error recording area and number of cylinders. Setting and checking "first time" • switch_ • Checking CCBOR address passed for validity. Note: A CCSOR disk address is a disk addressing format devised solely for use in CPEREP and resembles the commonly used CCHHR disk address. In a CCBOR addre~s the fields have the following meanmg: Field Meaning CC Relative cylinder within the VM/370 error recording area, for example: CC = X'OOOO' for the first cylinder of the error recording area. = X '0001 , for the second cylinder of the error recording area. The number of the desired 4K block within the cylinder. The first 4K block in a cylinder is X'01'. Zero. The number of the desired record within the 4K block. The first record in a block is X'01'. B 0 R FIRSTSW OPER4 Ref Diagram 11-2 NotlS 2 DMSREA converts the CCBOR address to a VM/370 Control Program Internal Format address and issues a DIAGNOSE X'30' to read the block into the buffer. If the requested block is found, return to caller. If specified cylinder is outside error recording area, sets error code in register 15 for invalid cylinder. If end of cylinder and no more cylinders are available, sets register 0 to zero, indicating end-of-file to caller; otherwise, advance to next cylinder. If an I/O error occurs so that the block could not be read, issue message DMSREA830E_ Label OPER5 OPER7 OPER16 OPER17 OPER7 OPER9 3 If requested record was not found, read next block and return first record from this block_ If block is empty or unreadable, continue reading blocks until a record is found or until end-of-file is reached_ Use CCBOR address of the record found as the corrected CCBOR value to be returned to the caller. Make register 1 point to this CCBOR address. Note: The CCBOR record addresses are passed back to OSIVS EREP (as a result of the EXCP simulation) as if they were CCHHR addresses. EREP never notices the difference and, as a result, EREP uses CCBOR addresses in all its I/O operations to the SYS1.LOGREC data set. OPER10 OPER15 4 Restore registers (except output parameter registers) and return to caller. Diagram 11-2. DMSREA 214 Module IBM VM/370 Service Routines Prograa Logic Ref Program Organization This secticn includes program descriptions of modules DMSIFC and DMSREA. 88 100 DMSIFC Allows virtual users to edit and print VM/370 error recordings under eMS via the OS/VS EREP Edit and Print Program (IFCEREP1) .. Routines Called --IFCEREp'--via LINK to edit and print VM/370 error recording cylinders. DMSREA via BlLR to read a specified record from the VM/310 error recording cylinders. DMSLlD via BlLR to determine which read/write disk has the most space. DMKIOG via DIAGNOSE to clear requested recording cylinders. STATE/STATEi via SiC to perform CMS functicns. ERASE via SiC to perform eMS functions. INCLUDE via SVC to perform CMS functions. Attributes - Nonreusable, CMS User Area, and called by CMS. ~~gis!~!§ ~! ~~trI R1: R13: R14: CMS parameter list address Save area address Return address !ttem~t to set to zerc was sUFpressed. Requires privilege class F. Error reading file frem disk. Register Us~§ Parameter registers R2-R 9: Scratch R1O-R11: Spares, not used R12: Base register R14-R15: Link registers RO-Rl: External References --CoRRslvi----Contains address of the current system save area when control is received to handle an SVC as requested by the HUDsve macro. OSSFLAGS OS simulation flags in the NUCON area. rOSFLAGS DOS simulation flags in the HUCON area. JJDTLKi Contains address of routine that aetermines which read/write disk has the mcst space. (In the HUCON.) TITLIES Indicates whether or net any TITLIBs have been globaled. (In the HUCCD.) TXTDIRC Indicates whether or net any TITLIBs havE been globaled. (In the HUCCH; Ioints to the first directory in the chain of global TITLIE directories. ) The functions performed by CMSIFC can be summarized as follows: ~§g!§!~!§ at Exit RO-R14: -Restored R15: One of the following return codes Return Cede -'224 28 32 56 60 62 Performs standard linkage addressatility functions. 2. Invokes CMS LOAD function te load and resolVE VCONs in about a dozen FREP object decks. !1~!!niDSI CLEAR specified with other parameters. An invalid parameter or no filetype was specified. The file Was not found. The file was not a fixed-length format. GLOBAL command was not issued for CPEREP's TITLlBs .. An I/O error caused one or more of the 4K blocks of error records to be skipped. More than the maximum number of characters in options specified. Chapter 11~ and 1. !ote: All other EBEP object decks are brought into storage later, as needed, by OS LOAD and LINK macres issued by CS/VS EREf. 3. Invokes STRINIT function. Indicates that area above presently loaded programs is the beginning ef free storage. 4. Turns off the DCSSVC flag in the CMS nucleus so that OS simulation can be used. SEts CCMPSWT in CMS nucleus so that OS LCAD and LINK macros bring in TEXT files rather than module files. Invokes OS LCAt DMSIFC and DMSRI1--EREP/Error Recording Interface 215 to lead DMSREA into storage and saves its address so it can be called later during the EICP simulation. 5. Establishes handling of SVC 76 (error log), SiC 18 (BLDL), and SVC o (EICP). 6. Invokes FILEDEF function to define: • Printer file for EREP • SYSIN file to be created for EREP • Dummy file for EREP to open and close as SYS1.LOGREC • "TOURIST" error file to the terminal • DIRECTiK work file on disk 7. Gets the co.mand line arguments and determines if a control file is provided for inFut. If so, sets up to read parameters from the control file, otherwise, sets up to read parameters from the terminal. 8. Issues a DMSFREE macro to get storage for building OS parameter list to be passed to EREP. 9. Gets inFut parameters (from control file or terminal) and constructs equivalent as/vs EREP parameter list and SYSIN control card file. 10. If CLEAR was specified, and it vas not the only parameter specified, types an error message to the terminal and does housekeeping and exits to CftS. 11. 12. in calls to DMSDEA to get records from VM/370 error recording cylinders. An EXCF that attemFts to rewrite the SYS1.LOGREC header is a result of the ZERO functien and is simulated by calling a subroutine to issue the DIAGNCS! that clears the error records from the error recording cylinders. If CLEAR was specified correctly, calls a subroutine to issue the DIAGNOSE that clears the approFriate records from the VM/370 error cylinders, then does housekeeping and exits to CMS. If CLEARF was specified, read CPU and director frames from SRF device and write on error cylinder. Invokes FILEDEF to define the accumulation tape file if requested. Issues the tape control macros necessary to position tape for subsequent write operations. 16. Eventually OS/VS EREE is done and control returns from that LINK done atove. 17. Housekeeps all indicators and switches, frees any storage ottained for the OS Farameter list area, clears handling of SVC 0, SVC 18, and SiC 76; and clears any FILEDEFs that were set up by CPEREP. 18. Exits to CMS. Dft SREA Reads a specified logical record from the VM/370 error recording cylinders and returns it to the caller. Routines Called --DIAGiOS~I'2C' to find the beginning of the recording area on the system disk, and the number of error recording cylinders. DIAGNOSE 1'30' to read a Fage size recerd from the error recording cylinders. tMSERR via macro SVC to write error messages to the console. Attributes --Nonreusable, CALL. !!gist!£§ R1: R13: R14: 13. Invokes FILEDEF to define history input taFe if requested and makes sure that it is rewound. 14. Links to as/iS EREP (IFCEREP1). 15. Simulates BLDL SVCs issued from OS/VS EREP. Simulates EIEC SVCs issued from as/iS EREP so they will appear to access a SYS1.LOGREC data set. EICP simulation viII result 216 IBM VM/370 Service Routines Prograw Logic R1: R13: User Area, enter via ~~ Ent!I Address of CCBOR DASD record address Save area address Return address Regist~£ ~~ R0: CMS ,£;xit Nonzero: address of record being var iable-lengt b returned. The first 4 bytes are the recerd descriptor word ccntaining the record length. Zero: end-of-file; no record was at or beyond the entered address. Address of CCEOR DASI record address (soaetimes corrected). Save area address. One of codes: R15: the following return 1. Return £.9.Q~ 1!~~~ing 00 04 08 Nothing unusual. Empty 4K block skipped. Invalid CC value in CCBOR address that was entered. I/O error accompanied by message DMSIFC830E. 60 1!§gis!~ The functions performed by summarized as follows: 2. 3. Usage RO-R 9: Rl0-Rll: R12: R13: R14-R15: Scratch Spares, not used Base Save area address Scratch 4. D!SBEI can he Issues the DIIGHCSE command to find the beginning of the V!/370 error recording cylinders and the number of cylinders. Reads a requested record from the V!/370 error recording cylinders. Returns the next logical record to the caller when the requested record does not exist or cannot he read and revises the caller's specified CCBOR address accordingly. Handles errors. ~xter~Al ~!~!~A£~ None. Chapter 11. DMSIFC and D~ SR !A-- FR FP /Error Recor din 9 Interface 217 Directory Figure 11-2 is an alphabetical list of the major labels cf .odules D!SIFC and D!SBEI. The associated method of operation diagra.s are indicated and a brief description of the operation perfor.ed at the point in the progra. associated with each label is included. i Ilabel I Diagra. 1 Description I I EADATTR 11-1 Handles file not fixed. ClEARRTN 11-1 logically erases V!/370 error recording cylinders. DMSIFCO 11-1 Handles trapped EXCPs issued by EBEP. DMSIFC18 11-1 Handles trapped OPER7 11-2 Issues I/O error reading records .essage. OPER9XX 11-1 Handles specification parameters. NOEXTRA 11-1 Handles file not found. EXITO 11-1 Restores registers for exit from DBSIFC. EXIT1 11-1 Clears handling of SVCs. EXIT3 11-1 Frees storage allocated for OS para.eter list. EXIT9 11-1 Frees storage allocated for SVC si.ulation. FIRSTSW 11-2 Sets indication of first time tBSBEI is called. BACC 11-1 Directs addition of ICC built for EREP. BAVETYPE 11-1 Handles the specification of an co.mand line. BClEAR 11-1 Clears all error records from the error recording cylinders. BClEARF 11-1 Clears SRF frame records and all error records and refor.ats the error recording cylinders. BCTlCRD 11-1 Writes CTlCRD inforllation inta SYSIN file for EBEP to read. BBIST 11-1 Directs addition built for EREP. BMERGE 11-1 Directs addition of BERGE paralleter to OS parameter list being built for EREP. BMES 11-1 Directs addition of BES and THRESHOLD parameters to OS parameter list being built for EREP. BRDESUM 11-1 Directs addition of BDESUB para.eter to OS parameter list being built for EBEP. Figure 11-2. 218 os BLDL macros issued by EBEP. of CLEAR when with other para.eter to OS para.eter list being extra parameter on the CPEBEP of HISi' paralleter DMSIFC and DMSREA label Directory (Part 1 of 2) IBM VM/310 Service Routines Program Logic entered to OS parameter list being i ILabel I Diagram Description HSHARE 11-1 Writes SHARE parameter into SYSIN file for EREP to read. BZERO 11-1 Directs addition of ZERO parameter to OS parameter list being built for EREP. OPER4 11-2 Checks CC portion of entered CCBOR for valid range. OPER7 11-2 Prepares for and issues DIAGNOSE command to read a page of error records. OPER9 11-2 Prepares to read first record of next block. OPER10 11-2 Retains address of block just read into buffer. Decides whether this block contains data or is empty. OPER12 11-1 Handles special considerations for ACC parameter OPER13 11-1 Handles special considerations for HIST parameter specification. OPER15 11-2 Restores registers and returns to caller from D!SREA. OPER16 11-2 Sets error code for invlaid cylinder. OPER17 11-2 Handles end of cylinder indication. PARMiORK 11-1 Issues DMSFREE macro to get storage for building OS parameter list. PLISTBLD 11-1 Adds passed para.eters to OS parameter list being built for EREP. RECLOOP 11-1 Increments counters to step through buffer until e.Fty or end of sp~cified record found. RDCTLINE 11-1 Reads and returns one line of control parameters fro. the terminal or control file. RDERR1 11-1 Handles errors reading control file from disk. iAlfTCLR 11-1 Handles calling subroutine to perform CLEIR. Figure 11-2. s~ecificaticn. DMSIFC and D!SREA Label Directory (Part 2 of 2) Chapter 11. D!SIFC and DMSB!I--!BEP/Error Recording Interface 219 Data Areas D!!SREA No system data areas are used by DMSREA. However, DMSREA uses 4K of unallocated storage at absolute location 1'21000' as a page buffer in which to read the 4K blocks of error records. DMSIFC not store into them. It uses SSAVE and NUCON also. SSAiE is the CMS system save area that saves-the value of the SiC old PSI, the caller's registers, and other necessary control infor~ation required tc process SVCs and return to the caller. NUCON contains all the nucleus constants for CMS. These are either listed at the end of the module or a description can be found in the !!L37~ Dat! ~§ !nd £ont!£! g!Q£! 1~l£ manual. DMSIFC uses ADTECT (the ADT macro) and FSTSECT (FSTB macro) to read from but does 220 IBM V8/370 Service Routines Program Logic Diagnostic Aids Figure 11-3 lists the messages issijed by The label of the DMSIFC and DMSREA. the associated method of Ilessage and operation diagram in which it is documented are included in the list. I , I Message Label Diagram Message Test I I Code I ~I----------+--------+--------r-----------------------------------------------~ f DMSIFC002E NOEXTRA 11-1 FILE Ifn ft [fm] I NeT FCUND DMSIFC007E BADATTR 11-1 FILE Ifn ft f. 1 IS NeT FIXED. DMSIFC023E NORWDISK 11-1 NO FILETYPE SPECIFIEr DMSIFC070E HAVETYPE 11-1 INVALID PARAMETER 'parameter' DMSIFC1 CQ5 RDERR1 11-1 ERROR Inn' REIDING FILE 'fn ft fm' FRC! DISK DMSIFC825E OPER9XX 11-1 'CLEAR' IS VALID ONLY WHEN SPECIFIED BY ITSELF DMSIFC826E DMSIFC 11-1 EREP TITLIBS NOT FOUND DMSIFC8281 CLROKlY 11-1 CPEREP ZERO OR CLEAR HAS BEEN COMPLETED DMSIFC829W CLEARRTN 11-1 ATTEMPTED 'ZERO' WAS SUPPRESSED. CLASS F DMSIFC831E PLISTBLD 11-1 MORE THAN 100 CHARS. OF OPTIONS SPECIFIED DMSIFC832S EXGENERR 11-1 SOFTWARE INCOMPATIBILITY AT THE CPEREP-EEEP INTERFACE. COtE=nnn DMSREA830E OPER1 11-2 I/O ERROR REArING A BLOCK OF RECORDS FRO! THE ERROR RECORDING CYLINDERS Figure 11-3. 80 CHAR. RECORDS RECUIRES PRIVILEGE DMSIFC and DMSREA Messages Chapter 11. DMSIFC and DMSR!A--EREP/Error Recording Interface 221 222 IBM VM/370 Service Routines Progra. Logic Chapter 12. DMKMSS-The MSS Communicator Introduction The DMKMSS program operates under the control of either OS/VS1 or OS/VS2 eMVS) in a virtual machine. It is a communications interface between the VM/370 control program and the MSS Mass Storage Control. It U~~~ a co.nination of CP-generated Requests are received from VK/370 in response to a DIAGNCSE code X'78' instruction issued by DKKKSS. They are passed to the MSC using the standard as/vs SVC 126. Responses are received frem the MSC and returned to VM/370 using DIAGNOSE. attention interrupts on a virtual I/O device, the DIAGNOSE code X'78' instruction, and OS/VS SVC 126 to provide coaaunications. Chapter 12. D!KKSS--The MSS Communicator 223 Method of Operation This section describes the sections of the D!K!SS prograa. Diagra. 12-1 shows OSjVS control blocks. two major initialization using Diagraa 12-2 V!/310 request. Figure 12-1 shows these diagraas. DMKMSS I r I Diagram 12-1 Diagram 12-2 DMKMSS Initialization DMKMSS Processing Figure 12-1. Key to the D!KMSS Method of Operation Diagrams 224 shows the processing IBM VM/310 Service Routines Program Logic the relationship of a of Processing Input Output Obtain supervisor state, key O. I 2 Open the communication DCB. --'------'J'\ v DCB DMKMSS ENDING ERROR - MSS NOT INITIALIZED DMKMSS ENDING ERROR - DCB FOR COMM. DEVICE NOT OPENED 3 Ensure running in a virtual machine. --'------'-1\ v DMKMSS ENDING ERRORDMKMSS MUST RUN IN A VIRTUAL MACH. CVT I II I 4 Find the communication device address. 1 ~ii 5 6 Issue DIAGNOSE code X'7B' UCB I I ECB Set up pointers for the attention interruption. subfunction O. I 7 Wait for the attention interruption. Notes Module 1 Use the VS MODESET SVC to get DMKMSS Ref Label Notes 6 into supervisor state, key O. SVC to connect the DCB to the VS control block. If MSS initializes incorrectly, issue message. If the DCB for the 1 ~ommunication device does not open, Issue message. Build and issue the DIAGNOSE code X'7B' instruction to tell VM/370 the channel/unit address. Module Ref Label PROLOG 2 USe the VS OPEN 1 3 Use the STI DP instruction to ensure I 4 Follow pointers through the DCB, DEB, and UCB control blocks to find the channel/unit address assigned by the VS scheduler. 5 Set the MSC's attention table index in the communication device's UCB. Also store the address of the ECB to be waited on in an unused field of this same communication I ~UCB_. __ RFOO1B2 I 1 RFOOOB2 RFOO190 running in a virtual machine. If not running in a virtual machine, issue message. I 1 II II Issue VS WAIT SVC, specifying that the event control block will be posted when the attention interruption is received. RFooo92 1 L1 I I I I I I I I ~~~I~I ____~~ Diagra. 12-1. DftKftSS Initialization Cnapter 12. D!KftSS--The !SS Co •• unicator 225 Input Processing Output 1 When the attention interruption ~ is received, issue DIAGNOSE code X'7B' subfunction X'04'. B "- 2 V If VM/370 has a request, build SVC 126 parameter list, issue SVC 126; otherwise, go back into wait state. J\. v ~ INVALID REQUEST CODE IN VM REQUEST 3 Upon return from SVC 126, issue DIAGNOSE code X'7B', subfunction code X'OB' (only if MSC accepted). Return to Step 1. Notes Module Label 1 This loop will run in the VS DMKMSS MAINLOOP Ref Notes machine as long as MSS support is in effect. The DIAGNOSE X'7B' instruction points to a buffer in DMKMSS into which VM/370 places an MSSCOM, or zeros. 2 Look at MSSCOM to determine volume serial, 3330V device address, and type of request (mount or demount). If the request is inval id, issue a message. If there are no out· standing requests, go into a wait state. L2 RFOO149 RFOO122 3 The SVC 126 routines issue orders to the MSC. If the MSC rejects the order, it sends a unit check as ending status. SVC then sets a non·zero return code in register 15. DIAG MSSCHECK niaaram 12-2. DMKMSS Processing 226 IBM VM/370 Service Routines Program Logic Module Label Ref Program Organization This section describes the organization of the DMKMSS module. program !!!.~il Point tMKMSS !~gist~ DMKMSS The MSS communicator program. Usage BO-R9: Work registers R10: Workarea base R11: Program base B12: Work register B13: legister savearea base R14-R15: Work registers Chapter 12. D!K~SS--The MSS Communicator 227 Directory Figure 12-2 is an alphabetical list of the major labels in the DMK8SS program. The figure indicates the associated method of operation diagrams and it provides a brief description of the operaticn performed at the point in the program associated with each label. I I ILabel Diagram Description I rJ----------~------~~------------------------------------------------------------~ DIAG 12-2 Issues DIAGNOSE code X '78' subfunction X'08' or X'OC'. L1 12-1 Follows pointers through the tCB, DEB, and UCE to find the communicator device address. L2 12-2 Determines the type of 855 request (mount or de.cunt). 8AINLOOP 12-2 Issues DIAGNOSE code X'78' subfunction X'04', requesting wcrk. 8SSCHECK 12-2 Sets the 8SC completion code for V8/370. PROLOG 12-1 Initializes for DIAGNOSE code X'78' subfuncticn X'OO'. RF00082 12-1 Issues STIDP instruction to ensure running in a virtual machine. RF00092 12-1 Issues message that ftSS is not initialized. RF00122 12-2 Waits for the communicator device attention interruption. RF00149 12-2 Issues message for invalid request code in V8 request. RF00182 12-1 Issues message that DeE is not opened. RF00190 12-1 Issues message that this must run in a virtual machine. Figure 12-2. 228 D8K8SS Label Directory IBM V8/370 Service Routines Program Logic Data Areas The OS/VS control blocks used (CVT, DCB, DEB, and UCB are described in Q~l Syst~ ~~ta !~, Order NO.. 5Y28-0605, and in Q,§/VS2 ~I§!£'! ~£Rygging LibrarI: ~ebugging ~~ndb~~~, Order No. GC28-0632. The !SS co •• unicator centrol block CftSSCOft) is described in IB! Virtual !achine Facility/370 Datg Irea§ ~~ £~nt!g! Block Logic, Order No. 5Y20-0884. Chapter 12. D!K!SS--The !SS Communicatcr 229 Diagnostic Aids Figure 12-3 lists the .essages issued by the DftKftSS progra.. The nearest label and the associated .ethod are identified. of operation diagra. r.-----------,---------r-------------------------------------------------------------, Diagra. Message Text I I Label I I I I RF00092 I I RF00149 I IRF00182 12-1 DMK8SS EIDING ERROR - MSS NOT INITIALIZED 12-2 INVALID REQUEST CODE IN V8 REQUEST 12-1 DMK8SS ENDING ERROR - teE FOR COM8. DEVICE NOT OPENED 12-1 DftK8SS ENDING ERROR - t!K!SS MUST RUN IN A VIRTUAL !ACB. I IRF00190 Figure 12-3. 230 DMK!SS 8essages IBM VM/370 Service Routines Prograa Logic I I I I , I I I Chapter 13. DMKIMG andDMKNMT-IEBIMAGE Interface Introduction The GENIMAGE and IMAGELIB utility programs enable the installation to dynamically change the character arrangement tables, graphic aodifications, copy aodifications, and PCBs for the 3800 Print Subsystem. The invoked first program (module by the GENIMIGE CMS DMKI!G) command, creates TIlT files on a CMS disk. These TIlT files are the images that will be used by the 38CO. The IMAGELIE program (module DMKMIT) invoked by the IMAGELIE command, loads the necessary TEXT decks into the na~ed system allocated at syste~ generation time. Chapter 13. DftKlftG and D!KJ!T -- IEBI!AGE Interface 231 Method of Operation This sectior. describes the VM/370 interface between eMS and the IEBIMAGE program. Diagrams 13-1 and 13-2 describe the functions of the interface .odules and serve as a guide to the program listings. The labels shewn indicate the closest label to the function being docuaented. Use the Directory and Program Organization sections to find the labels in the prcgram listings for any routines that are not shown in the Method of Operation section. Figure 13-1 shows the relationship of these diagrams. IEBIMAGE Diagram 13-1 Diagram 13-2 DMKIMG DMKNMT Figure 13-1. Key to the IEBIMAGE Interface Method of Operation Diagrams 232 IBM VM/370 Service Routines Program Logic Output Input 1 Validate input parameters. command line ~ 2 I DUMMY image library 'GENIMAGE CMSUT2A1' Create a DUMMY image library. 3 Issue FILEDEFs for the DUMMY image library, the input control file, and the output SYSPR INT file. 4 5 Control File I Obtain storage for load area. II Issue HNDSVC macro. 1 GENIMAGE command parameters are validated. If a parameter is inval id, issue return code 100. 2 Create a DUMMY image library. 3 I Issue a FILEDEF command with the AUXPROC option for the DUMMY image library created in Step 2; this traps all READ and WRITE operations on that data set. If any FILEDEF errors occur, issue a return code of 104. listing Module Label DMKIMG LOOP1 LOOP2 PARMERR • ENDPARMS • I FILEBAD byte area for simulating OS LOAD macros. 6 Issue HNDSVC macro to handle the following SVCs: • SVC 8 (LOAD) • SVC 18 (BLDL) • SVC 21 (STOW) Call IEBIMAGE: • Issue a CMS STATE command for the TEXT file being searched for and set appropriate return codes in SVC save area. Ref I 4 Issue a GETMAIN for a 73,000 5 II 6 Call IEBIMAGE. 7 Clean up. Notes I TEXT File IBLDLRTN Notes I • • Issue CMS LOAD for requested module and return the address of the area loaded into, to the issuer of the LOAD command. Use CMS LOAD command to get module into LOAD area and move data into user-supplied buffer for the READ. Treat as no-op and return to issuer. Simulate operation of STOW macro by locating the module data in the IEBIBLKS work area and create a TEXT deck from it: 1) Create ESD (external symbol directory) card and write to TEXT file (GENIMAGE CMSUT1) 2) Create all necessary TXT cards and write to TEXT file (GENIMAGE CMSUT1) 3) Create an END card and write to TEXT file (GENIMAGE CMSUT1 ) Module Label Ref LOADRTN READRTN I WRITERTN READEXIT STOWRTN I I TXTLOOP 7 Erase old TEXT file (if one existed) and rename GENIMAGE CMSUT1 to a TEXT file named IEBIMAGE. 1 Diagraa 13-1. D!KI!G Chapter 13. DftKlftG and D!KNftT -- IEBI!AGE Interface 233 Input Processing Output 1 Verify existence of control file. command line ~ "v 2 Load all TEXT files requested in control file into virtual storage and construct directory entries. ~ DMKNMT248E DMKNMT249E DMKNMT256E Control file 3 Cause loaded file to be stored as the named system. Named System (updated or changed) ~ v ~ DMKNMT2471 DMKNMT254E Notes 1 Verify the existence of the control file. If it doesn't exist, give a return code of 4. Module Label DMKNMT IMAGELIB ERROO4 2 Create a DUMMY directory that Ref Notes Load the TEXT file into the CMS transient area. If a LOAD error occurs, issue message DMKNMT256E. the named system to be saved. If successful, issue message DMKNMT2471; if not successful, issue message DMKNMT254E. RDLOOP AFTERRD NOTEXT LDERR Move the file from the transient area to the core image area if sufficient storage exists. If not. issue message DMKNMT256E. Create a new directory entry for this TEXT file and return to RDLOOP. If no more entries, close the control file, compress the core image, and adjust the displacements in the directory. RANOUT RDEO:= DSPLOOP Diagraa 13-2. DMKNMT 234 Label 3 Issue DIAGNOSE X'74' to cause will be used to hold the number of entries in the named system. Read a record from the control file and verify the existence of the indicated TEXT file. If it doesn't exist, issue message DMKNMT248E. Module IBM VM/370 Service Routines Program Logic DIAGERR Ref Program Organization This sect10n includes program descriptions of modules DMKIMG and DMKMNT. DMKIftG Provides a CMS interface for the VS-based IEBIMAGE program by handling certain SVCs issued by IEBIMAGE and translating them into CMS terms. ~.!!try g2int DMKIMGBG Routines Called --FSSTATE-----Determines if control file exists. BNDSVC - Traps certain SVCs issued by IEBIMAGE. GETMAIN - Gets area for simulating OS LOAD SVC .. FREEMAIN - Releases OS LOAD area. FILEDEF Issues FILEDEFs needed by IEBIMAGE. LOAD - Simulates OS LOAD and QSAM READ. FSWRITE - Creates a new TEXT file (STPW simulation) • Attributes --Disk-resident, loaded into CMS user area. called via SVC 202, serially reusuable. ~~gist~!§ ~! ~.!!!!y R1: Standard CMS PLIST R14: Return address R15: Address of GENIMAGE ~~gist~!§ ~! ~!!! R15: R15: R15: Return code < 100 for normal IEBIMAGE execution Return code 100 if error in input parameters Return code 104 if error during FILEDEF ~!te!.!!~l R~i~!~.!!£es ~!!trI Routines Called --FSSTATE-- Determines if CNTRL and TEXT files. exist. ISREAD - Reads in the contrel file. CMS LOAI - Loads the TEXT file into the transient area. Attributes --rIsk-resident as "IMAGELIB". loaded into eMS user area, ca~~eo via SiC 202, serially reusuable. ~~g!.§te~ ~! R1: Register 15 contains a return code: Return £2g~ o 4 8 12 16 20 100. return code ]~9!st~I HO: R1: R2: B3: B4: R5: R6: its value B8: R9: DMKNMT B12: R 14: constructs an image library from TEXT files on user disks and creates or replaces that image library via DIAGNOSE code X' 74' • !nt!I Standard CMS PLIST Reg!st~I ~! ~!!! R7: MAINBIGH Saves and restores between lo.ads. Point tMKNMTBL R15: Image library updated successfully Control file· not found or in error Specified image nen-existent Specified image caused LOAD errer Insufficient virtual storage I.age litrary is currently active Error in FSREAD ].§age ~emporary work register PLIST register and temporary werk register Source address for MveL Source length fer MVCL Target address for MVCL Target length fer MVCL current end of image library in storage available Pointer to next directory entry Running counter for number of directory entries the image starting address of library in storage IMKNMT module base BAtR return address and scratch register BALR branch address and scratch register ~!!~I~~l ~~feI~.!!£~§ None Chapter 13. DMKIMG and DMKNMT -- IEEIMAGE Interface 235 Directory Figure 13-2 is an alphabetical list of the major labels in aodules DMKIMG and D!KNMT. The figure indicates the associated .ethod of operation diagrams and it provides a trief descripticn cf the operation perfor.Ed at the point in the progra. associated with each label. I r-----------~--------~~---------------------------------------------------------------_, ILabel I AFTERRD Diagrall Description 13-2 Saves the name of the control file. BLDL2 13-1 Checks for file. BLDL3 13-1 BLDRET 13-1 Return to user key. DIAGERR 13-2 Issue error message DMKNMT254E. DSPLOOP 13-2 Adjusts old displace.ent in directory entries. -ENDPARMS 13-1 Creates DUMMY image library. ERR004 13-2 Issues return code of 4. -FILEBAD 13-1 Issues FILEDEF error. GETSEQ 13-1 Obtains current value of sequence nu.ter. LDERR 13-2 Issues error lIessage DMKBftT249!. LOADRTN 13-1 Sillulates LOAD functions. LOOPl 13-1 Validates para.eter list. LOOP2 13-1 Validates options. MOVETXT 13-1 NOTEXT 13-2 Issues error .essage D!KNMT248!. OPTIONS 13-1 Scans through PARMERR 13-1 Gives return code 100 for paralleter error. RANOUT 13-2 Issue error aessage DMKN!T256E. RDEOF 13-2 Saves file name for CLOSE. RDERR 13-2 Checks for end-of-file. RDLOOP 13-2 Points to file name. READEXIT 13-1 Issue return codes from READ. READRTN 13-1 Simulates READ functions. RETURN 13-1 Saves return code. RETURN 13-2 Obtains return address. STOWRTN 13-1 Simulates STOW functions. TXTLOOP WRITERTN 13-1 13-1 Creates TXT cards. Simulates WRITE functions. Figure 13-2,. 236 DMKIMG an opt~ons. DMKNMT Label Directory IBM VM/370 Service Routines Program Logic I I Data Areas The following data areas are used by DMKIMG and DMKNMT: • • • • Data Control Block (DCB) Data Extent Block (DEB) Data Extent Centrol Block (DECB) (PDEBLOK) All the above data areas except PDBELCK are described in the CS/VS2 ]ebyggiBg Handbook, Vol. 2, Crder Nc. GC28-0988. The PI!ELOi-is-aescribed in Figure 13-3. Or---------------------------------------------------------~ PDENAME 4 8 PDEDISP C PDELGTH ~j§]lA£:~~! Hex Dec -0 -0 8 OC 8 12 Fi~!~_!!~!!~ PDENAME PDEDISP PDELGTH DS DS DS CL8 1F 1F 12~~£!:!E1ion M.ember name REA of start of member Length of member in bytes Figure 13-3. PDEBLOK Directory Entry for Named System Chaptsr 13. D!KI!G and D!~B!T -- IEBI8AG! Interface 237 Diagnostic Aids Figure 13-4 lists the messages issued by the DMKIMG and DMKHMT. The nearest label I I Message I Code Label Diagram and the associated method diagram are identified. cf operation Message Test I DMKHMT2471 RETURN 13-2 3800 NAMED SYSTEM CREATED SPECIFIED ll!AGE i.age DMKNMT248E HOTEXT 13-2 SPECIFIED IMAGE image NON-EXISTENT DMKHMT249E LDERR 13-2 ERROR LOADING IMAGE image DMKNMT254E DIAGERR 13-2 ERROR SAVING imag380C - Re DMKNMT256E RANOUT 13-2 INSUFFICIENT VIRTUAL STORAGE Figure 13-4. 238 DMKIMG and DMKHMT Messages IBM VM/370 Service Routines Program Logic (return code) Index A abnormal termination (~~~ abeud) ACCOUNT control statement 84 sequence 84 ADT macro 220 allocation program (§§§ format/allocate program) allocation record ii7 allocation table 68 alternate track 9 Assembler language test 117 Assembler update procedure label directory 151-152 overview 131 assembling the program 134 auxiliary file 126 E binary information, how handled by Interactive Problem Control System block multiplexer option 84,91 building a VM/370 directory 81 35 C CCH record (§§§ inboard record) CLEAR option 213 CMS commands 211 CPEREP command DDR command 93 DIRECT command 81 INCLUDE command 211 UPDATE command 126-127 CMS IVP tests 121 coded abend, how handled by Interactive Problem Control System 33 CONSOLE control statement, directory program 86 control blocks, how formatted and printed by Interactive Problem Control System 36 control files 125 copy function 99 COpy control statement 96 copying a DASD 93 copying a tape 93 CP abend dumps 18 CP copy files 143 CP IVP tests 121 CP macro files 143 CP macro litrary creation 143 CPEREP (EXEC) co.mand 211 creating and updating procedures 125-161 Assembler update procedure overview 131 auxiliary file 125 centrol files 125 diagnostic aids 155-161 DMSUPD (update program) I~O GENERATE procedure 158-160 VMFAS! EXEC procedure 155 VMFLOAD program 157 VftFftAC procedure 157 DftKLDOOE service program (loader) 128 D!SUPD (update program) 126 control record processing i38 exit processing 141 inserting updates 140 multiple update 137 operand and option checking 136 overview 134 single update 139 GENERATE procedure 127 generating a CP system 147-148 introductory message 144-146 Interactive Problem Control System 127 introduction 125 key to method of operation diagrams 130 latel directory Assemtler update procedure 151-152 GENERATE procedure 154 VftFLOAD program 153 V!F!lC procedure 153 leader 127 LeADER EXEC procedure 147-148 messages D!!SUPD (update program) 156 GENERATE procedure 158-160 V!!FAS! EXEC procedure 155 VMFLOAD program 157 V!!F!!AC procedure 157 method of operation 129 naming conventions 125 nucleus loader 127 program organiZation 149 RSCS 127 system EXEC procedures 126 Index 239 text decks 125 TXT files 125 UPDATE command 126-127 update files 125 VMCNTRL file 147-148 VMFASM EXEC procedure 126-127 assembling 133 initialization 132 VMFDATE program 126-127 VMFLOAD program 126-127 control file 127 nucleus load 142 VMFMAC EXEC procedure 147-148 VMFMAC macro library creation procedure 143 update procedure 128 CTRL file 142 cylinder bit map 67 cylinder byte map 68 cylinder header record, format 106 D DASD copy function 93 dumping 93 print function 93 restoring 93 track header record 93 type function 93 virtual disk initialization via IBCDASDI 3-15 volume header record 93 CASD dump/restore program' 93-111 control statement processing 96 copy function 99 data areas cylinder header record 106 lOB 108-109 track header record 107 diagnostic aids 110-111 dump function 97 entry point 102 exit 95 external references 102 initialization 95 introduction 93 key to method of operation diagrams 94 label directory 103-105 messages 110-111 method of operation 94 overview 95 parameter list 95 print function 100 240 IBM VM/370 Service Routines Program Logic Frogram description 102 Frogram organization 102 register usage 102 restore function 98 return cedes 102 tYFe function 101 data areas DASD dumF/restore program 106-109 directory program 91 DMKIMG 237 DMKNMT 237 EREP/Errer Recording Interface 220 fermat/allocate program 71 IEBIMAGE Interface 237 Interactive Problem Control System 53-59 MSS Communicator 229 use 1 virtual disk initialization 12 ZAP service program 209 3704/3705 service programs 190 DDR (§~~ DASD dump/restore program) DEDICATE control statement 85 default addresses, DMKLDOOE service program (loader) 128 defective track 9 deleting pregram statements 139 DIAGNOSE '30' 215-217 DIAGNOSE code X'78' 223 DIAGNOSE X'2C' 214 DIAGNOSE X'30' 214 diagnostic aids creating and updating procedures 155-161 DMSUPD (update program) 156 GENERATE procedure 158-160 VMFAS! EXEC procedure 155 VMFLOAD program 157 VMFMAC procedure 157 DASD dumF/restore program 110-111 directory program 92 D!KIMG 238 D!KNMT 238 EREP/Errer Recording Interface 221 fermat/allocate program 80 IEEIMAGE Interface 238 installation verification procedure 123 Interactive Problem Control System 60-62 MSS Communicator 230 starter system program 168 use 1 virtual disk initialization 14-15 ZAP service program 210 3704/3705 service programs 191-194 diagnostic labels (§~ latel, corresponding program functions) diagrams extended description 1-2 how to use 1-2 input block 1-2 interpretation 1-2 keys 2 output block 1-2 process block 1-2 direct access storage device (~~ DASD) DIRECT command 81 directory DASD dump/restore program 103-105 directory program 89-90 DI!KII!G 236 DI!KNI!T 236 EREP/Error Recording Interface 218-219 format/allocate program 10 IEBII!AGE Interface 236 installation verification procedure 122 MSS Communicator 228 starter system program 167 use 1 virtual disk initialization 11 VI!/370 creating and updating procedures 150 Assembler update procedure 151-152 GENERATE procedure 154 VI!FLOAD program 153 V!FMAC procedure 153 ZAP service program 207-208 3704/3705 service programs 185-189 ASI!3705 processor 186 GEN3705 processor 187-188 LKED processor 188 modules 185-189 NCPDUI!P processor 185 SAVENCP processor 188 DIRECTORY control statement~ directory program 86 directory program building a new directory 81 building allocation record 86 control statement processing 85 control statements ACCOUNT 84 CONSOLE 86 DEDICATE 85 DIREC.T 84 DIRECTORY 86 IPL 86 LINK 86 I!DISK 84 OPTION 84 SPECIAL 86 SPOOL 85 USER 84 data areas UDEVBLOK 91 UDIRBLOK 91 UI!ACBLOK 91 diaqnostic aids 92 directory exit 87 entry point 88 external references 88 introduction 81 key to method of operation diagrams 82 latel directory 89-90 messages 92 method of operation 82 overview 83 prerequisites for running 81 program description 88 prograa organization 88 register usage 88 return codes 88 swapping directories 81 disk (2~§ ~lso DASD) dumping 93 DI!FREE macro 215-217 DMKDDR (§~ DASD dump/restore program) DI!KDIR (§~~ directory program) DI!KII!G data areas 237 diagnostic aids 238 entry points 235 exit 235 external references 235 label directory 236 logic diagram 233 messages 238 program organization 235 register usage 235 return codes 235 routines called 235 DMKLDOOE service program (loader) 128 DMKI!SS initialization 225 DMKI!SS processing 226 DI!KI!SS program 223 DMKNMT data areas 237 diagnostic aids 238 entry points 235 exit 235 external references 235 label directory 236 lcgic diagram 234 messages 238 program crganization 235 register usage 235 return codes 235 routines called 235 DMKSSP (2§§ starter system program) DMMCPA, program organization of 38 Index 241 tMftDIR, progra. organization of 38 tMMtSC, progra. organization of 38-39 DMMEDM, progra. organization of 39 DMMFED, progra. organization of 39 DMMFEX, progra. organization of 40 DMMGET, progra. organization of 40 DMMGRC, progra. organization of 40 DMMBEX, progra. organization of 41 DMMIDM, progra. organization of 41 DM!IHI, program organization of 41-42 DMMIHT, progra. organization of 42 DMMIOB, progra. organization of 42 DMftLOC, progra. organization of 42-43 DMMMAP, progra. organization of 43 DftftftOD, progra. organization of 43 DMftPRG, progra. organization of 43-44 tftftPRM, progra. organization of 44 DftftPRO, program organization of 44 DftftREG, progra. organization of 44-45 DftftRft', progra. organization of 45 DftftSCR, program organization of 45 D!ftSEA, progra. organization of 45-46 DMftSTA, program organization of 46 DftftSUft, progra. organization of 46 D!ftTRC, program organization of 46-41 DftftTRH, progra. organization of 41 D!M'ftB, progra. organization of 41 DftftWRT, progra. organization of 47 DMSFREE macro 211 DftSIFC (~ EREP/Error Recording Interface) DftSREA (§~~ EREP/Error Recording Interface) DftSUPD (update progra.) 126 138 control record processing exit processing 141 inserting updates 140 label directory 151-152 .essages 156 multiple update 137 operand and option checking 136 overview 135 single update 139 dump (§~ 'ftFDUftP program) du.p file, how printed by Interactive Problem Control System 37 du.p function 97 DUftP control statement 96 writing DASD records on tape 97 writing volume header record 97 dumping a DASD 93 DUftPSCAH, Interactive Proble. Control System command 17,21-23 E Editor test 118 entry,point, EREP/Error Recording Interface 215-211 242 lEft V"/370 Service Routines Program Logic entry point DISD du.p/restore progra. 102 directory progra. 88 DBKIMG 235 DBKH!T 235 EREP/Error Recording Interface 215-217 for.at/allocate progra. 69 IEBIMIGE Interface 235 !SS Co •• unicator 221 starter system progra. 166 virtual disk initialization 10 ZIP service prograa 206 3704/3105 service prograas D!KRRD 181 DftSIRN 181-182 DMSIRX 182-183 DftSGRR 183 D!SLKD 183 D!SHCP 184 EREP/Error Recording Interface 211-221 data areas 220 diagnostic aids 221 D!SIFC 213 D!SREA 214 entry points 215-211 exit 215-217 external references 215-211 introduction 211 key to .ethod of operation diagrams 212 label directory 218-219 .essages 221 aethod of operation 212-214 overview 212 parameter list 214 progra. description 211 progra. organization 215-211 register usage 215-217 return codes 215-211 error processing, installation, verification procedure 119 EXEC procedure, installation verification procedure 113 exit, virtual disk initialization 10 extended description 1-2 external references DASD dump/restore program 102 directoiy program 88 DMKIftG 235 DMKBftT 235 EREP/Error Recording Interface 215-217 IEElftAGE Interface 235 starter system program 166 virtual disk initialization 10 F file status table entry, ZAP service program 209 format prograa (~format/allocate prograll) format/allocate prog~am allocate function 63,68 data areas record F3 14 record F4 14 record 0 11 record 1 format 11 record 2 foraat 12 record 3 foraat 72 record 4 14 record 4 for~at 13 record 5 format 73 record 6 forllat 74 2305 models 1 and 2 record layout 77 2314/2319 record layout 75 3330 series record layout 75 3340 series record layout 78 3350 series record layout 79 diagnostic aids 80 directory 10 entry point 69 execution 63-64 format function 63,67 introduction 63 key to method of operation diagrams 65 label only function 63 aessages 80 aethod of operation 65 overview 66 prograll organiZation 69 prompter messages 66 register usag~ 69 FSTE macro 220 G GENERATE procedure 127 build a new C!S nucleus 144-146 tuild a new CP nucleus 144-146 build a new V!/370 directory 144-146 build the RSCS nucleus 144-146 create a new buffer load (D!KFCB) 144-146 create a new real I/O deck (D!KRIO) 144-146 create a new systell deck (DftKSYS) 147-148 create a new systea naae table (DftKSNT) 144-146 create a standalone copy of service prograas 144-14~ generating a CP systea 147-148 introductory message 144-146 latel directory 154 lead the Interactive Problem Control System modules 144-146 messages 158-160 punch standalone service programs 144-146 generating a CP system 141-148 generating and updating procedures (~~ creating and updating procedures) GENlftAGE, program description 231 H HNDSVC macro 211 I IBCDASDI (§~ virtual disk initialization) IEBlftAGE Interface data areas 237 diagnostic aids 238 entry points 235 exit 235 external references 235 introduction 231 key to method of operation diagrams 232 label directory 236 .essages 238 .ethod of operation 232-234 overview 232 program description 231 235 progra. organization register usage 235 return codes 235 routines called 235 illustrations classification 1 Ilumbering 2 IftlGELIB command 231 IftAGELIB program 231 initialization D1SD du.p/restore progra. 95 track 9 virtual disk (~~ virtual disk initialization) input block 1-2 INPUT control state.ent 96 input/output block (~ICB) inserting program statements 139 installation verification procedure assemble lSSEftBLE file 117 CftS test sections 121 CftS tests 113 Cp test sections 121 Index 243 CP tests 113 117 create ASSEI!BLE file 123 diagnostic aids error processing 119 117 execute program introduction 113 IVP EXEC procedure 115 IVPX EXEC procedure 116 key to method of operation diagrams 114 label directory 122 messages 123 method of operation 114 multiple machine test 117 program organization 120 real system configuration 116 routine structuring 120 single machine test 116 test Assembler program 118 test Editor 118 test procedure 1 117 test procedure 2 118 test sections 121 Interactive Problem Control system 127 creating and updating procedures diagnostic aids 60-62 introduction 7-18 key to method of operation diagrams 20 messages 60-62 method of operation 19-37 report files 17 Interactive Problem Control System (Interactive Problem Control system) 127 loading 144-146 Interactive Problem Control System commands DUI!PSCAB 17 PRB 17 PROB 17 STAT 17 VI!FDUI!P 17 Interactive Problem Control system files BUCI!AP file 17 STATALL LOCAL file 17 summary record 17 symptom summary 17 introduciton, EREP/Error Recording Interface 211 introduction DASD dump/restore program 93 directory program 81 EREP/Error Recording Interface 211 format/allocate program 63 IEBII!AGE Interface 231 installation verification procedure 113-123 I!SS Communicator 223 starter system program 162 use 1 244 lEI! VI!/370 Service Routines Program Logic virtual disk initialization 3-4 VM/370 creating and updating procedures 125 ZAP service program 195 3704/3705 service programs 169 IBTSECT, VMFDUMP and PROB internal data area 57 lOB format 108-109 uFdate 96 IPL control statement, directory program 86 IVP (see installation verification procedure) IVP EXEC procedure 115 K key to method of operation diagrams DASD dump/restore program 94 directory service program 82 format/allocate service program 65 installation verification procedures 114 Interactive problem Control System 20 virtual disk initialization 5 VM/370 creating and updating procedures 130 ZAP service program 196 3704/3705 service programs 170 keys on diagrams, meaning 1-2 L label ccrresponding program functions DASD dump/restore program 103-105 directory program 89-90 DMKIMG 236 DI!KBMT 236 EREP/Error Recording Interface 218-219 format/allocate program 70 IEBIMIGE Interface 236 installation verification procedure 122 Interactive Problem Control system 48-52 MSS Communicator 228 starter system program 167 virtual disk initialization program 11 VM/370 creating and updating procedures 150 VM/370 creating and updating procedures, Assembler update procedure 151-152 VM/370 creating and updating 154 procedures, GENERATE procedure VM/370 creating and updating 153 procedures, VMFLOAD program VM/370 creating and updating 153 procedures, VMFMAC procedure ZAP service program 207-208 3704/3705 service programs 185-189 labei directory DASD dump/restore program 103-105 directory program 89-90 DMKIMG 236 DMKNMT 236 218-219 EREP/Error Recording Interface format/allocate program 70 IEBIMAGE Interface 236 installation verification procedure 122 Interactive Problem Control System 48-52 MSS Communicator 228 starter system program 167 virtual disk initialization 11 VM/310 creating and updating procedures 150 ZAP service program 201-208 3104/3105 service programs 185-189 ASM3105 processor 186 GEN3105 processor 181-188 LKED processor 188 NCPDUMP processor 185 SAVENCP processor 189 LINK control statement, directory program 86 loader program (DMKLDOOE) 121 creating and updating procedures default addresses 128 wait conditions 161 loading and executing IBCDASDI 3-4 loadlist 142 Interactive Problem Control System 60-62 M5S Communicator 230 s!arter srste~ ~r~gr~. . 168 Virtual d~sk ~n1t1a11zat10n 14-15 ZAP service program 210 3704/3705 service programs 191-194 methcd of operation DASD dump/restore program 94 directory program 82 EREP/Errcr Recording Interface 212-214 format/allocate program 65 IlEIBIGE Interface 232-234 installation verification procedure 114 Interactive Problem Control system 19-37 M5S Communicator 224-226 starter system program 163-164 use 1 virtual disk initialization 5-8 VB/310 creating and updating procedures 129 ZAP service program 196-205 3704/3705 service programs 170-180 minidisk (§~ virtual disk) module DMKIMG 231 module DMKNMT 231 MSS Communicator attributes 227 data areas 229 diagnostic aids 230 entry points 227 introduction 223 key to method of operation diagrams 224 228 label directory messages 230 224-226 method of operation overview 224 program description 223 227 program organization register usage 227 multi-level update function 126 multiple machine test 117 multiple update 137 M MDISK control statement 84 messages creating and updating procedures 155-161 DMSUPD (update program) 156 GENERATE procedure 158-160 VMFASM EXEC procedure 155 VMFLOAD program 151 VMFMAC procedure 151 DASD dump/restore program 110-111 directory program 92 DMKIMG 238 DMKNMT 238 EREP/Error Recording Interface 221 format/allocate program 80 IEBIMAGE Interface 238 installation verification procedure 123 N nucleus load map, how compressed by Interactive Problem Control System 31 nucleus load program 142 nucleus loader, creating and updating procedures 127 o operator initiated dump, how handled by Interactive Problem Control System 34 OPTICN control statement 84 sequence 84 output block 1-2 OUTPUT control statement 96 Index 245 P PL! how to use 1 introduction 1-2 sections of 1 PRB, Interactive Problem Control system co.mand 17,24 primary track 9 print function 100 PRINT control statement 96 translate table 96 use of extent tables 100 printing a DASD 93 printing a tape 93 PROE, Interactive Problem Control System command 17,25-26 PROE internal data area, INTSECT 57 procedures for creating and updating VM/370 (§§§ creating and updating procedures) process block 1-2 program check, how compressed by Interactive Problem Control System 32 program description tASD dump/restore program 102 directory program 88 EREP/Error Recording Interface 211 IEBI!AGE Interface 231 MSS Communicator 223 virtual disk initialization 9 program organization tASD dump/restore program 102 directory program 88 EREP/Error Recording Interface 215-217 format/allocate program 69 IEBIMAGE Interface 235 installation verification procedure 120 Interactive Problem Control System 38-47 MSS Communicator 227 starter system program 166 use 1 virtual disk initialization 9 VM/370 creating and updating procedures 147-148 ZAP service program 206 3704/3705 service programs 181-184 program temporary fix (§§§ PTF) PTF field 126 PTF file 138 R record F3 74 record F4 74 record layout 2305 77 2314/2319 75 3330 series 76 3340 series 78 3350 series 79 246 IBM VM/370 Service Routines Program Logic r.ecord 0 format 71 record 1 format 71 record 2 format 72 record 3 format 72 record 4 74 record 4 format 73 record 5 format 73 record 6 format 74 register usage DASD dump/restore program 102 directory program 88 format/allocate program 69 starter system .program 166 ZAP service program 206 3704/3705 service programs D!KRND 181 DMSIRN 181-182 DMSIRX 182-183 DMSGRN 183 DMSLKD 183 DMSNCP 184 Remote Spooling Communications Subsystem CRSCS) 127 building the nucleus 144-146 resequencing program statements 139 restore function 98 RESTORE control statement 96 volume serial numher check 98 writing tape records on a DISD 98 restoring a DISD 93 return codes DASD dump/restore program 102 directory program 88 RSCS, creating and updating procedures 127 S SET tUMP IUTO co.mand 18 SHARECON, VMFDUMP Shared Constant lrea 53-56 single update 139 SPECIAL control statement, directory program 86 SPOOL control statement 85 starter system program 162-168 define the system 165 diagnostic aids 168 entry point 166 external references 166 find the console 165 find the PID tape 165 initialization 165 introduction 162 label directory 167 messages 168 method of operation 163-164 prQgram organization 166 register usage 166 STAT, Interactive Problem Control System command 17,27 storage protection keys, how printed by Interactive Problem Control System 37 SVC 0 214 SVC 126 223 SVC 18 211 SVC 76 214 Sy.~tom Summary Control Record Format, SYMSECT 58-59 SYMSECT, Symptom Su.mary Control Record Format 58-59 SYSPRINT control statement 96 SYS1.LOGREC data set 211 update procedure, V!FBIC macro library 128 USER control statement 84 sequence 84 user directory (§~ Vft/310 directory) v U virtual disk initialization assigning alternate tracks 3-4 calculating size 3-4 centrol stateaent processing 7 data areas track zero 12-13 unit control block 13 diagnostic aids 14-15 directory 11 entry point 10 execution 3-4 exit 10 external references 10 initializaticn 3-4 introduction 3-4 key to method of operation diagrams label directory 11 messages 14-15 method of operation 5-8 program description 10 program initialization 7 program crganization 9 program overview 9-10 surface analysis 3-4,9 tables and work areas 10 track check 9 track initialization 9 track 0 9 u~date VTOC 9 VTOC 9 writing IPL program 3-4 3330 restriction 3-4 UDEVBLOK 84,86,91 building for console 86 building for link device 86 building for special device 86 building for spool device 84 for. at 91 UDIRBLOK 84,86,91 format 91 UMACBLOK 84,86,91 format 91 unit control block 13 UPDATE com.and 126-127 update files 125 update level 125 update level identifier 125 VMCNTRL file 147-148 VBPASB EXEC procedure 126-127 asseabling the program i33 check for ISSEBBLE file 132 check for CONTROL file 132 create new text file 134 execute VBFDITE program 134 initialization 132 label directory 151-152 messages 155 VMFD1TE program 126-127 create UPDATES file 134 VBFDUBP, Interactive Problem Control system com.and 17,28-40 T tables and work areas, virtual disk initialization 10 tape copy function 93 print functien 93 type function 93 text decks 125 track alternate 9 defective 9 primary 9 track check 9 track header record 93 format 107 track initialization 9 track zero 9,12 type function 101 TYPE control statement 96 use of extent tables 101 typing DASD records 93 typing tape records 93 ~irtual dU&F prograa (§§~ 5 V!FDU!P) Index 247 V8PDU8P internal data area, IHTSECT 57 V8PDU8P Shared Constant Area, SBARECOH 53-56 V8PLOAD progra. 127 control file 127 label directory 153 .essages 157 V8F8AC EXEC procedure, .essages 157 V8P8AC .acro library 143 update procedure 128 V8/370 creating and updating procedures (§~~ creating and updating procedures) V8/370 directory building 81 calculating nu.ber of records 91 chained records 91 for.at 91 V8/370 starter syste. (§~~ starter syste. progra.) volu.e header record 93 volu.e table of contents (§~~ VTOC) VTOC 9 update 9 Z ZAP service progra. 195-210 BASE control record processing 200 control record processing 199 data areas 209 diagnostic aids 210 DU!P control record processing 199 du.p function 195 END control record processing 201 entry point 206 file status table entry 209 finding the CSECT 203 initialization 198 introduction 195 key to method of operation diagrams 196 label directory 207-208 .essages 210 method of operation 196-205 HA8E control record processing 200 opening the file 202 overview 197 248 IBM VM/370 Service Routines Progra. Logic printing the du.p 205 progra. organization 206 reading the text 204 register usage 206 REP control record processing 201 replace function 195 verify function 195 VER/VERIFY control record processing 201 2 2305 record layout 77 2314/2319 record layout 75 3 3330 series record layout 76 3330/3350 virtual disk initialization restriction 3-4 3340 series record layout 78 3350 series record layout 79 3704/2705 service progra.s, building CPP1B8 list 112 3104/3705 service progra.s 169-194 A583105 169 1583105 com.and processor 176-178 data areas 190 diagnostic aids 191-194 AS83105 .essages 192 GEN3105 messages 193 LKED .essages 193 NCPDUftP .essages 191 SAVEHCP .essages 194 entry point D8KRBt 181 D8S1RB 181-182 D851RX 182-183 D8SGRN 183 D85LKD 183 DMSBCP 184 generating 3705 assembler files 174 generating 3705 link-edit files 175 GEN3105 169 GEB3705 command 113 introduction 169 key to method of operation diagrams 110 label directory 185-189 ASM3705 processor 186 GEN3705 processor 187-188 LKED processor 188 modules 185-189 NCPDUMP processor 185 SAVENCP processor 189 LKED 169 LKED co •• and processor 179 .essages 191-194 method of operation 170-180 NCPDUMP 169 NCPDUMP command 180 NETWORK 169 program organization 181-184 register usage DMKRND 181 D!!SARN 181-182 DMSARX 182-183 D!!SGRN 183 DMSLKD 183 DMSNCP 184 SAVENCP 169 SIVENCP command 171 3705 programs (§~ 3704/3705 service progralls) Index 249 250 IBM VM/370 Service Routines Prograa Logic READER'S COMMENT FORM Title: IBM Virtual Machine Facility /370: Service Routines Program Logic Order No. SY20-0882-4 Please check or fill in the items; adding explanations/comments in the space provided. wrjch of the following terms best describes your job? [J Customer Engineer o o Engineer. Instructor o Manager o Mathematician o Operator o Programmer o Sales Representative o Student/Trainee 0 Systems Analyst 0 Systems EngL'leer 0 Other (explain below) How did you use this publication? o Introductory text o Reference manual o Student/O Instructor text o Other (explain) _ _ _ _ _ _ _~_~~_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Did you find the material easy to read and understand? 0 Yes o No (explain below) Did you find the material organized for convenient use? 0 Yes o No (explain below) Specific criticisms (e xplain below) Clarifications on pages Additions on pages Deletions on pages Errors on pages Explanations and other comments: ~ o Z SY20-0882-4 Reader's Comment Form Fold and tape Fold and tape Please Do Not Staple 111111 NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES BUSINESS REPLY MAIL FI RST CLASS PERMIT 40 ARMONK, NEW YORK POSTAGE WILL BE PAID BY ADDRESSEE: I nternational Business Machines Corporation Department 058, Building 706-2 PO Box 390 Poughkeepsie, New York 12602 Attn: VM/370 Publications Fold and tape Please Do Not Staple Fold and tape C'I.I -< N o 6 ---.. - -- - --..... ---- -------_ - - ----... _~_9_ International Business Machines Corporation Data Processing Division 1133 Westchester Avenue, White Plains, N.Y. 10604 IBM World Trade Americas/Far East Corporation Town of Mount Pleasant, Route 9, North Tarrytown, N.Y., U.S.A. 10591 IBM World Trade Europe/Middle East/Africa Corporatiol'! 360 Hamilton Avenue, White Plains, N.Y., U.S.A. 10601 OQ OQ N ~ SY20-0882-4 ." ~... I» 3 r- o CQ c:;' (I) -< N o 600 00 N ---- ---- --- --------- ---------International Business Machines Corporation Data Processing 0 ivision 1133 Westchester Avenue, White Plains, N.Y. 10604 IBM World Trade Americas/Far East Corpor;:Jtion Town of Mount Pleasant, Route 9, North Tarrytown, N.Y., U.S.A. 10591 IBM World Trade Europe/Middle East/Africa Corporation 360 Hamilton Avenue, White Plains, N.Y., U.S.A. 10601 ~
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2004:01:06 13:02:31-08:00 Modify Date : 2009:09:11 05:27:36-07:00 Metadata Date : 2009:09:11 05:27:36-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:1da8fef5-369c-4bad-9273-9c3017025101 Instance ID : uuid:0fe26dec-a848-4fbf-a160-d652f917f798 Page Layout : SinglePage Page Mode : UseOutlines Page Count : 269EXIF Metadata provided by EXIF.tools