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