ibm:vm370-lib:cp:dmkcpu.assemble_src
Table of Contents
DMKCPU Source
References
- Fixes Applied : 15
- This Source Date : Tuesday, February 20, 1979
- Last Fix ID : [R13499DK]
Source Listing
- DMKCPU.ASSEMBLE.txt
- CPU TITLE 'DMKCPU (CP) VM/370 - RELEASE 6' 00001000
- PUNCH ' SPB' 00002000
- ISEQ 73,80 00003000
- SPACE 2 00004000
- COPY OPTIONS 00005000
- COPY LOCAL OPTIONS 00006000
- DMKCPU CSECT 00007000
- EXTRN DMKPTRAN @VA12934 00008000
- EXTRN DMKPTRFR @VA12934 00009000
- EXTRN DMKCFMBK @V5BC0AB 00011000
- EXTRN DMKPTRFT @V5BC0AB 00013000
- EXTRN DMKLOKSY @VA12934 00014000
- EXTRN DMKLOKFR @VA12934 00015000
- EXTRN DMKLOKTR @VA12934 00016000
- EXTRN DMKLOKDS @VA12934 00017000
- EXTRN DMKLOKRL @VA12934 00018000
- EXTRN DMKMCTAF @VA12934 00019000
- EXTRN DMKCVTBH @VA12934 00020000
- EXTRN DMKSTKOP @V5BC0AB 00024000
- EXTRN DMKSTKMP @VMH0033 00025000
- EXTRN DMKFRET @V5BC0AB 00027000
- EXTRN DMKFREE @V5BC0AB 00028000
- EXTRN DMKCLKCK @V5BC0AB 00029000
- EXTRN DMKAPIPR @V5BC0AB 00030000
- EXTRN DMKCPPUP @VA12934 00030500
- EXTRN DMKSYSAP @V5BC0AB 00031000
- EXTRN DMKFREAP @V5BC0AB 00035000
- EXTRN DMKVMAS1 @V5BC0AB 00036000
- EXTRN DMKSCNVS @V5BC0AB 00037000
- EXTRN DMKPTRUL @V5BC0AB 00039000
- EXTRN DMKDSPRQ @VA09324 00040100
- EXTRN DMKSTKCP @VA09324 00040200
- EXTRN DMKEXTST @VA10010 00040300
- EXTRN DMKMCTPF @VA12934 00040500
- EXTRN DMKMCTFL @VA12934 00040700
- EJECT 00041000
- *. 00042000
- * MODULE NAME - 00043000
- * 00044000
- * DMKCPU 00045000
- * 00046000
- * FUNCTION - 00047000
- * 00048000
- * TO VARY AN ATTACHED PROCESSOR ONLINE. 00049000
- * 00051000
- * ATTRIBUTES - 00052000
- * 00053000
- * REENTRANT, PAGEABLE, CALLED VIA SVC 00054000
- * 00055000
- * ENTRY POINTS - 00056000
- * 00057000
- * DMKCPUVY - TO PROCESS A VARY ONLINE/OFFLINE PROCESSOR COMMAND. 00058000
- * 00060000
- * ENTRY CONDITIONS - 00061000
- * 00062000
- * FOR DMKCPUVY - 00063000
- * GPR1 = PROCESSOR ADDRESS, IF OFFLINE REQUEST, THE FIRST BYTE 00064000
- * HAS A X'FF' 00065000
- * GPR11 = ADDRESS OF VMBLOK OF VIRTUAL MEMORY'S OWNER 00066000
- * GPR12 = ADDRESS OF ENTRY POINT 00067000
- * GPR13 = ADDRESS OF SAVEAREA 00068000
- * 00069000
- * EXIT CONDITIONS - 00076000
- * 00077000
- * 00078000
- * NORMAL - 00079000
- * WHEN PROCESSING AN ONLINE OR OFFLINE, GPR1 WILL CONTAIN 00080000
- * ZEROES. 00081000
- * 00082000
- * ERROR - 00083000
- * WHEN PROCESSING AN ONLINE OR OFFLINE, GPR1 WILL CONTAIN 00084000
- * THE ERROR MESSAGE NUMBER. 00085000
- * 00086000
- * CALLS TO OTHER ROUTINES - 00087000
- * 00088000
- * DMKCPPUP - TO FREE RESOURCES USED IN AP OPERATION 00089000
- * DMKCVTBH - TO CONVERT BINARY TO PRINTABLE FORM 00090000
- * DMKPTRFT - TO RETURN PAGES TO THE FREE PAGE LIST 00091000
- * DMKVMASW - TO SWITCH SHARED SEGMENT POINTERS 00092000
- * DMKMCTAF - TO HANDLE USERS WITH PROCESSOR AFFINITY 00092500
- * DMKPGTSP - TO RELEASE A DASD PAGE ASSIGNED TO SYSTEM 00093000
- * DMKFREE - TO GET STORAGE FOR NON-SHARED PAGE AND SWAP TABLES 00094000
- * DMKPTRAN - TO BRING IN AND LOCK A PAGE 00095000
- * DMKPTRFR - TO GET A PAGE OF STORAGE 00095500
- * DMKFRET - TO RELEASE STORAGE 00096000
- * DMKCFMBK - TO PUT A VIRTUAL MACHINE IN CONSOLE FUNCTION MODE 00097000
- * DMKPTRPW - TO WAIT UNTIL I/O IS COMPLETE FOR A VIRTUAL MACHINE 00098000
- * DMKSTKOP - TO STACK A REQUEST FOR THE OTHER PROCESSOR 00099000
- * DMKSTKMP - TO STACK A REQUEST FOR THE CURRENT PROCESSOR 00100000
- * DMKCLKCK - TO SYNCHRONIZE THE CLOCKS 00101000
- * DMKAPIPR - TO INITIALIZE THE APU'S PSA AND SET UP THE AP 00102000
- * ENVIRONMENT 00103000
- * DMKSCNVS - TO GET A DEVICE BLOCK 00104000
- * DMKDSPCH - TO RETURN TO DISPATCHER 00105000
- * 00106000
- * EXTERNAL REFERENCES - 00107000
- * 00108000
- * DMKPTRRC - NUMBER OF RESIDENT, RESERVED PAGES 00110000
- * DMKVMAS1 - ANCHOR FOR SHARED SYSTEMS (SHRTABLE POINTER) 00111000
- * DMKPTRSC - NUMBER OF RESIDENT SHARED PAGES 00112000
- * DMKSYSOW - ADDRESS OF THE DEVICE OWNED LIST 00113000
- * DMKSCHTQ - POINTER TO TOD CLOCK COMPARATOR REQUEST QUEUE 00114000
- * DMKSNTBL - POINTER TO THE SYSTEM NAME TABLE 00115000
- * DMKFREAP - POINTER TO BACK POCKET FOR DMKFRE IN AP MODE 00116000
- * DMKDMPMA - THE MAIN PROCESSOR'S ADDRESS 00117000
- * DMKDMPAA - THE ATTACHED PROCESSOR'S ADDRESS 00118000
- * DMKDMPSA - POINTER TO THE PSA ADDRESSES 00119000
- * DMKSCHCA - SCHEDULER ATTACHED PROCESSOR WAIT VALUES 00120000
- * DMKCQRWS - ATTACHED PROCESSOR PAGE WAIT SAVE VALUE 00121000
- * DMKPAGWS - ATTACHED PROCESSOR PAGE WAIT SAVE VALUE 00122000
- * DMKMCTFL - DMKMCT FLAG FIELD TO TEST FOR DMKMCTFS ENTRY 00122100
- * DMKMCTPF - ADDRESS OF PSA PAGE OF OFFLINE PROCESSOR 00122200
- * DMKLOKSY - ADDRESS OF GLOBAL SYSTEM LOCK 00122300
- * DMKLOKDS - ADDRESS OF DSP QUEUES LOCK 00122400
- * DMKLOKTR - ADDRESS OF TRQ LOCK 00122500
- * DMKLOKRL - ADDRESS OF RUN LIST LOCK 00122600
- * DMKLOKFR - ADDRESS OF FREE STORAGE LOCK 00122700
- * 00123000
- * 00124000
- * TABLES / WORKAREAS - 00125000
- * 00126000
- * CORTABLE, SWPTABLE, PAGTABLE, SEGTABLE, SHRTABLE 00127000
- * 00128000
- * REGISTER USAGE - 00129000
- * 00130000
- * GPR0-10 = SCRATCH 00131000
- * GPR11 = VMBLOK BASE 00132000
- * GPR12 = DMKCPU BASE 00133000
- * GPR13 = SAVEAREA BASE 00134000
- * GPR14 = EXTERNAL LINKAGE 00135000
- * GPR15 = EXTERNAL LINKAGE 00136000
- * 00137000
- * NOTES - 00138000
- * NONE 00139000
- * 00140000
- * MESSAGES - 00141000
- * 00142000
- * NORMAL- 00143000
- * DMKCPU193I PROCESSOR YY ONLINE 00144000
- * DMKCPU194I PROCESSOR YY OFFLINE 00145000
- * 00146000
- * ERROR - 00147000
- * DMKCPU021E RADDR MISSING OR INVALID 00148000
- * DMKCPU191E PROCESSOR YY DOES NOT EXIST 00149000
- * DMKCPU192E VARY PROCESSOR COMMAND FAILED 00150000
- * 00150200
- * WAIT STATES - 00150400
- * NONE 00150600
- * 00150800
- * 00151000
- * ABENDS - 00152000
- * NONE 00153000
- * 00155000
- * 00156000
- * 00157000
- * 00158000
- * A. OPERATION OF DMKCPUVY - 00159000
- * 00160000
- * 1. VERIFY THAT THE VARY PROCESSOR COMMAND WAS ISSUED LEGALLY 00161000
- * THE SET POFFLINE TO ONE. 00162000
- * 2. IF THE REQUEST IS AN OFFLINE, BRANCH TO DMKCPUOF (STEP 11). 00163000
- * 3. IF THE REQUEST IS AN ONLINE, ATTEMPT TO SIGP IPR THE GIVEN 00164000
- * PROCESSOR ADDRESS. IF UNSUCCESSFUL, ISSUE ERROR MESSAGE 00165000
- * AND RETURN TO CALLER. 00166000
- * 4. OBTAIN FROM FREE STORAGE THOSE CONTROL BLOCKS NECESSARY 00167000
- * FOR AN AP SYSTEM TO RUN. NAMELY, DEFERRED EXECUTION BLOCKS 00168000
- * (ONE PER VMBLOK), A BACK POCKET FOR DMKFRE, A CPEXBLOK FOR 00169000
- * THE SWITCH MACRO, AND A PAGE FOR EACH PSA. 00170000
- * 5. ADJUST THE SUPERVISOR STATE TIME FIELDS (VMCPTIME AND 00171000
- * VMAPTIME) TO THE AP MODE VALUES. 00172000
- * 6. THE PSA'S ARE INITIALIZED FOR THE AP ENVIRONMENT VIA 00173000
- * A CALL TO DMKAPIPR. 00174000
- * 7. DMKCLKCK IS CALLED TO SYNCHRONIZE THE CLOCKS. 00175000
- * 8. A SIGNAL WAKEUP IS ISSUED TO THE GIVEN PROCESSOR. 00176000
- * 9. THE ONLINE MESSAGE IS ISSUED. 00177000
- * 10. RETURN IS MADE TO DMKCPS. 00178000
- * 00179000
- * 11. AT DMKCPUOF, THE PROCESSOR PENDING OFFLINE IS QUIESCED AND 00180000
- * THEN STOPPED BY USING SIGP INSTRUCTIONS. 00181000
- * 12. A BRANCH IS THEN MADE TO ENTRY POINT DMKCPPUP TO REVERT 00182000
- * TO UNIPROCESSOR MODE. DMKCPPUP RETURNS TO ITS CALLER. 00183000
- * 13. (SEE THE PROLOGUE FOR DMKCPPUP). 00184000
- * 14. FOR VARY OFFLINE, UPON RETURN FROM DMKCPPUP, 00185000
- * THE OFFLINE MESSAGE IS ISSUED TO ALL VIRTUAL MACHINES; 00186000
- * THOSE VIRTUAL MACHINES WITH AFF. SET TO THE PROCESSOR 00187000
- * GOING OFFLINE ARE NOTIFIED THAT THE AFFINITY IS SET OFF 00188000
- * AND ARE PUT IN CONSOLE FUNCTION MODE. VMTTIME IS 00189000
- * SYNCHRONIZED FOR EACH VMBLOK. THE CPU TIMER IS RESET. 00190000
- * THE VMBLOK LOCK AND THE SYSTEM LOCK ARE ZEROED AND 00191000
- * POFFLINE IS SET OFF. 00192000
- * 15. RETURN IS MADE TO DMKCPS. 00193000
- * 00194000
- EJECT 00195000
- MODID DC CL8'DMKCPU ' MODULE NAME @V5BC0AB 00196000
- SPACE 2 00197000
- USING PSA,R0 @V5BC0AB 00198000
- SPACE 00199000
- USING VMBLOK,R11 @V5BC0AB 00200000
- SPACE 00201000
- USING SAVEAREA,R13 @V5BC0AB 00202000
- SPACE 00203000
- DMKCPUVY RELOC 00204000
- L R15,PREFIXA SET UP TO ACCESS ABSOLUTE ZERO @VA12934 00204020
- CLI CPAPRINP-PSA(R15),X'FF' IS AUTOMATIC PROCESSOR @VA12934 00204040
- * RECOVERY IN PROCESS? 00204060
- BE APRINPR YES, DON'T LET VARY BEGIN @VA12934 00204080
- TM APSTAT4,POFFLINE IS VARY CURRENTLY IN PROCESS? @VMV0008 00204100
- BO VARYINPR YES, GO ISSUE ERROR MESSAGE @VMV0008 00204200
- OI APSTAT4,POFFLINE INDICATE VARY IS IN PROCESS @VMV0008 00204300
- L R15,PREFIXB GET ADDRESS OF OTHER PSA @VMV0008 00204400
- OI APSTAT4-PSA(R15),POFFLINE SET VARY IN PROCESS @VMV0008 00204500
- TM APSTAT1,MPFEAT IS THE MP FEATURE INSTALLED? @V5BC0AB 00205000
- BZ ERCPU192 NO, ISSUE ERROR MSG AND EXIT @V5BC0AB 00206000
- L R3,=A(DMKSYSAP) GET GENNED PARAMETER @VA10332 00206250
- CLI 0(R3),C'N' IS AP GENERATED @VA10332 00206500
- BE ERCPU192 NO..EASE ON DOWN, EASE ON DOWN @VA10332 00206750
- LA R1,0(R1) CLEAR FIRST BYTE OF REGISTER ONE @V5BC0AB 00207000
- CALL DMKCVTBH CONVERT PROC ADDRESS TO PRINTABLE FORM X00208000
- @V5BC0AB 00209000
- STH R1,SAVEWRK1+2 SAVE THE PROCESSOR ADDRESS @V5BC0AB 00210000
- L R2,HEX3F GET HIGHEST PROCESSOR ADDRESS @V5BC0AB 00211000
- L R1,SAVER1 GET INPUT REGISTER @V5BC0AB 00212000
- N R1,F255 LEAVE ONLY PROCESSOR ADDRESS @V5BC0AB 00213000
- CR R1,R2 IS THE CPU ADDRESS VALID? @V5BC0AB 00214000
- BH ERCPU21E NO, ISSUE ERROR MESSAGE @V5BC0AB 00215000
- TM APSTAT1,APUOPER IS SYSTEM IN AP MODE? @V5BC0AB 00216000
- BO CHKOFF YES, IT MUST BE AN OFFLINE REQUEST X00217000
- @V5BC0AB 00218000
- CLC SAVER1(1),ZEROES IS REQUEST FOR ONLINE? @V5BC0AB 00219000
- BNE ERCPU192 NO, OFFLINE. ISSUE ERROR MESSAGE X00220000
- @V5BC0AB 00221000
- B DMKCPUON YES, GO TO ONLINE ROUTINE @V5BC0AB 00222000
- CHKOFF DS 0H @V5BC0AB 00223000
- CLI SAVER1,FF IS REQUEST FOR OFFLINE? @V5BC0AB 00224000
- BNE ONTST NO, ONLINE. COMPARE TO ONLINE PROC'S X00225000
- @V5BC0AB 00226000
- CH R1,IPUADDR IS PROCESSOR ONLINE? @V5BC0AB 00227000
- BNE CHKADDRX NOT THIS ONE, CHECK OTHER @V5BC0AB 00228000
- TM APSTAT1,PROCIO IS THIS ONE THE MAIN? @V5BC0AB 00229000
- BNO DMKCPUOF NO, CONTINUE OFFLINE PROCESS @V5BC0AB 00230000
- TM APSTAT1,CSSFEAT CSS AVAILABLE? @V60B7AB 00230500
- BO DMKCPUOF YES, CONTINUE OFFLINE PROCESS @V60B7AB 00231000
- B ERCPU192 NO, ISSUE ERROR MESSAGE @V50BCAC 00231500
- CHKADDRX CH R1,IPUADDRX IS THE CPU THE OTHER PROCESSOR? @V5BC0AB 00232000
- BNE ERCPU21E NO, ADDRESS IS INVALID @V5BC0AB 00233000
- TM APSTAT1,PROCIO+CSSFEAT TEST IF THIS IS THE I/O @V60B7AB 00234000
- * PROCESSOR AND IF CSS IS AVAILABLE. IF BOTH ARE 00235000
- * ZERO, IT MEANS THAT THE MAIN PROCESSOR IS TO BE VARIED 00236000
- * OFFLINE, BUT CHANNEL SET SWITCHING IS NOT AVAILABLE. 00237000
- BZ ERCPU192 ISSUE ERROR MESSAGE @V60B7AB 00238000
- B DMKCPUOF CONTINUE THE OFFLINE PROCESS @V60B7AB 00239000
- ONTST DS 0H @V5BC0AB 00240000
- CH R1,IPUADDR IS THE PROCESSOR ONLINE? @V5BC0AB 00241000
- BE ONCPU193 YES, GO ISSUE ONLINE MESSAGE @V5BC0AB 00242000
- CH R1,IPUADDRX IS THIS THE PROCESSOR? @V5BC0AB 00243000
- BE ONCPU193 YES, GO ISSUE ONLINE MESSAGE @V5BC0AB 00244000
- ERCPU192 DS 0H @V5BC0AB 00245000
- LA R15,192 GET MESSAGE NUMBER @V5BC0AB 00246000
- ST R15,SAVER1 AND SAVE IT IN HIS REGISTER 1 @V5BC0AB 00247000
- LA R0,CPU192LN @V5BC0AB 00248000
- LA R1,CPU192MG @V5BC0AB 00249000
- B ISSUEMSG @V5BC0AB 00250000
- * 00251000
- ERCPU21E DS 0H @V5BC0AB 00252000
- MVC CPUID021(2),SAVEWRK1+2 PROCESSOR ADDR TO MSG. @VA09324 00252010
- LA R15,21 GET ERROR MESSAGE FOR DMKCPS @V5BC0AB 00253000
- ST R15,SAVER1 AND SAVE IT IN HIS REGISTER 1 @V5BC0AB 00254000
- LA R0,CPU21ELN @V5BC0AB 00255000
- LA R1,CPU21EMG @V5BC0AB 00256000
- B ISSUEMSG @V5BC0AB 00257000
- * 00258000
- CPU191ER DS 0H @V5BC0AB 00259000
- LCTL C0,C0,CPCREG0 LOAD ORIGINAL CONTROL REG 0 @V5BC0AB 00260000
- ERCPU191 DS 0H @V5BC0AB 00261000
- LA R15,191 GET ERROR MESSAGE FOR DMKCPS @V5BC0AB 00262000
- ST R15,SAVER1 AND SAVE IT IN HIS REGISTER 1 @V5BC0AB 00263000
- MVC CPUID191(2),SAVEWRK1+2 GET CPU ADDRESS @V5BC0AB 00264000
- LA R0,CPU191LN @V5BC0AB 00265000
- LA R1,CPU191MG @V5BC0AB 00266000
- B ISSUEMSG @V5BC0AB 00267000
- * 00268000
- APRINPR DS 0H @VA12934 00268100
- VARYINPR DS 0H @VA12934 00268150
- LA R15,192 LOAD MESSAGE NUMBER @VMV0008 00268200
- ST R15,SAVER1 STORE IN CALLER'S REGISTER 1 @VMV0008 00268300
- LA R0,CPU192LN GET MESSAGE LENGTH @VMV0008 00268400
- LA R1,CPU192MG GET ADDRESS OF MESSAGE @VMV0008 00268500
- CALL DMKQCNWT,PARM=NORET HAVE MESSAGE PRINTED @VMV0008 00268600
- EXIT RETURN TO CALLER @VMV0008 00268700
- * 00269000
- * 00270000
- * 00271000
- * 00272000
- DMKCPUON DS 0H @V5BC0AB 00273000
- SPACE 00274000
- * DETERMINE IF THE GIVEN PROCESSOR IS ALREADY ONLINE 00275000
- CH R1,IPUADDR @V5BC0AB 00276000
- BE ONCPU193 ISSUE ONLINE MESSAGE @V5BC0AB 00277000
- LR R2,R1 PUT PROCESSOR ADDRESS IN R2 @V5BC0AB 00278000
- SR R1,R1 CLEAR SIGP STATUS REGISTER @V5BC0AB 00279000
- LA R14,1000 IPR BUSY LOOP COUNTER @V5BC0AB 00280000
- * 00281000
- SIPRLOOP DS 0H @V5BC0AB 00282000
- SIGP R1,R2,SIGIPR @V5BC0AB 00283000
- BC 8,ADDROK CC0 IPR STARTED SUCCESSFULLY @V5BC0AB 00284000
- BC 5,ERCPU191 CC3-NOT OPER. AND CC1-STATUS STORED X00285000
- @V5BC0AB 00286000
- BCT R14,SIPRLOOP CC2-BUSY @V5BC0AB 00287000
- B ERCPU191 ISSUE ERROR MESSAGE, CC2, BUSY 1000 X00288000
- TIMES 00289000
- ADDROK DS 0H @V5BC0AB 00290000
- LA R14,10 WINDOW CONTROL COUNTER @V5BC0AB 00291000
- * * 00292000
- * * 00293000
- STCTL C0,C0,SAVEWRK9 SAVE CONTROL REG 0 IN WORKAREA @V5BC0AB 00294000
- NC SAVEWRK9+2(2),EXTNBITS LEAVE ONLY MFA BIT ON @V5BC0AB 00295000
- OI SAVEWRK9+2,MFAMASK INSURE MFA BIT IS ON @V5BC0AB 00296000
- ADDROK1 DS 0H @V5BC0AB 00297000
- LCTL C0,C0,SAVEWRK9 LOAD C0 WITH ONLY MFA BIT ON @V5BC0AB 00298000
- LA R5,100 SENSE BUSY LOOP CONTROL COUNTER @V5BC0AB 00299000
- SENSLOOP DS 0H @V5BC0AB 00300000
- SIGP R1,R2,SIGSENSE SIGP SENSE FOR COMPLETION OF SIGP IPR X00301000
- @V5BC0AB 00302000
- BC 8,DOONLINE CC0 IPR COMPLETE @V5BC0AB 00303000
- BC 4,CKSTATUS CC1 STATUS STORED, GO CHECK IT @V5BC0AB 00304000
- BC 1,CPU191ER CC3 NOT OPERATIONAL @V5BC0AB 00305000
- BCT R5,SENSLOOP LOOP ON BUSY FOR 100 TIMES(CC2) @V5BC0AB 00306000
- * 00307000
- STOSM SAVEWRK2,EXTMASK ENABLE FOR EXTERNAL INTERRUPTS @V5BC0AB 00308000
- STNSM SAVEWRK2,FF-EXTMASK DISABLE FOR EXTERNAL INTERRUPTS X00309000
- @V5BC0AB 00310000
- BCT R14,ADDROK1 ENABLE FOR MFA 10 TIMES (1/100 SENSE) X00311000
- @V5BC0AB 00312000
- LCTL C0,C0,CPCREG0 LOAD ORIGINAL CONTROL REG 0 @V5BC0AB 00313000
- B ERCPU192 ISSUE ERROR MESSAGE @V5BC0AB 00314000
- CKSTATUS DS 0H @V5BC0AB 00315000
- C R1,STOPPED @V5BC0AB 00316000
- BE DOONLINE @V5BC0AB 00317000
- LCTL C0,C0,CPCREG0 LOAD ORIGINAL CONTROL REG 0 @V5BC0AB 00318000
- B ERCPU192 ISSUE ERROR MESSAGE @V5BC0AB 00319000
- SPACE 00320000
- * THE FOLLOWING CODE WILL LOCATE THE CONTIGUOUS PAGE AND SWAP * 00321000
- * TABLES FOR EACH SHARED SEGMENT AND UPDATE THE PAGTOT FIELD * 00322000
- * OF THE OFFLINE PROCESSOR'S SET TO THE VALUE OF THE PAGTOT * 00323000
- * FIELD OF THE ONLINE PROCESSOR'S SET. * 00324000
- SPACE 00325000
- DOONLINE DS 0H @V5BC0AB 00326000
- LCTL C0,C0,CPCREG0 LOAD ORIGINAL CONTROL REG 0 @V5BC0AB 00327000
- SPACE 00328000
- L R4,=A(DMKVMAS1) ADDRESS OF SHRTABLE ANCHOR @V5BC0AB 00331000
- L R5,0(,R4) ADDRESS OF FIRST SHRTABLE @V5BC0AB 00332000
- SHRTSCAN DS 0H @V5BC0AB 00333000
- CR R5,R4 END OF CHAIN? @V5BC0AB 00334000
- BE GETBLOCK YES, GET AP CONTROL BLOCKS @V5BC0AB 00335000
- SPACE 00336000
- USING SHRTABLE,R5 @V5BC0AB 00337000
- TM SHRFLAG,SHRNOPRT IS NAMED SYSTEM UNPROTECTED? @VMI0032 00338000
- BNO PROTECTD NO, BRANCH @VMI0032 00339000
- L R5,SHRFPNT GET ADDRESS OF NEXT SHRTABLE @VMI0032 00340000
- LA R5,0(,R5) ERASE SHRFLAG VALUE @VMI0085 00341000
- B SHRTSCAN CHECK ALL OF THE SHARE TABLES @VMI0032 00342000
- PROTECTD DS 0H @VMI0032 00343000
- SPACE 00344000
- L R3,SHRSEGCT GET NUMBER OF SHARED SEGMENTS @V5BC0AB 00345000
- LR R14,R3 GET NUMBER OF SHARED SEGMENTS @V5BC0AB 00346000
- LA R8,SHRSEGNM ADDRESS SEGNM FIELD @V5BC0AB 00347000
- * 00348000
- FSHRPAGE DS 0H @V5BC0AB 00349000
- LA R8,4(,R8) GET NEXT POSSIBLE SHRPAGE POINTER X00350000
- @V5BC0AB 00351000
- S R14,F4 SUBTRACT FOUR FROM SHRSEGNM @V5BC0AB 00352000
- * (THERE MAY BE 4 ENTRIES PER WORD) 00353000
- BP FSHRPAGE LOOP UNTIL AT END OF THE VARIABLE X00354000
- @V5BC0AB 00355000
- * SHRSEGNM AREA 00356000
- SPACE 00357000
- USING SHRPAGE,R8 R8 ADDRESS THE BEGINNING OF THE @V5BC0AB 00358000
- * SHRPAGE FIELDS 00359000
- * 00360000
- PAGELOOP DS 0H @V5BC0AB 00361000
- L R7,SHRPAGE LOAD A PAGE TABLE ADDRESS FROM THE X00362000
- @V5BC0AB 00363000
- * SHRTABLE 00364000
- N R7,=A(X'FFFFFE') LEAVE PTO ADDRESS ONLY @V5BC0AB 00365000
- SL R7,F16 BACK UP TO THE HEADER @V5BC0AB 00366000
- TM APSTAT1,PROCIPL RUNNING ON THE MAIN (IPL) PROC? @V60B7AA 00366300
- BO UPDT2ND YES-UPDATE SECOND SET OF TABLES @V60B7AA 00366600
- LH R2,PAGBMP+PAGTOT-PAGTABLE(R7) GET TOTAL SEGMENT @V60B7AA 00366900
- * USE COUNT FROM ONLINE PROC'S PGTABLE 00367200
- STH R2,PAGTOT-PAGTABLE(R7) UPDATE THE COUNT IN THE @V60B7AA 00367500
- * IPL PROC'S PAGETABLE 00367800
- B NXTSHRPG GET NEXT SHRPAGE ENTRY @V60B7AA 00368100
- UPDT2ND LH R2,PAGTOT-PAGTABLE(R7) GET TOTAL SEGT USE COUNT @V60B7AA 00368400
- STH R2,PAGBMP+PAGTOT-PAGTABLE(R7) UPDATE THE SECOND @V5BC0AB 00369000
- * PAGE TABLE SEGMENT USE COUNT 00370000
- NXTSHRPG DS 0H @V60B7AA 00370500
- LA R8,4(,R8) ADDRESS OF NEXT SHRPAGE ENTRY @VA09441 00371100
- BCT R3,PAGELOOP DO NEXT SHRPAGE ENTRY, IF THERE IS ONE X00373000
- @V5BC0AB 00374000
- L R5,SHRFPNT GET ADDRESS OF NEXT SHRTABLE @V5BC0AB 00375000
- B SHRTSCAN DO ALL OF THE SHARE TABLES @V5BC0AB 00376000
- DROP R5 @V5BC0AB 00377000
- SPACE 00378000
- DROP R8 @V5BC0AB 00379000
- SPACE 00380000
- * END OF SHARED SEGMENT PAGTOT UPDATING * 00381000
- SPACE 00382000
- SPACE 00383000
- GETBLOCK DS 0H @V5BC0AB 00384000
- SPACE 00385000
- * OBTAIN THE PREFIX STORAGE AREAS 00386000
- SR R2,R2 SET UP TO CALL DMKPTRFR FOR A PAGE X00387000
- @V5BC0AB 00388000
- * OF STORAGE 00389000
- CALL DMKPTRFR OBTAIN STORAGE @V5BC0AB 00390000
- LA R8,SAVEWRK8 ADDRESS TO STORE PSA ADDRESSES @VA09386 00391100
- * FOR DUMP ROUTINE 00393000
- SPACE 00394000
- USING CORTABLE,R7 R7 HAS CORTABLE ENTRY ADDRESS OF PAGE X00395000
- @V5BC0AB 00396000
- SPACE 00397000
- MVC CORFPNT,ASYSVM INDICATE OWNER IS SYSTEM @V5BC0AB 00398000
- MVI CORFLAG,CORCP INDICATE THIS IS A CP FRAME @V5BC0AB 00399000
- SL R7,ACORETBL FORM THE @V5BC0AB 00400000
- SLL R7,8 PAGE ADDRESS @V5BC0AB 00401000
- ST R7,0(,R8) SAVE PSA ADDRESS FOR THE MAIN PROCESSOR X00402000
- @V5BC0AB 00403000
- L R15,=A(DMKMCTPF) ADDRESS OF PSA PAGE ADDRESS @VA12934 00404000
- L R7,0(R15) ADDRESS OF PSA PAGE OF A PREVIOUS@VA12934 00404080
- * FAILING PROCESSOR 00404160
- LTR R7,R7 IS THERE A PSA PAGE ALREADY FOR @VA12934 00404240
- * THE OTHER PROCESSOR? 00404320
- BZ OBTPSA NO -- OBTAIN A NEW PAGE FOR PSA @VA12934 00404400
- ST R7,4(,R8) YES -- A PSA PAGE EXISTS FROM THE@VA12934 00404480
- * LAST TIME THE PROCESSOR WAS ONLINE. 00404560
- * REUSE THE SAME PAGE FOR THE PSA. 00404640
- XC 0(4,R15),0(R15) ZERO THE PSA PAGE ADDRESS @VA12934 00404720
- B GETCPEX @VA12934 00404800
- OBTPSA SR R2,R2 @VA12934 00404880
- CALL DMKPTRFR OBTAIN STORAGE @V5BC0AB 00405000
- MVC CORFPNT,ASYSVM INDICATE SYSTEM IS OWNER @V5BC0AB 00406000
- MVI CORFLAG,CORCP INDICATE THIS IS A CP FRAME @V5BC0AB 00407000
- SL R7,ACORETBL FORM THE @V5BC0AB 00408000
- SLL R7,8 PAGE ADDRESS @V5BC0AB 00409000
- ST R7,4(,R8) SAVE PSA ADDRESS FOR THE AP @V5BC0AB 00410000
- SPACE 00411000
- DROP R7 @V5BC0AB 00412000
- SPACE 00413000
- * GET CPEXBLOK FOR THE SWITCH MACRO 00414000
- GETCPEX LA R0,CPEXSIZE GET LENGTH IN DOUBLE WORDS @VA12934 00415000
- CALL DMKFREE OBTAIN STORAGE @V5BC0AB 00416000
- ST R1,PSACPXBP SAVE ADDRESS IN ABSOLUTE 0 PSA @V5BC0AB 00417000
- * GET STORAGE FOR DMKFREE USE DURING EXTEND PROCESSING WHEN THE 00418000
- * THE SYSTEM LOCK IS NOT AVAILABLE 00419000
- L R10,CPUFREAP GET ADDRESS OF BACK POCKET POINTER X00420000
- @V5BC0AB 00421000
- SR R0,R0 CLEAR INPUT REGISTER @V5BC0AB 00422000
- IC R0,0(R10) GET NUMBER OF DOUBLE WORDS @V5BC0AB 00423000
- CALL DMKFREE OBTAIN STORAGE @V5BC0AB 00424000
- STCM R1,B'0111',1(R10) SAVE ADDRESS OF DMKFREE BACK POCKET X00425000
- @V5BC0AB 00426000
- LA R0,CPEXSIZE MUST GET CPEXBLOK TOO @VA12596 00426100
- CALL DMKFREE @VA12596 00426300
- ST R1,4(,R10) PUT CPEX POINTER IN DMKFREAP @VA13499 00426600
- * 00427000
- * 00428000
- SPACE 00429000
- SR R15,R15 CLEAR R15 @V5BC0AB 00430000
- ICM R15,B'0011',SAVER1+2 GET THE PROCESSOR ADDRESS @V5BC0AB 00431000
- STH R15,IPUADDRX SAVE IT IN ABSOLUTE 0 PSA @V5BC0AB 00432000
- STH R15,LPUADDRX @V5BC0AB 00433000
- OI LPUADDRX+1,LOGICADR MAKE IT A LOGICAL ADDRESS @V5BC0AB 00434000
- SLR R1,R1 CLEAR REGISTER 1 @VA12934 00434100
- L R15,=A(DMKLOKDS) ADDRESS OF DSP QUEUES LOCK @VA12934 00434200
- ST R1,0(,R15) ENSURE THE LOCKWORD IS CLEAR @VA12934 00434300
- L R15,=A(DMKLOKTR) ADDRESS OF TRQ LOCK @VA12934 00434400
- ST R1,0(,R15) ENSURE THE LOCKWORD IS CLEAR @VA12934 00434500
- L R15,=A(DMKLOKRL) ADDRESS OF RUN LIST LOCK @VA12934 00434600
- ST R1,0(,R15) ENSURE THE LOCKWORD IS CLEAR @VA12934 00434700
- L R15,=A(DMKLOKFR) ADDRESS OF FREE STORAGE LOCK @VA12934 00434800
- ST R1,0(,R15) ENSURE THE LOCKWORD IS CLEAR @VA12934 00434900
- L R15,=A(DMKLOKSY) ADDRESS OF GLOBAL SYSTEM LOCK @VA12934 00435000
- ST R1,0(,R15) ENSURE THE LOCKWORD IS CLEAR @VA12934 00435100
- * PAGE IN AND LOCK DMKCLKCK BEFORE APUOPER GETS TURNED ON 00435200
- L R1,=A(DMKCLKCK) ADDRESS OF DMKCLKCK ROUTINE @VA12934 00435300
- TRANS 2,1,OPT=(BRING+DEFER+SYSTEM+LOCK) @VA12934 00435400
- ST R2,SAVECLK SAVE REAL ADDRESS OF DMKCLK @VA12934 00435500
- LA R1,SAVEWRK8 POINTER TO PSA ADDRESSES @VA09386 00437100
- CALL DMKAPIPR SET UP FOR THE ATTACHED PROCESS. @V5BC0AB 00438000
- L R15,PREFIXB ADDRESS ATTACHED PROC'S PSA @VMH0001 00439000
- LM R0,R1,WAITSAV8 LOAD INITIAL PAGE WAIT TIME @VMH0012 00440000
- STM R0,R1,PGWAITIM-PSA(R15) SET ATTACHED PG WT TIME @VMH0012 00441000
- SLR R0,R0 ZERO REGISTER ZERO @VMH0012 00442000
- ST R0,PWTPAGES-PSA(R15) SET PAGE WAIT COUNT TO 0 @VMH0012 00443000
- LA R1,1 GET INCREMENT OF 1 @VA11576 00443005
- AL R1,SHRLKCNT-PSA(R15) ADD 1 TO CPSHRLK COUNT @VA11576 00443010
- ST R1,SHRLKCNT-PSA(R15) STORE UPDATED COUNT @VA11576 00443015
- OI CPSTAT2-PSA(R15),CPSHRLK FREEZE THE SYSTEM @VA11576 00443020
- SPACE 00444000
- CALL DMKCLKCK SYNCHRONIZE THE CLOCKS @V5BC0AB 00445000
- L R2,SAVECLK RETRIEVE REAL ADDRESS OF DMKCLK @VA12934 00445030
- CALL DMKPTRUL UNLOCK DMKCLK PAGE @VA12934 00445060
- L R15,PREFIXB GET AP PSA @VA11576 00445100
- L R1,SHRLKCNT-PSA(,R15) GET CURRENT SHRLK COUNT @VA11576 00445200
- BCTR R1,0 DECREMENT COUNT BY 0NE @VA11576 00445300
- ST R1,SHRLKCNT-PSA(,R15) STORE UPDATED COUNT @VA11576 00445400
- LTR R1,R1 TEST IF COUNT NOW 0 @VA11576 00445500
- BNZ WAKEAP NO,SKIP RESET OF CPSHRLK @VA11576 00445600
- NI CPSTAT2-PSA(R15),X'FF'-CPSHRLK RESET CPSHRLK @VA11576 00445700
- WAKEAP DS 0H @VA11576 00445800
- SPACE 00446000
- SIGNAL WAKEUP WAKE UP THE ATTACHED PROCESSOR @V5BC0AB 00447000
- SPACE 00448000
- L R1,ASYSVM GET SYSTEM VMBLOK ADDRESS @VMH0038 00449000
- L R1,VMPNT-VMBLOK(,R1) 1ST VMBLOK ADDR IN CHAIN @VMH0038 00450000
- LR R10,R1 SAVE ENDING ADDRESS @VMH0038 00451000
- MVC SAVER1(4),ZEROES ZERO THE CALLER'S REGISTER ONE @V5BC0AB 00452000
- MVC CPUID193(2),SAVEWRK1+2 PROCESSOR ADDRESS @VA09324 00452100
- ONLMSGLP DS 0H @V5BC0AB 00453000
- * R11 CONTAINS THE LOCKED VMBLOK. THE FIRST TIME THROUGH THIS 00454000
- * LOOP, R11 IS THE ONE ON ENTRY TO DMKCPU. 00455000
- SWTCHVM UNLOCK THE THE VMBLOK ADDRESSED @VMH0038 00456000
- * BY R11 AND LOCK THE ONE TO RECEIVE THE 00457000
- * ONLINE MESSAGE (R1) 00458000
- LA R0,CPU193LN GET ONLINE MESSAGE LENGTH @VMH0038 00459000
- LA R1,CPU193MG GET ONLINE MESSAGE ADDRESS @VMH0038 00460000
- CALL DMKQCNWT,PARM=NORET ISSUE MESSAGE @V5BC0AB 00461000
- L R1,VMPNT GET ADDRESS OF NEXT VMBLOK @VMH0038 00462000
- CR R10,R1 END OF CHAIN? @VMH0038 00463000
- BNE ONLMSGLP NO, SEND MESSAGE TO ALL USERS @V5BC0AB 00464000
- NI APSTAT4,FF-POFFLINE VARY PROCESS IS NOT ACTIVE @V5BC0AB 00465000
- L R15,PREFIXB ADDRESS THE OTHER PROC'S PSA @V5BC0AB 00466000
- NI APSTAT4-PSA(R15),FF-POFFLINE SET POFFLINE TO ZERO X00467000
- @V5BC0AB 00468000
- L R1,SAVER11 GET ORIGINAL VMBLOK ADDRESS @VMH0038 00469000
- SWTCHVM LOCK THE COMMAND ISSUER'S VMBLOK @VMH0038 00470000
- EXIT 00471000
- SPACE 00472000
- ONCPU193 DS 0H @V5BC0AB 00473000
- MVC CPUID193(2),SAVEWRK1+2 GET PROCESSOR ADDRESS @V5BC0AB 00474000
- LA R0,CPU193LN GET ONLINE MSG LENGTH @V5BC0AB 00475000
- LA R1,CPU193MG GET ONLINE MSG ADDRESS @V5BC0AB 00476000
- MVC SAVER1(4),ZEROES ZERO THE CALLERS REGISTER 1 @V5BC0AB 00477000
- SPACE 00478000
- ISSUEMSG DS 0H @V5BC0AB 00479000
- CALL DMKQCNWT,PARM=NORET ISSUE MESSAGE @V5BC0AB 00480000
- NI APSTAT4,FF-POFFLINE SET OFF VARY PROCESS FLAG @VMV0008 00480250
- L R15,PREFIXB GET ADDRESS OF OTHER PSA @VMV0008 00480500
- NI APSTAT4-PSA(R15),FF-POFFLINE SET OFF VARY FLAG @VMV0008 00480750
- EXIT 00481000
- EJECT 00482000
- DMKCPUOF DS 0H @V5BC0AB 00483000
- LH R15,SAVER1+2 GET PROCESSOR ADDRESS IN COMMAND @V60B7AB 00484000
- CH R15,IPUADDR SAME AS THIS PROCESSOR? @V60B7AB 00485000
- BNE DMKCPUOG NO, BRANCH @VA12934 00486000
- LA R0,CPEXSIZE GET SIZE OF A CPEXBLOK @VA12934 00487000
- CALL DMKFREE OBTAIN STORAGE @VA12934 00488000
- USING CPEXBLOK,R1 @VA12934 00489000
- STM R0,R15,CPEXREGS SAVE REGISTERS @VA12934 00490000
- LA R15,DMKCPUOG ADDRESS OF RETURN POINT @VA12934 00491000
- ST R15,CPEXADD STORE RETURN ADDRESS IN CPEXBLOK @VA12934 00492000
- DROP R1 @VA12934 00493000
- CALL DMKSTKOP STACK REQUEST FOR OTHER PROCESSOR@VA12934 00494000
- GOTO DMKDSPCH GO TO THE DISPATCHER @VA12934 00495000
- SPACE 1 00496000
- DMKCPUOG DS 0H @VA12934 00497000
- * MUST PAGE IN AND LOCK DMKCPP BEFORE STOPPING OTHER PROCESSOR 00498000
- L R1,=A(DMKCPPUP) ADDRESS TO LOCK @VA12934 00499000
- TRANS 2,1,OPT=(BRING,DEFER,SYSTEM,LOCK),AFFINITY @VA12934 00500000
- ST R2,SAVECPP SAVE ADDRESS OF DMKCPP @VA12934 00501000
- SIGQUIES EQU * @VA12934 00502000
- SIGNAL QUIESCE @VA12934 00503000
- SIGNAL STOP @VA12934 00504000
- L R14,CPUEXTST ADDRESS OF FIELD CONTAINING THE @VA12934 00505000
- * LOGICAL ADDRESS OF STOPPED PROC. 00506000
- LH R15,LPUADDRX LOGICAL ADDRESS OF OTHER PROC. @VA12934 00507000
- STH R15,0(,R14) STORE LPUADDRX IN DMKEXTST @VA12934 00508000
- SPACE 00509000
- CALL DMKCPPUP REVERT TO UNIPROCESSOR MODE @VA12934 00510000
- SPACE 00521000
- LR R7,R1 SAVE RETURN CODE FROM DMKCPP @VA12934 00521100
- L R2,SAVECPP GET ADDRESS OF DMKCPP @VA12934 00521200
- CALL DMKPTRUL UNLOCK DMKCPP @VA12934 00521300
- LTR R1,R7 WAS DMKCPP SUCCESSFUL? @VA12934 00521400
- BNZ ERCPU192 NO, ERROR MESSAGE @VA12934 00521500
- CPUEXIT DS 0H @V5BC0AB 00522000
- * CHECK AFFINITY SETTINGS 00523000
- SLR R7,R7 CLEAR REGSITER 7 @VMH0033 00524000
- L R11,ASYSVM START GOING DOWN CHAIN OF VMBLOKS X00525000
- @V5BC0AB 00526000
- L R11,VMPNT GET FIRST VMBLOK IN CYCLIC CHAIN @V5BC0AB 00527000
- LR R10,R11 SAVE ENDING ADDRESS @V5BC0AB 00528000
- MVC CPUID194(2),SAVEWRK1+2 GET PROCESSOR ADDRESS @V5BC0AB 00529000
- CPUEXIT2 DS 0H @V5BC0AB 00530000
- LA R0,CPU194LN GET LENGTH OF OFFLINE MESSAGE @V5BC0AB 00531000
- LA R1,CPU194MG GET ADDRESS OF OFFLINE MESSAGE @V5BC0AB 00532000
- CALL DMKQCNWT,PARM=NORET ISSUE OFFLINE MESSAGE @VMH0033 00533000
- LTR R7,R7 HAS A BLOCK BEEN STACKED FOR DMKMCTAF? @VMH0033 00534000
- BNZ CHKALLVM YES, BRANCH @VMH0033 00535000
- TM VMAFF,VMAFFON AFFINITY SET? @V5BC0AB 00536000
- BZ CHKALLVM NO, BRANCH @V5BC0AB 00537000
- SR R1,R1 CLEAR REGISTER 1 @V5BC0AB 00538000
- IC R1,VMAFF GET AFFINITY BYTE @V5BC0AB 00539000
- N R1,=A(X'3F') LEAVE ONLY PROCESSOR ADDRESS @V5BC0AB 00540000
- CH R1,IPUADDR AFFINITY SET TO THIS PROCESSOR? @V5BC0AB 00541000
- BE CHKALLVM YES, BRANCH @V5BC0AB 00542000
- LA R7,1 INDICATE THAT DMKMCTAF HAS BEEN SCHEDULED @VMH0033 00543000
- LA R0,CPEXSIZE GET SIZE OF A CPEXBLOK @VMH0033 00544000
- CALL DMKFREE GET STORAGE FOR BLOCK @VMH0033 00545000
- SPACE 00546000
- USING CPEXBLOK,R1 @VMH0033 00547000
- SPACE 00548000
- SLR R15,R15 CLEAR REGISTER 15 @VMH0033 00549000
- LH R15,SAVEWRK1+2 GET PROCESSOR ADDRESS @VMH0033 00550000
- ST R15,CPEXR1 SAVE PROCESSOR ADDRESS IN R1 @VMH0033 00551000
- L R15,CPUMCTAF GET ADDRESS OF DMKMCTAF @VMH0033 00552000
- ST R11,CPEXR11 SAVE VMBLOK ADDRESS @VMH0037 00553000
- ST R15,CPEXR12 SAVE ENTRY ADDRESS @VMH0033 00554000
- ST R15,CPEXADD SAVE RETURN ADDRESS IN CPEXBLOK @VMH0033 00555000
- SPACE 00556000
- DROP R1 00557000
- SPACE 00558000
- CALL DMKSTKCP GO STACK THE CPEXBLOK @VA09324 00559000
- CHKALLVM DS 0H @V5BC0AB 00560000
- L R11,VMPNT GET ADDRESS OF NEXT VMBLOK @V5BC0AB 00561000
- CLR R11,R10 END OF CHAIN? @V5BC0AB 00562000
- BNE CPUEXIT2 NO, LOOP THRU ALL VMBLOKS @V5BC0AB 00563000
- MVC SAVER1(4),ZEROES CLEAR THE CALLER'S REGISTER 1 @V5BC0AB 00564000
- NI APSTAT4,FF-POFFLINE VARY PROCESS IS NOT ACTIVE @V5BC0AB 00565000
- EXIT 00566000
- * 00567000
- * 00568000
- EJECT 00569000
- * DECLARES * 01249000
- MSG044 EQU 44 @V5BC0AB 01250000
- LOGICADR EQU X'40' @V5BC0AB 01256000
- DS 0D @V5BC0AB 01257000
- FF EQU X'FF' @V5BC0AB 01258000
- STOPPED DC X'00000040' PROCESSOR IN STOPPPED STATE @V5BC0AB 01259000
- HEX3F DC X'0000003F' @V5BC0AB 01262000
- DS 0F @V5BC0AB 01263000
- CPUDSPRQ DC A(DMKDSPRQ) DISPATCHER QUEUE ANCHORS @VA09324 01263100
- CPUMCTAF DC A(DMKMCTAF) ADDRESS OF DMKMCTAF ROUTINE @VA12934 01263150
- CPUEXTST DC A(DMKEXTST) ADDR OF FIELD CONTAINING THE @VA10010 01263200
- * LOGICAL 01263300
- * ADDR OF STOPPED PROCESSOR 01263400
- DS 0D @V60B7AB 01265300
- CPWAIT16 DC X'0002000000000016' CONCS OR DISCS FAILED @V60B7AB 01265600
- CPUFREAP DC A(DMKFREAP) POINTER TO FREE STORAGE FOR DMKFRE X01268000
- @V5BC0AB 01269000
- * THE FOLLOWING 8 BYTES MUST REMAIN CONTIGUOUS 01280000
- WAITSAV8 DC X'7FFFFFFF' WAITSAVE VALUE FOR THE ATTACHED @VMH0012 01281000
- DC X'FFFFF000' PROCESSOR @VMH0012 01282000
- EXTNBITS DC X'831F' ALL EXTERNAL BITS EXCEPT MFA @V5BC0AB 01283000
- MFAESEXT DC X'0FFF' USED TO DISABLE MALFUNCTION ALERT, @VMH0029 01284000
- * EMERGENCY SIGNAL, EXTERNAL SIGNAL AND TOD CLOCK 01285000
- * SYNC CHECK INTERRUPTS 01286000
- SAVECPP DS F SAVEAREA FOR REAL ADDRESS OF DMKCPP @VA12934 01286300
- SAVECLK DS F SAVEAREA FOR REAL ADDRESS OF DMKCLK @VA12934 01286600
- *************************************************************** 01287000
- * MESSAGES * 01288000
- *************************************************************** 01289000
- CPU21EMG DC X'151515' @V5BC0AB 01290000
- DC C'DMKCPU021E RADDR MISSING OR INVALID ' @VA09324 01291000
- CPUID021 DC C' ' @VA09324 01291100
- DC X'1515' @V5BC0AB 01292000
- CPU21ELN EQU *-CPU21EMG @V5BC0AB 01293000
- * 01294000
- CPU193MG DC X'151515' @V5BC0AB 01295000
- DC C'DMKCPU193I PROCESSOR ' @V5BC0AB 01296000
- CPUID193 DC C' ' @V5BC0AB 01297000
- DC C' ONLINE' @V5BC0AB 01298000
- DC X'1515' @V5BC0AB 01299000
- CPU193LN EQU *-CPU193MG @V5BC0AB 01300000
- * 01301000
- CPU192MG DC X'151515' @V5BC0AB 01302000
- DC C'DMKCPU192E VARY PROCESSOR COMMAND FAILED' @V5BC0AB 01303000
- DC X'1515' @V5BC0AB 01304000
- CPU192LN EQU *-CPU192MG @V5BC0AB 01305000
- * 01306000
- CPU191MG DC X'151515' @V5BC0AB 01307000
- DC C'DMKCPU191E PROCESSOR ' @V5BC0AB 01308000
- CPUID191 DC C' ' @V5BC0AB 01309000
- DC C' DOES NOT EXIST' @V5BC0AB 01310000
- DC X'1515' @V5BC0AB 01311000
- CPU191LN EQU *-CPU191MG @V5BC0AB 01312000
- * 01313000
- CPU194MG DC X'151515' @V5BC0AB 01314000
- DC C'DMKCPU194I PROCESSOR ' @V5BC0AB 01315000
- CPUID194 DC C' ' @V5BC0AB 01316000
- DC C' OFFLINE' @V5BC0AB 01317000
- DC X'1515' @V5BC0AB 01318000
- CPU194LN EQU *-CPU194MG @V5BC0AB 01319000
- * 01320000
- LTORG 01321000
- EJECT 01322000
- COPY SHRTABLE 01323000
- COPY SYSTBL 01324000
- PSA 01325000
- COPY CORE 01326000
- COPY DEVTYPES 01327000
- COPY RBLOKS 01328000
- COPY VBLOKS 01329000
- COPY ALLOC 01330000
- COPY EQU 01331000
- COPY SAVE 01332000
- COPY VMBLOK 01333000
- COPY TIMER 01334000
- COPY MCHAREA 01335000
- END 01336000
ibm/vm370-lib/cp/dmkcpu.assemble_src.txt ยท Last modified: 2023/08/06 13:36 by Site Administrator