VEC TITLE 'DMTVEC (RSCS) VM/370 - RELEASE 6' 00001000 *. 00002000 * MODULE NAME - 00003000 * 00004000 * DMTVEC 00005000 * 00006000 * FUNCTION - 00007000 * 00008000 * THE DMTVEC MODULE DESCRIBES THE FIXED ADDRESS 00009000 * STORAGE UTILIZATION FOR MSUP, BEGINNING AT MAIN 00010000 * STORAGE ADDRESS X'200'. STORAGE UTILIZATION OF THE 00011000 * FIRST 512 BYTES OF MAIN STORAGE IS DEFINED BY 00012000 * S/370 ARCHITECTURE, AND IS USED BY MSUP 00013000 * EXCLUSIVELY FOR THE PURPOSES SO DEFINED. THIS AREA 00014000 * IS NOT INCLUDED IN THE DMTVEC MODULE TO 00015000 * FACILITATE INITIAL SYSTEM LOADING (THE CONTENTS OF 00016000 * THE MACHINE DEFINED LOW ADDRESS STORAGE ARE 00017000 * INITIALIZED BY DMTINI AT IPL TIME). 00018000 * 00019000 * ATTRIBUTES - 00020000 * 00021000 * THERE IS NO EXECUTABLE CODE IN THIS MODULE 00022000 * 00023000 * 00024000 * EXTERNAL REFERENCES - 00025000 * 00026000 * DMTMAPMS - ADDR OF START OF MAIN (VIRTUAL) STORAGE MAP 00027000 * DMTMAPQU - ADDR OF START OF SUPERVISOR QUEUE 00028000 * DMTMAPQE - ADDR OF END OF SUPERVISOR QUEUE 00029000 * 00030000 * DMTQRQ - ADDR OF SUP QUEUE MANAGER REQUEST ENTRY 00031000 * DMTDSP - ADDR OF DISPATCHER ENTRY 00032000 * 00033000 * DMTWAT - ADDR OF WAIT REQUEST ENTRY 00034000 * DMTPST - ADDR OF POST REQUEST ENTRY 00035000 * DMTIOMRQ - ADDR OF I/O REQUEST ENTRY 00036000 * DMTASK - ADDR OF TASK SERVICE REQUEST ENTRY 00037000 * DMTSTO - ADDR OF MAIN STORAGE REQUEST ENTRY 00038000 * DMTASY - ADDR OF ASYNCH SERVICE REQUEST ENTRY 00039000 * DMTSIG - ADDR OF ALERT SERVICE REQUEST ENTRY 00040000 * DMTGIV - ADDR OF GIVE SERVICE REQUEST ENTRY 00041000 * DMTAKE - ADDR OF TAKE SERVICE REQUEST ENTRY 00042000 * 00043000 * 00044000 * TABLES / WORKAREAS - 00045000 * 00046000 * NONE 00047000 * 00048000 * NOTES - 00049000 * 00050000 * THE EXTERNAL ADDRESSES LISTED ABOVE ARE CONTAINED IN 00051000 * VCONS WHICH ARE AT FIXED LOW STORAGE LOCATIONS, AND WHICH 00052000 * ARE LOADED BY ALL PARTS OF THE SYSTEM FOR SUPERVISOR 00053000 * LINKAGE. 00054000 * 00055000 * OPERATION - 00056000 * 00057000 * 00058000 * STARTING AT MAIN STORAGE ADDRESS X'200', DMTVEC 00059000 * DEFINES: 00060000 * 1. FIELDS FOR USE BY THE MSUP EXECUTION 00061000 * CONTROL SYSTEM, INCLUDING A DISPATCHEE NEW 00062000 * PSW FIELD, A TWO FULLWORD SAVE AREA, A 00063000 * ONE-BYTE ID OF THE LAST DISPATCHED TASK, AND 00064000 * A THREE-BYTE ADDRESS OF THE TASK ELEMENT FOR 00065000 * THAT TASK; 00066000 * 00067000 * 2. A FULLWORD ADDRESS OF THE MAIN STORAGE 00068000 * MAP, AND A FULLWORD COUNT OF TOTAL PAGES IN 00069000 * MAIN STORAGE (CONTIGUOUS, STARTING WITH PAGE 00070000 * 0); 00071000 * 00072000 * 3. TEN FULLWORD ADDRESSES DESCRIBING THE 00073000 * SUPERVISOR STATUS QUEUE CONFIGURATION; 00074000 * 00075000 * 4. ELEVEN FULLWORD ADDRESSES OF ENTRY POINTS 00076000 * FOR THE VARIOUS SUPERVISOR SERVICE ROUTINES; 00077000 * 00078000 * 5. EIGHT FULLWORDS (INITIALIZED TO 0) FOR USE 00079000 * AT THE TASK PROGRAMMING LEVEL. 00080000 * 00081000 *. 00082000 EJECT 00083000 PUNCH 'SLC 000200' 00084000 SPACE 00085000 DMTVEC CSECT 00086000 SPACE 00087000 * LOADING TO BEGIN AT X'200' TO LEAVE ROOM FOR MACHINE 00088000 * EXTENSIONS AND PACIFY THE LOADER ... 00089000 SPACE 00090000 NEWPSW DC D'0' DISPATCHED PSW FOR LAST DISPATCHEE 00091000 SSAVE DC 2F'0' GENERAL PURPOSE LOW CORE SAVE AREA 00092000 ACTIVE DC X'00' ID OF CURRENTLY ACTIVE TASK WHEN RUNNING DISPATCHE 00093000 DC AL3(0) ADDRESS OF TASK ELEMENT FOR LAST DISPATCHEE 00094000 SPACE 00095000 MAINMAP DC V(DMTMAPMS) ADDR OF START OF MAIN CORE ALLOCATION MAP 00096000 MAINSIZE DC F'0' NUMBER OF PAGES IN ALL OF MAIN STORAGE 00097000 QUEUE DC V(DMTMAPQU) ADDR OF START OF SUPERVISOR QUEUE 00098000 QUEUEND DC V(DMTMAPQE) ADDR OF END OF LAST SUP QUEUE ELEMENT 00099000 FREEQ DC A(0) ADDRESS OF START OF FREE ELEMENT QUEUE 00100000 TASKQ DC A(0) ADDRESS OF START OF TASK ELEMENT QUEUE 00101000 MPXIOQ DC A(0) ADDRESS OF START OF MULTIPLEXOR I/O QUEUE 00102000 SELIOQ DC A(0) ADDRESS OF START OF SELECTOR I/O QUEUE 00103000 IOEXITQ DC A(0) ADDRESS OF START OF ASYNCH I/O REQ ELEMENT QUEUE 00104000 EXTQ DC A(0) ADDRESS OF START OF EXTERNAL REQ ELEMENT QUEUE 00105000 ALERTQ DC A(0) ADDRESS OF START OF TASK ASYNCH REQ ELEMENT QUEUE 00106000 GIVEQ DC A(0) ADDRESS OF START OF GIVE REQUEST ELEMENT QUEUE 00107000 SPACE 00108000 QREQ DC V(DMTQRQ) SUP QUEUE ALLOCATION REQUEST ENTRY ADDRESS 00109000 DISPATCH DC V(DMTDSP) TASK DISPATCHER ENTRY ADDRESS 00110000 SPACE 00111000 WAITREQ DC V(DMTWAT) WAIT REQUEST ENTRY ADDRESS 00112000 POSTREQ DC V(DMTPST) POST REQUEST ENTRY ADDRESS 00113000 IOREQ DC V(DMTIOMRQ) I/O REQUEST ENTRY ADDRESS 00114000 TASKREQ DC V(DMTASK) TASK MANAGEMENT REQUEST ENTRY ADDRESS 00115000 MAINREQ DC V(DMTSTO) MAIN ALLOCATION REQUEST ENTRY ADDRESS 00116000 ASYNREQ DC V(DMTASY) ASYNCH INTERRUPT REQUEST ENTRY ADDRESS 00117000 ALERTREQ DC V(DMTSIG) TASK ASYNCH SIGNAL REQUEST ENTRY ADDRESS 00118000 GIVEREQ DC V(DMTGIV) TASK REQUEST SEND REQUEST ENTRY ADDRESS 00119000 TAKEREQ DC V(DMTAKE) TASK REQUEST DELIVER REQUEST ENTRY ADDRESS 00120000 SPACE 00121000 TVECTOR0 DC A(0) TASK DEFINED FIELD 00122000 TVECTOR1 DC A(0) TASK DEFINED FIELD 00123000 TVECTOR2 DC A(0) TASK DEFINED FIELD 00124000 TVECTOR3 DC A(0) TASK DEFINED FIELD 00125000 TVECTOR4 DC A(0) TASK DEFINED FIELD 00126000 TVECTOR5 DC A(0) TASK DEFINED FIELD 00127000 TVECTOR6 DC A(0) TASK DEFINED FIELD 00128000 TVECTOR7 DC A(0) TASK DEFINED FIELD 00129000 END 00130000