Trailing-Edge
-
PDP-10 Archives
-
bb-m080u-sm_t20_v7_0_23_mon_src_mod
-
monitor-sources/stg.mac
There are 95 other files named stg.mac in the archive. Click here to see a list.
; Edit= 9115 to STG.MAC on 18-Jul-89 by GSCOTT
;Merge a fair number of TCP/IP bug fixes and performance enhancements from
;Stanford and the SRI-NIC.
; Edit= 9088 to STG.MAC on 8-Apr-89 by GSCOTT
;Add GETOK function .GOGTD for GTDIR% and .GOSTD for STAD%.
; Edit= 9085 to STG.MAC on 6-Apr-89 by GSCOTT
;Prevent ILPAGN and other problems with 16. page dump mode magtape I/O.
; Edit= 9075 to STG.MAC on 1-Mar-89 by RASPUZZI
;Make dummy CTMLOK for ATACH% when no CTHSRV is loaded in the monitor build.
; Edit= 9069 to STG.MAC on 16-Feb-89 by WONG (TCO none)
;Increase NHOSTS again.
; Edit= 9058 to STG.MAC on 12-Jan-89 by GSCOTT
;Add SMON function .SFBUG to set SAVTRE. Reverse sense of SMON function
;.SFHDT. ITRAP on errors in SMON function .SFDCD.
; Edit= 9054 to STG.MAC on 10-Jan-89 by GSCOTT
;Search SYSTEM:PASSWORD.DICTIONARY when setting passwords to help prevent
;users from setting easily guessed passwords.
; Edit= 9041 to STG.MAC on 13-Dec-88 by RASPUZZI
;Finish off some of the security features that were started at one time (like
;password expiration). Also, add new features to help a system manager secure
;the system.
; Edit= 9036 to STG.MAC on 15-Nov-88 by RASPUZZI
;Make sure that the system's name gets sent over during PHYKLP START/STACK/ACK
;sequence. Also, when the NODE% JSYS changes the name, have the local system
;notify remote systems. Finally, make CLUDGR send over the node name in the
;last 2 words of the optional connection data. I'm out of breath.
; Edit= 9033 to STG.MAC on 9-Nov-88 by RASPUZZI, for SPR #22041
;Increase size of extended terminal freespace pool.
; Edit= 8992 to STG.MAC on 2-Nov-88 by LOMARTIRE
;Merge Production changes to BUG text
; Edit= 8985 to STG.MAC on 27-Oct-88 by RASPUZZI
;Prevent someone from setting NHOSTS to something ludicrous.
; Edit= 8939 to STG.MAC on 25-Aug-88 by GSCOTT
;Update BUG. documentation.
; Edit= 8854 to STG.MAC on 16-Jun-88 by RASPUZZI, for SPR #21925
;Redo IPABFL BUGCHK logic. Make TOPS-20 timeout the last time a buffer was
;returned or assigned. Don't BUGCHK (IPABTO) for 5 minutes now and only do it
;every 5 minutes.
; Edit= 8853 to STG.MAC on 14-Jun-88 by RASPUZZI
;Make NODE% call PARNDU in the right section when building a non-DECnet
;monitor.
; Edit= 8851 to STG.MAC on 1-Jun-88 by RASPUZZI
;Always define ETHADR and have PHYKNI set it up at the right time.
; Edit= 8842 to STG.MAC on 13-May-88 by RASPUZZI (TCO 7.1287)
;Make DEVCHR resident as it is touched by LATSRV at scheduler level.
; Edit= 8814 to STG.MAC on 29-Mar-88 by RASPUZZI, for SPR #21715
;Increase the extended general pool size.
; Edit= 8807 to STG.MAC on 22-Mar-88 by RASPUZZI
;Increase the extended DECnet free space pool.
; Edit= 8802 to STG.MAC on 17-Mar-88 by RASPUZZI
;Increase the size of NHOSTS again.
; UPD ID= 8682, RIP:<7.MONITOR>STG.MAC.45, 6-Mar-88 23:19:21 by GSCOTT
;TCO 7.1254 - Remove TCO 7.1177, resetting .RESGQ to 1400, as DOB now does not
; use space from .RESGP for its CCWs
; UPD ID= 8679, RIP:<7.MONITOR>STG.MAC.44, 6-Mar-88 19:47:49 by GSCOTT
;TCO 7.1253 - Add DOBFRK for use by MEXEC.
; UPD ID= 8648, RIP:<7.MONITOR>STG.MAC.43, 18-Feb-88 15:33:03 by RASPUZZI
;TCO 7.1231 - Add MINPAS to hold minimum password length.
; UPD ID= 8623, RIP:<7.MONITOR>STG.MAC.42, 11-Feb-88 18:35:40 by GSCOTT
;TCO 7.1218 - Update copyright date.
; UPD ID= 8603, RIP:<7.MONITOR>STG.MAC.41, 11-Feb-88 17:07:42 by RASPUZZI
;TCO 7.1220 - Make global jobs assignable on the fly instead of all at once
; during system startup. Add GBLCNT to keep track of the count
; of global jobs in use on the local system.
; UPD ID= 8602, RIP:<7.MONITOR>STG.MAC.40, 11-Feb-88 17:04:42 by RASPUZZI
;TCO 7.1222 - Decrease JSB free space and SNOOP space for DEBUG=1 monitors
; only.
; UPD ID= 8447, RIP:<7.MONITOR>STG.MAC.39, 4-Feb-88 16:41:11 by GSCOTT
;TCO 7.1210 - Set PWRRES normally not dumpable!
; UPD ID= 8404, RIP:<7.MONITOR>STG.MAC.38, 3-Feb-88 15:23:19 by WADDINGTON
;TCO 7.1207 - Add support for GETOK% to trap the LATOP% jsys
; UPD ID= 8403, RIP:<7.MONITOR>STG.MAC.37, 2-Feb-88 16:03:55 by RASPUZZI
;TCO 7.1208 - Make ALOCx tables resident because they are referenced at
; scheduler time.
; UPD ID= 8398, RIP:<7.MONITOR>STG.MAC.35, 28-Jan-88 15:14:09 by MCCOLLUM
;TCO 7.1023 - Move dummy NODE% JSYS to section XCDSEC.
; UPD ID= 8393, RIP:<7.MONITOR>STG.MAC.34, 27-Jan-88 11:06:22 by GSCOTT
;TCO 7.1200 - Add new loadmodule for JSYSM.
; UPD ID= 8356, RIP:<7.MONITOR>STG.MAC.32, 20-Jan-88 11:40:26 by RASPUZZI
;TCO 7.1190 - CFS is now CFSSRV and CFSUSR. Don't forget to load the new
; module in here.
; UPD ID= 8345, RIP:<7.MONITOR>STG.MAC.31, 15-Jan-88 15:44:16 by LOMARTIRE
;TCO 7.1180 - Remove ENQSPC and ENQMXF - use FSPREM instead.
; UPD ID= 8339, RIP:<7.MONITOR>STG.MAC.29, 14-Jan-88 14:47:03 by MCCOLLUM
;TCO 7.1177 - Increase .RESGQ to 2400 words.
; UPD ID= 8324, RIP:<7.MONITOR>STG.MAC.28, 16-Dec-87 09:30:55 by WADDINGTON
;TCO 7.1164 - Change MINACB and MINACC to MAXACB and MAXACC.
; UPD ID= 8321, RIP:<7.MONITOR>STG.MAC.27, 15-Dec-87 14:29:49 by RASPUZZI
;TCO 7.1162 - Increase BUGPLN for debug monitors only.
; UPD ID= 311, RIP:<7.MONITOR>STG.MAC.26, 24-Nov-87 17:12:32 by MCCOLLUM
;TCO 7.1147 - Change offline structures default to 5 seconds
; UPD ID= 301, RIP:<7.MONITOR>STG.MAC.25, 16-Nov-87 15:14:01 by MCCOLLUM
;TCO 7.1138 - Move EQ%ENA here from ENQPAR
; UPD ID= 276, RIP:<7.MONITOR>STG.MAC.24, 6-Nov-87 23:16:30 by WADDINGTON
;TCO 7.1120 - Add LATXPR - The LAT5.1 protocol handler
; UPD ID= 268, RIP:<7.MONITOR>STG.MAC.23, 6-Nov-87 11:57:08 by GSCOTT
;TCO 7.1117 - Remove DRMJ0R and GETAB tables for disk and drum errors.
; UPD ID= 253, RIP:<7.MONITOR>STG.MAC.22, 4-Nov-87 16:43:42 by MCCOLLUM
;TCO 7.1112 - Add cells LGSFLG and LGSIDX. Add new logical names SERR:,
; SPOOL:, BS:, and TGHA-DATA: to SYNMTB.
; UPD ID= 241, RIP:<7.MONITOR>STG.MAC.21, 4-Nov-87 12:34:48 by LOMARTIRE
;TCO 7.1111 - Make ENQ HSHLEN absolute so that the hash index is valid on
; all 7.0 systems in the cluster. This allows hash index to be
; passed to the remote systems instead of making the system call HASH.
; UPD ID= 231, RIP:<7.MONITOR>STG.MAC.20, 29-Oct-87 15:05:24 by MCCOLLUM
;TCO 7.1098 - Bump NHOSTS to 7001, decimal
; UPD ID= 209, RIP:<7.MONITOR>STG.MAC.19, 23-Oct-87 15:40:35 by GSCOTT
;TCO 7.1081 - Add BUGNAM definition (loc 114) and include new module DOB.
; UPD ID= 199, RIP:<7.MONITOR>STG.MAC.18, 23-Oct-87 12:49:48 by RASPUZZI
;TCO 7.1080 - Increase system PID table (SPIDTB) to make room for NEBULA
; UPD ID= 183, RIP:<7.MONITOR>STG.MAC.17, 21-Oct-87 17:22:25 by RASPUZZI
;TCO 7.1076 - Add CLUDGR status table, host table and CLFORK for its
; fork. Also, add support for GETOK% to trap the INFO%
; jsys. Make STG load CLUDGR and CLUFRK modules too.
; UPD ID= 166, RIP:<7.MONITOR>STG.MAC.16, 19-Oct-87 17:16:18 by LOMARTIRE
;TCO 7.1072 - Add EQFKFL, EQAFRK, EQRFRK, ELBCSH and ENQWRD
; UPD ID= 152, RIP:<7.MONITOR>STG.MAC.15, 13-Oct-87 14:26:32 by RASPUZZI
;TCO 7.1070 - Remove TTYCHK from the secondary clock table as it does
;nothing but waste time these days.
; UPD ID= 136, RIP:<7.MONITOR>STG.MAC.14, 23-Sep-87 15:47:26 by MCCOLLUM
;TCO 7.1063 - Add global word TMRINT. Add SDBTMR word to SDB.
; UPD ID= 103, RIP:<7.MONITOR>STG.MAC.13, 8-Sep-87 17:23:44 by GSCOTT
;TCO 7.1051 - Add new SYSTAT GETAB table entries ACTJOB and WHOJOB.
; UPD ID= 99, RIP:<7.MONITOR>STG.MAC.12, 4-Sep-87 10:30:07 by MCCOLLUM
;TCO 7.1050 - Add new symbol IRSFRA and use it in RES0TB definition
; UPD ID= 86, RIP:<7.MONITOR>STG.MAC.11, 20-Aug-87 14:29:05 by MCCOLLUM
;More of TCO 7.1042 - Move JSSTRT to the end of the JSB
; UPD ID= 83, RIP:<7.MONITOR>STG.MAC.10, 19-Aug-87 16:44:06 by MCCOLLUM
;TCO 7.1042 - Increase STRN to 64. and associated changes
; UPD ID= 55, RIP:<7.MONITOR>STG.MAC.9, 27-Jul-87 16:16:10 by MCCOLLUM
;TCO 7.1024 - Change CTHSPS to CTHOBS
; UPD ID= 43, RIP:<7.MONITOR>STG.MAC.8, 15-Jul-87 14:42:24 by LOMARTIRE
;TCO 7.1021 - Add CLDREQ and CLDWRD for cluster dump facility
; UPD ID= 35, RIP:<7.MONITOR>STG.MAC.7, 9-Jul-87 09:40:09 by RASPUZZI
;TCO 7.1018 - Rip out TCO 7.1016. You can't build a monitor with
;that many SNOOP pages because 0/1 space is getting real sparse.
;Maybe someday I'll move some code out and get some space back but
;that many pages is unlikely.
; UPD ID= 33, RIP:<7.MONITOR>STG.MAC.6, 7-Jul-87 14:17:49 by RASPUZZI
;TCO 7.1016 - Increase number of SNOOP pages so that WATCH and SYSDPY
;can be run at the same time.
; UPD ID= 30, RIP:<7.MONITOR>STG.MAC.4, 29-Jun-87 16:38:14 by RASPUZZI
;TCO 7.1014 - Implement partial recognition (add DRREC to the PSB)
; UPD ID= 12, RIP:<7.MONITOR>STG.MAC.3, 28-May-87 16:12:14 by RASPUZZI
;TCO 7.1002 - Implement PMOVE/M instructions.
; *** Edit 7459 to STG.MAC by MCCOLLUM on 27-Apr-87
; Increase NHOSTS to 5003, decimal.
; *** Edit 7456 to STG.MAC by GSCOTT on 23-Apr-87, for SPR #19597
; Write session records properly when a job is attached, detached, or its
; session remark is changed. Also make sure session start time is correct.
; *** Edit 7454 to STG.MAC by RASPUZZI on 16-Apr-87, for SPR #21586
; Prevent GLFNF BUGHLTs, SUMNR1 BUGCHKs and UNBFNF BUGCHKs.
; Add LLMPSQ. This is the pointer to the head of the LLMOP PSI queue.
; Also, add a new routine to CLK2CL - LLQCHK and its associated timer.
; LLQCHK will be called at scheduler level when a PSI is to be initiated
; for a fork from LLMOP.
; *** Edit 7450 to STG.MAC by PRATT on 16-Apr-87, for SPR #21374
; Fix up ARP table problems and also create a lock for GHT updating.
; *** Edit 7433 to STG.MAC by MCCOLLUM on 2-Apr-87, for SPR #21502
; In SETJSB, map FPG2 to the second page of the other job's JSB.
; *** Edit 7432 to STG.MAC by MCCOLLUM on 1-Apr-87, for SPR #21552
; Rearrange code and define dummy routine XCKNI so building monitors with
; KNIN=0 will work
; *** Edit 7426 to STG.MAC by RASPUZZI on 20-Mar-87
; Remove junk from file so that STG will compile.
; *** Edit 7425 to STG.MAC by EVANS on 12-Mar-87
; Fix edit 7423 - add a table entry.
; *** Edit 7423 to STG.MAC by EVANS on 11-Mar-87
; Add VT300 - dependent monitor edit 7424 and EXEC edit 3055
; *** Edit 7382 to STG.MAC by MCCOLLUM on 15-Oct-86
; Increase the amount of DECnet extended section free space
; *** Edit 7378 to STG.MAC by MCCOLLUM on 8-Oct-86
; Increase NHOSTS and NHSTN again.
; *** Edit 7363 to STG.MAC by RASPUZZI on 12-Sep-86
; If the PMOVE/PMOVEM instructions are available, then use them instead of
; routines MOVRCA and STORCA for more efficiency.
; *** Edit 7357 to STG.MAC by RASPUZZI on 22-Aug-86
; Remove routine GAPRID since the processor serial number is already in APRSER
; and make all CALLs to GAPRID refer to that resident location.
; *** Edit 7344 to STG.MAC by MCCOLLUM on 25-Jul-86
; Increase NHOSTN and NHSTN
; *** Edit 7334 to STG.MAC by RASPUZZI on 15-Jul-86
; Make sure that the 3 second delay is always a penalty for incorrect passwords
; even with BREAKI turned on.
; *** Edit 7324 to STG.MAC by RASPUZZI on 17-Jun-86, for SPR #20058
; Fix the SFTAD% JSYS to work as the documentation says it will. Also, make
; sure that TPRCYC and ARRCYC are properly initialized in STG.
; *** Edit 7271 to STG.MAC by WAGNER on 18-Mar-86, for SPR #21132
; Give HOMPGA its own page seperate from SNPDAT to fix PITRAP and SKDPF1
; Bughlts.
; *** Edit 7259 to STG.MAC by WONG on 14-Mar-86, for SPR #18580
; Add batch info to Usage Session Record.
; *** Edit 7250 to STG.MAC by MELOHN on 3-Mar-86, for SPR #21090
; Move MINACB to STG so that max number of LAT circuits can be customized by
; site
; *** Edit 7247 to STG.MAC by LOMARTIRE on 19-Feb-86
; Implement OFN caching
;Edit 7247 - Add new counters CFACCT and CFACTO; also add OFNGCI and OFNTIM
; And add NOC, NOCH, GCFOFC, GCFOFG, GCFOFN, CFACUT
; *** Edit 7215 to STG.MAC by GRANT on 20-Dec-85, for SPR #20966
; Insure that DDT gets the correct start address for the symbol table
; *** Edit 7211 to STG.MAC by GRANT on 18-Dec-85
; Add CI counters for WATCH
; *** Edit 7204 to STG.MAC by MELOHN on 21-Nov-85 (TCO 6.1.1562)
; Add dummy routine CTHSFM for non-decnet monitors
; *** Edit 7193 to STG.MAC by WONG on 14-Nov-85
; Fix undefined symbol (LPTTIM) when LPTN=0
; *** Edit 7189 to STG.MAC by MCCOLLUM on 12-Nov-85
; Increase .RESUQ from 13000 to 17500
; *** Edit 7184 to STG.MAC by MELOHN on 5-Nov-85 (TCO 6-1-1551)
; Increase NHOSTS factor from 4 to 6
; Edit 7173 to STG.MAC by PALMIERI on 23-Oct-85 (TCO 6.1.1542)
; Move modules NIUSR and LLMOP to an extended section. This required the
; changing of some global routine names in LLMOP; Therefor the changes to
; MEXEC, JSYSA, and FORK.
; Edit 7154 to STG.MAC by GRANT on 15-Oct-85
; Fix bug which prevents monitor from finding all the disks ported to the FE.
;Create FEDSKL and move FEDSKT here from DTESRV.MAC.
; Edit 7132 to STG.MAC by GRANT on 14-Aug-85
; CI microcode version is now 711
; Edit 7124 to STG.MAC by MELOHN on 12-Aug-85 (TCO 6-1-1515)
; Up the terminal pool size by 4*ACTLNS
; UPD ID= 2312, SNARK:<6.1.MONITOR>STG.MAC.510, 12-Aug-85 15:46:57 by MELOHN
;TCO 6.1.1515 - Up the per-terminal size factor used for calculating TTY pool.
; UPD ID= 2303, SNARK:<6.1.MONITOR>STG.MAC.509, 19-Jul-85 16:41:27 by MOSER
;TCO 6.1.1492 - MORE JFNS NO SZCOD
; UPD ID= 2297, SNARK:<6.1.MONITOR>STG.MAC.508, 16-Jul-85 14:21:07 by MELOHN
;TCO 6.1.1485 - set NTTLAH to 0 when LAHFLG is turned off.
; UPD ID= 2289, SNARK:<6.1.MONITOR>STG.MAC.507, 29-Jun-85 22:37:09 by GRANT
;CI microcode is now version 705
; UPD ID= 2271, SNARK:<6.1.MONITOR>STG.MAC.506, 25-Jun-85 10:50:52 by WAGNER
;MORE OF 6.1.1449 - Put code under CHFLG conditional for CTERM host
; UPD ID= 2258, SNARK:<6.1.MONITOR>STG.MAC.505, 21-Jun-85 11:22:52 by WAGNER
;TCO 6.1.1449 - **PERFORMANCE** Prevent CTERM HOST output from hogging system
; UPD ID= 2256, SNARK:<6.1.MONITOR>STG.MAC.504, 21-Jun-85 09:41:25 by PALMIERI
;TCO 6.1.1466 Make OURNAM and OURCNT RSIs and default nodename to TOPS20
; UPD ID= 2253, SNARK:<6.1.MONITOR>STG.MAC.502, 20-Jun-85 13:48:31 by MCCOLLUM
;Add TLABs for CTHBIN, CTHASC, CTHTID.
; UPD ID= 2237, SNARK:<6.1.MONITOR>STG.MAC.501, 19-Jun-85 10:57:14 by GROSSMAN
;TCO 6.1.1461 - Remove RCSIDS. Add LLMFLG and LLMACT.
; UPD ID= 2234, SNARK:<6.1.MONITOR>STG.MAC.500, 18-Jun-85 15:52:15 by LEACHE
;TCO 6.1.1456 Increase allocation for IPCF and ENQ freespace pools
; UPD ID= 2233, SNARK:<6.1.MONITOR>STG.MAC.499, 18-Jun-85 15:38:05 by PALMIERI
;TCO 6.1.1457 Add variable EVSDRP to determine if endnodes enable for
;"all routers" multicast.
; UPD ID= 2221, SNARK:<6.1.MONITOR>STG.MAC.498, 12-Jun-85 17:48:58 by GRANT
;CI microcode is now version 700
; UPD ID= 2208, SNARK:<6.1.MONITOR>STG.MAC.497, 10-Jun-85 10:05:26 by PAETZOLD
;TCO 6.1.1437 - increase the size of the GHT.
; UPD ID= 2117, SNARK:<6.1.MONITOR>STG.MAC.496, 4-Jun-85 13:35:28 by WAGNER
;TCO 6.1.1423 - *** PERFORMANCE *** Dont let MSSCHK get called at LV8CHK
; UPD ID= 2028, SNARK:<6.1.MONITOR>STG.MAC.495, 28-May-85 17:07:17 by MOSER
;TCO 6.1.1411 - ADD FLKTMV - FORK LOCK TIMEOUT VALUE
; UPD ID= 2013, SNARK:<6.1.MONITOR>STG.MAC.494, 28-May-85 09:33:25 by GRANT
;TCO 6.1.1409 - add a page to .RESUQ
; UPD ID= 2007, SNARK:<6.1.MONITOR>STG.MAC.493, 24-May-85 13:38:19 by MCCOLLUM
;TCO 6.1.1406 - Update Copyrights
; UPD ID= 1982, SNARK:<6.1.MONITOR>STG.MAC.492, 16-May-85 15:43:14 by GLINDELL
;TCO 6.1.1381 - Add dummy SCSWJF in case DCN=0
; UPD ID= 1958, SNARK:<6.1.MONITOR>STG.MAC.491, 12-May-85 14:55:01 by PAETZOLD
;TCO 6.1.1380 - Add NHOSTN.
; UPD ID= 1956, SNARK:<6.1.MONITOR>STG.MAC.490, 10-May-85 16:48:15 by GROSSMAN
;TCO 6.1.1376 - Prevent undefined linktime symbols when KNIN=0.
; UPD ID= 1933, SNARK:<6.1.MONITOR>STG.MAC.489, 7-May-85 22:40:42 by MCCOLLUM
;TCO 6.1.1238 - Fix BUG. documentation
; UPD ID= 1803, SNARK:<6.1.MONITOR>STG.MAC.488, 24-Apr-85 10:17:39 by PALMIERI
;TCO 6.1.1339 Put FTNSPSRV around MAXBLK since 6.1 doesn't use a DECnet
; swappable free space pool.
; UPD ID= 1781, SNARK:<6.1.MONITOR>STG.MAC.487, 23-Apr-85 09:13:59 by GRANT
;TCO 6.1.1335 - remove DUALCT
; UPD ID= 1777, SNARK:<6.1.MONITOR>STG.MAC.486, 22-Apr-85 15:29:42 by GLINDELL
; Change EV96.0 to 0 (OFF) since next time we ship it will be SDC
; UPD ID= 1773, SNARK:<6.1.MONITOR>STG.MAC.485, 22-Apr-85 12:00:26 by LOMARTIRE
;TCO 6.1.1328 - Remove TCO 6.1.1282
; UPD ID= 1759, SNARK:<6.1.MONITOR>STG.MAC.484, 17-Apr-85 11:33:42 by GLINDELL
; TCO 6.1.1323 - Remove node database parameters - database is now dynamic
; UPD ID= 1740, SNARK:<6.1.MONITOR>STG.MAC.483, 9-Apr-85 13:06:59 by GLINDELL
; TCO 6.1.1315 - Move node database size parameters here from SCLINK
; UPD ID= 1691, SNARK:<6.1.MONITOR>STG.MAC.482, 28-Mar-85 10:44:34 by GROSSMAN
;TCO 6.1.1293 - Add PISAV and PISV1 to contain CONI PI, for BUGHLT's.
; UPD ID= 1683, SNARK:<6.1.MONITOR>STG.MAC.481, 25-Mar-85 15:07:49 by MCCOLLUM
;Bump SWFREL by a page
; UPD ID= 1676, SNARK:<6.1.MONITOR>STG.MAC.480, 25-Mar-85 08:28:07 by GRANT
;TCO 6.1.1284 - Add CIFRKF and change TEFORK to CIFORK
; UPD ID= 1669, SNARK:<6.1.MONITOR>STG.MAC.479, 22-Mar-85 14:03:08 by LOMARTIRE
;TCO 6.1.1282 - Add CFUNLF to control checking of CFS pages during unlock
; UPD ID= 1638, SNARK:<6.1.MONITOR>STG.MAC.476, 14-Mar-85 15:53:35 by MELOHN
;TCO 6.1.1265 - Add more customer and DEC reserved TTY types to the tables.
; UPD ID= 1636, SNARK:<6.1.MONITOR>STG.MAC.475, 14-Mar-85 12:14:36 by PAETZOLD
;TCO 6.1.1256 - Use NMAXPG to force NHIPG to never be 17777.
; UPD ID= 1618, SNARK:<6.1.MONITOR>STG.MAC.474, 12-Mar-85 13:36:49 by PALMIERI
;TCO 6.1.1231 - Add DTBUGX
; UPD ID= 1610, SNARK:<6.1.MONITOR>STG.MAC.473, 11-Mar-85 09:47:35 by GRANT
;TCO 6.1.1245 - Add CCHEAD
; UPD ID= 1597, SNARK:<6.1.MONITOR>STG.MAC.472, 6-Mar-85 16:50:14 by PAETZOLD
;TCO 6.1.1239 - Make it possible to build with ANXN off.
; UPD ID= 1578, SNARK:<6.1.MONITOR>STG.MAC.471, 1-Mar-85 15:15:58 by GRANT
;CI u-code is now 674
; UPD ID= 1545, SNARK:<6.1.MONITOR>STG.MAC.470, 20-Feb-85 14:24:15 by PALMIERI
;TCO 6.1.1215 - Remove check of D36IFG in LV8CHK but check DNDINQ before
; calling DNADLL
; UPD ID= 1510, SNARK:<6.1.MONITOR>STG.MAC.469, 12-Feb-85 16:21:01 by PALMIERI
;TCO 6.1.1193 - Call DECnet routines from LV8CHK in section XCDSEC but
; don't call them until DECnet is initialized.
; UPD ID= 1504, SNARK:<6.1.MONITOR>STG.MAC.468, 12-Feb-85 10:03:22 by WAGNER
;TCO 6.1.1188 - *PERFORMANCE* - Move DDMP and CHKR to CLK2CL.
; UPD ID= 1464, SNARK:<6.1.MONITOR>STG.MAC.467, 2-Feb-85 11:30:21 by GROSSMAN
;TCO 6.1.1169 - Add KNIDSP to PHYCHT so that PHYSOI can initialize the KLNI.
; UPD ID= 1444, SNARK:<6.1.MONITOR>STG.MAC.466, 31-Jan-85 16:26:38 by MOSER
;TCO 6.1.1166 - *PERFORMANCE* - OFN MANAGEMENT
; UPD ID= 1428, SNARK:<6.1.MONITOR>STG.MAC.465, 29-Jan-85 18:49:14 by PAETZOLD
;TCO 6.1.1159 - Add a dummy for TVTSOF when NETN is off.
; UPD ID= 1412, SNARK:<6.1.MONITOR>STG.MAC.464, 28-Jan-85 10:26:09 by GROSSMAN
;TCO 6.1.1157 - Alter entry into NI% JSYS jiffy service.
; UPD ID= 1406, SNARK:<6.1.MONITOR>STG.MAC.463, 27-Jan-85 11:36:29 by NICHOLS
;Move NDG %RTBSZ out of DCN conditional, its ref'd in D36COM which is loaded
;in non-DECnet monitors.
; UPD ID= 1392, SNARK:<6.1.MONITOR>STG.MAC.462, 22-Jan-85 15:32:42 by LEACHE
;Add comments
; UPD ID= 1385, SNARK:<6.1.MONITOR>STG.MAC.461, 22-Jan-85 11:54:26 by GLINDELL
; Change name from CSSEON to EV96.0
; UPD ID= 1378, SNARK:<6.1.MONITOR>STG.MAC.460, 21-Jan-85 14:55:24 by GLINDELL
; Add CSSEON flag
; UPD ID= 1353, SNARK:<6.1.MONITOR>STG.MAC.459, 16-Jan-85 17:05:01 by GROSSMAN
;TCO 6.1.1140 - Add call to NIJJIF into LV8CHK.
; UPD ID= 1330, SNARK:<6.1.MONITOR>STG.MAC.458, 14-Jan-85 16:11:06 by PALMIERI
;Remove call to RTRJIF and add %RTBSZ default buffer size
; UPD ID= 1311, SNARK:<6.1.MONITOR>STG.MAC.457, 11-Jan-85 14:07:14 by PAETZOLD
;More DCN = 0 support
; UPD ID= 1307, SNARK:<6.1.MONITOR>STG.MAC.456, 10-Jan-85 18:41:52 by GLINDELL
;Support DCN = 0
; UPD ID= 1277, SNARK:<6.1.MONITOR>STG.MAC.455, 6-Jan-85 20:08:38 by GRANT
;TCO 6.1.1114 - Use SAVTRF in definition of SAVTRE.
; UPD ID= 1273, SNARK:<6.1.MONITOR>STG.MAC.454, 5-Jan-85 15:57:59 by GROSSMAN
;TCO 6.1.1113 - Add NIBUGX. Put move LOADMODULE of NITEST from NISRV to here.
; UPD ID= 1269, SNARK:<6.1.MONITOR>STG.MAC.453, 4-Jan-85 14:17:53 by LEACHE
;TCO 6.1.1110 Fix symbol-table problem in KDDT user mode
; UPD ID= 1264, SNARK:<6.1.MONITOR>STG.MAC.452, 4-Jan-85 08:13:27 by GRANT
;TCO 6.1.1108 - Add NOKLIP
; UPD ID= 1260, SNARK:<6.1.MONITOR>STG.MAC.451, 2-Jan-85 15:57:58 by PALMIERI
;Add call to DNDJIF at LV8CHK
; UPD ID= 1242, SNARK:<6.1.MONITOR>STG.MAC.450, 28-Dec-84 09:36:28 by GRANT
;TCO 6.1.1097 - Add CITIMR.
; UPD ID= 1232, SNARK:<6.1.MONITOR>STG.MAC.449, 19-Dec-84 18:38:04 by GRANT
;TCO 6.1.1091 - Add CIBUGX. Also, move SAVTRE here from MEXEC.
; UPD ID= 1220, SNARK:<6.1.MONITOR>STG.MAC.448, 18-Dec-84 13:06:30 by LEACHE
;Add comment
; UPD ID= 1211, SNARK:<6.1.MONITOR>STG.MAC.447, 17-Dec-84 11:22:18 by LEACHE
;Clean up last part of DTE storage-area definitions
; UPD ID= 1197, SNARK:<6.1.MONITOR>STG.MAC.446, 12-Dec-84 15:15:03 by TBOYLE
;Up .RESUQ to 12000 and make it an NDG for PARAMS.
; UPD ID= 1184, SNARK:<6.1.MONITOR>STG.MAC.444, 11-Dec-84 14:18:42 by LEACHE
;Change EHLJSB conditional to EXTJSB
; UPD ID= 1130, SNARK:<6.1.MONITOR>STG.MAC.443, 26-Nov-84 15:26:19 by GLINDELL
;Remove KONDSP since it isnt used any more
; UPD ID= 1127, SNARK:<6.1.MONITOR>STG.MAC.442, 26-Nov-84 15:08:57 by GLINDELL
;Remove DNBSE2 - it was never used
; UPD ID= 1105, SNARK:<6.1.MONITOR>STG.MAC.441, 19-Nov-84 16:09:26 by LEACHE
;Increase size of JSFSTK
; UPD ID= 1079, SNARK:<6.1.MONITOR>STG.MAC.440, 14-Nov-84 13:39:03 by GLINDELL
;Remove SCTJIF and RTRSEC, add DCNSEC
; UPD ID= 1050, SNARK:<6.1.MONITOR>STG.MAC.439, 13-Nov-84 00:26:12 by GROSSMAN
;TCO 6.1.1045 - Add stuff for NI% JSYS - UPLIST and NIJKFK.
; UPD ID= 1039, SNARK:<6.1.MONITOR>STG.MAC.438, 12-Nov-84 15:25:47 by PAETZOLD
;TCO 6.1041 - Move ARPANET to XCDSEC
; UPD ID= 1017, SNARK:<6.1.MONITOR>STG.MAC.437, 9-Nov-84 13:05:24 by GROSSMAN
;TCO 6.1.1038 - Remove call to NISCH from LV8CHK.
; UPD ID= 1016, SNARK:<6.1.MONITOR>STG.MAC.436, 9-Nov-84 12:23:14 by GRANT
;KLPVER is now 664
; UPD ID= 1010, SNARK:<6.1.MONITOR>STG.MAC.435, 8-Nov-84 15:48:47 by PALMIERI
;Increase number of SNOOP pages when DEBUG .ne. 0
; UPD ID= 996, SNARK:<6.1.MONITOR>STG.MAC.434, 7-Nov-84 14:35:34 by PRATT
;tco 6.1.1030 - IPCIDV storage and loadmodule for TCP/IP over CI
; UPD ID= 973, SNARK:<6.1.MONITOR>STG.MAC.433, 6-Nov-84 19:58:37 by TBOYLE
;TCO 6.1.1034 - Reduce .RESGQ from 6000 to 1400 because of ALCSBX on now.
; UPD ID= 964, SNARK:<6.1.MONITOR>STG.MAC.432, 6-Nov-84 10:33:34 by GLINDELL
;Suppress DDT typeout of CFGWD
; UPD ID= 962, SNARK:<6.1.MONITOR>STG.MAC.431, 5-Nov-84 19:56:33 by PRATT
;TCO 6.1.1032 - Make TTYSRV compile independently:
; Define dummy TDCALx routines based on .xxFLG for each line type
; Move other dummy routines to here
; Move some RS defs from TTYSRV (TT1LIN, and send all stuff)
; Turn on terminal line types using DCN, NETN, LAHFLG, CHFLG, etc
; Add LOADMODULE's for NRTSRV, RSXSRV, and TVTSRV
; UPD ID= 5047, SNARK:<6.MONITOR>STG.MAC.430, 31-Oct-84 15:58:20 by TBOYLE
;Add SPTWD and MSCWD - lowcore locations for new SETSPD at 237,240.
; UPD ID= 5031, SNARK:<6.MONITOR>STG.MAC.429, 29-Oct-84 10:00:18 by LEACHE
;Change JSBSEC to JOBSEC
; UPD ID= 5027, SNARK:<6.MONITOR>STG.MAC.428, 29-Oct-84 03:07:32 by PRATT
;More TCO 6.1.1010 - Need TVTPTR in level b- TCP code
; UPD ID= 5026, SNARK:<6.MONITOR>STG.MAC.427, 28-Oct-84 11:02:22 by PRATT
;TCO 6.1.1022 - Add dummy .NTINF symbol under IFN FTNSPSRV
; UPD ID= 5014, SNARK:<6.MONITOR>STG.MAC.426, 26-Oct-84 09:54:43 by LEACHE
;Add definitions for extended JSB
; UPD ID= 5013, SNARK:<6.MONITOR>STG.MAC.425, 26-Oct-84 08:27:41 by LEACHE
;TCO 6.2260 Fix definition of H19 terminals
; UPD ID= 5008, SNARK:<6.MONITOR>STG.MAC.424, 25-Oct-84 09:02:56 by LOMARTIRE
;TCO 6.2252 - Fix power fail and spurious power fail restarting
; UPD ID= 4994, SNARK:<6.MONITOR>STG.MAC.422, 24-Oct-84 19:11:29 by LEACHE
;Increase DECnet swappable pool size
; UPD ID= 4985, SNARK:<6.MONITOR>STG.MAC.420, 23-Oct-84 19:54:19 by PAETZOLD
;Merge level b TCP stuff from 5.4 for 6.1
; UPD ID= 4979, SNARK:<6.MONITOR>STG.MAC.419, 22-Oct-84 16:32:53 by GRANT
;Remove references to FTCI
; UPD ID= 4973, SNARK:<6.MONITOR>STG.MAC.418, 22-Oct-84 16:08:19 by GLINDELL
;TCO 6.2255 Increase MDDT data space to 3 pages (NDDTPG)
; UPD ID= 4957, SNARK:<6.MONITOR>STG.MAC.417, 18-Oct-84 15:44:52 by LEACHE
;TCO 6.2254 Add history buffers to swappable freespace pools
; UPD ID= 4940, SNARK:<6.MONITOR>STG.MAC.416, 15-Oct-84 13:13:56 by GRANT
;The assembly switch CFSCOD has been eliminated
; UPD ID= 4919, SNARK:<6.MONITOR>STG.MAC.415, 11-Oct-84 09:50:18 by GLINDELL
;TCO 6.1.1021 - 6.1 address space
; UPD ID= 4896, SNARK:<6.MONITOR>STG.MAC.414, 6-Oct-84 00:25:33 by TBOYLE
;QAR 706259 - More TCO 6.2081 - Fix NDG MTDFDN.
; UPD ID= 4891, SNARK:<6.MONITOR>STG.MAC.413, 1-Oct-84 13:57:56 by PALMIERI
;Initialize LATMCT to large positive value
;Make DECnet extended and non-extended pools have same mumber
;Don't allocate non-extended DECnet quota in extended pool
; UPD ID= 4875, SNARK:<6.MONITOR>STG.MAC.412, 25-Sep-84 11:35:47 by EVANS
;TCO 6.2222 - Add VT200 terminal support.
; UPD ID= 4873, SNARK:<6.MONITOR>STG.MAC.411, 25-Sep-84 10:38:15 by GUNN
;Fix bug introduced in UPD ID 4872. Remove definition of .XREDQ from
; FTNSPSRV conditional.
; UPD ID= 4872, SNARK:<6.MONITOR>STG.MAC.410, 24-Sep-84 16:58:52 by PALMIERI
;Build extended free space for DECnet-36 under conditional FTD36MM
; UPD ID= 4835, SNARK:<6.MONITOR>STG.MAC.409, 17-Sep-84 11:23:18 by PURRETTA
;Update copyright notice
; UPD ID= 4803, SNARK:<6.MONITOR>STG.MAC.408, 14-Sep-84 09:02:25 by MCLEAN
;UPDATE KLPVWD
;REMOVE PRTTBU
; UPD ID= 4792, SNARK:<6.MONITOR>STG.MAC.407, 6-Sep-84 19:19:24 by LEACHE
;Fix comment
; UPD ID= 4788, SNARK:<6.MONITOR>STG.MAC.406, 4-Sep-84 11:39:50 by GRANT
;KLPVER is now 650
; UPD ID= 4760, SNARK:<6.MONITOR>STG.MAC.405, 27-Aug-84 13:21:29 by GRANT
;KLPVER is now 642
; UPD ID= 4718, SNARK:<6.MONITOR>STG.MAC.404, 20-Aug-84 15:20:56 by TBOYLE
;TCO 6.2081 (QAR 706039) NDG MTDFDN allows site-specific value in PARAMs.
; UPD ID= 4706, SNARK:<6.MONITOR>STG.MAC.403, 17-Aug-84 20:36:29 by GROSSMAN
;TCO 6.1.1011 - Add dummys for the NI% JSYS.
; UPD ID= 4697, SNARK:<6.MONITOR>STG.MAC.402, 15-Aug-84 18:32:58 by GROSSMAN
;TCO 6.2176 - Add dummy global KNIJB0.
; UPD ID= 4696, SNARK:<6.MONITOR>STG.MAC.401, 15-Aug-84 17:24:59 by TBOYLE
;Put .RESGQ back to 6000. Because ALCSBX being disabled until SETSPD fixed.
; UPD ID= 4693, SNARK:<6.MONITOR>STG.MAC.400, 15-Aug-84 15:34:17 by TBOYLE
;Increase XRESGQ from 6000 to 7000. Parser logs are coming incomplete.
; UPD ID= 4684, SNARK:<6.MONITOR>STG.MAC.399, 14-Aug-84 07:23:37 by GRANT
;KLPVER is now 617.
; UPD ID= 4675, SNARK:<6.MONITOR>STG.MAC.398, 10-Aug-84 17:17:19 by GROSSMAN
;TCO 6.2169 - Change PI system initialization so that vectors are setup
;earlier.
; UPD ID= 4671, SNARK:<6.MONITOR>STG.MAC.397, 9-Aug-84 11:40:45 by PAETZOLD
;TCO 6.2168 - Contrary to popular belief PI6STK is needed at times when KNIN is off.
;More TCO 6.1.1010 - Only load TTANDV when release 6.1
; UPD ID= 4670, SNARK:<6.MONITOR>STG.MAC.396, 8-Aug-84 16:29:23 by LEACHE
;TCO 6.2167 - Fix escape sequence for VK100's
; UPD ID= 4661, SNARK:<6.MONITOR>STG.MAC.395, 7-Aug-84 17:05:28 by CDUNN
;More TCO 6.1127 - Add SCSTXN and SCSBXN to the PSB
; UPD ID= 4652, SNARK:<6.MONITOR>STG.MAC.394, 7-Aug-84 16:08:46 by PAETZOLD
;IPNIDV changes
; UPD ID= 4623, SNARK:<6.MONITOR>STG.MAC.393, 28-Jul-84 18:38:05 by GLINDELL
;More Tco 6.1127 - support section 37 also
; UPD ID= 4615, SNARK:<6.MONITOR>STG.MAC.392, 27-Jul-84 15:59:58 by TBOYLE
;New SYSERR - Make .XREGQ for extended general pool, and lower .RESGQ to 1400.
;Also added NIINI: RET when KNIN=0, for STU.
;TCO 6.2169 - Change PI system initialization so that vectors are setup
;earlier.
;Implement new address space scheme for 6.1
; UPD ID= 4623, SNARK:<6.MONITOR>STG.MAC.393, 28-Jul-84 18:38:05 by GLINDELL
;More Tco 6.1127 - support section 37 also
; UPD ID= 4615, SNARK:<6.MONITOR>STG.MAC.392, 27-Jul-84 15:59:58 by TBOYLE
;New SYSERR - Make .XREGQ for extended general pool, and lower .RESGQ to 1400.
;Also added KNINI: RET when KNIN=0, for STU.
; UPD ID= 4606, SNARK:<6.MONITOR>STG.MAC.391, 27-Jul-84 13:04:58 by MCLEAN
;Add KLPVWD and move KLPVER here from PHYKLP.MAC
; UPD ID= 4598, SNARK:<6.MONITOR>STG.MAC.390, 26-Jul-84 23:47:07 by GROSSMAN
;TCO 6.2106 - Make PI6STK bigger so that NISRV can use it.
; UPD ID= 4594, SNARK:<6.MONITOR>STG.MAC.389, 26-Jul-84 22:26:36 by CDUNN
;More TCO 6.1127 - Add FRKTAB and its length FRKTLN for the SCS% JSYS.
; UPD ID= 4586, SNARK:<6.MONITOR>STG.MAC.388, 25-Jul-84 16:05:45 by PURRETTA
;Reduce UTNPG (storage space for UTEST JSYS) to one page.
; UPD ID= 4502, SNARK:<6.MONITOR>STG.MAC.387, 12-Jul-84 19:56:36 by LOMARTIRE
;Fix the definition of SVSCAC since the symbol .SSMNT no longer exists.
; UPD ID= 4492, SNARK:<6.MONITOR>STG.MAC.386, 12-Jul-84 16:47:59 by MOSER
;CHANGE SIZE OF SCDBTB - MAKE SERVER PARAMETERS NDGS
; UPD ID= 4432, SNARK:<6.MONITOR>STG.MAC.385, 4-Jul-84 22:16:33 by MCLEAN
;ADD HOMSKP AND OTHER CHANGES FOR NEW HOMEBLOCK STUFF
; UPD ID= 4429, SNARK:<6.MONITOR>STG.MAC.384, 3-Jul-84 14:30:21 by LOMARTIRE
;Remove SRVCSP block as block is now acquired from free space
; UPD ID= 4407, SNARK:<6.MONITOR>STG.MAC.383, 28-Jun-84 19:24:21 by TBOYLE
;Fix undefined globals CFCIN, CFCSE, CFCND in non-CFS monitor
; UPD ID= 4386, SNARK:<6.MONITOR>STG.MAC.382, 26-Jun-84 11:45:54 by PURRETTA
;Up maximum number of online structures allowed to 32 decimal.
; UPD ID= 4380, SNARK:<6.MONITOR>STG.MAC.381, 24-Jun-84 15:26:33 by GLINDELL
;TCO 6.2106 - Add MONPDV
; UPD ID= 4374, SNARK:<6.MONITOR>STG.MAC.380, 22-Jun-84 16:26:04 by TBOYLE
;CNFIG% - CNFGWD parameter word, and do stuff for CFS/non-CFS monitor.
; UPD ID= 4344, SNARK:<6.MONITOR>STG.MAC.379, 15-Jun-84 13:49:32 by LOMARTIRE
;Add SRVCSP block to hold results of SC.CSP done by MSCP server
; UPD ID= 4338, SNARK:<6.MONITOR>STG.MAC.378, 13-Jun-84 22:01:25 by MCLEAN
;FIX SOME COMMENTS
; UPD ID= 4316, SNARK:<6.MONITOR>STG.MAC.377, 11-Jun-84 10:01:07 by HAUDEL
;ADD MACLOT,MAIOTC, AND MAICLT
; UPD ID= 4275, SNARK:<6.MONITOR>STG.MAC.376, 30-May-84 21:31:47 by MCLEAN
;ADD TRECPP TRUE SECTORS PER PAGE COUNT
; UPD ID= 4268, SNARK:<6.MONITOR>STG.MAC.375, 30-May-84 21:19:16 by MOSER
;TCO 6.2072 - NAKE PSPNTP A NDG
; UPD ID= 4254, SNARK:<6.MONITOR>STG.MAC.374, 30-May-84 11:14:23 by MOSER
;TCO 6.2071 - allow PCDPN = 0
; UPD ID= 4243, SNARK:<6.MONITOR>STG.MAC.373, 25-May-84 06:16:46 by GRANT
;TCO 6.2068 - Add RESNET (DECnet resident free space threshold flag)
; UPD ID= 4234, SNARK:<6.MONITOR>STG.MAC.372, 20-May-84 15:26:18 by PAETZOLD
;Increase NHOSTS and NHSTN
; UPD ID= 4231, SNARK:<6.MONITOR>STG.MAC.371, 18-May-84 07:30:10 by MCINTEE
;~6.0 Put CTMFRK here after other job 0 forks.
; UPD ID= 4228, SNARK:<6.MONITOR>STG.MAC.370, 16-May-84 17:44:46 by PAETZOLD
;Turn on INTBYP
; UPD ID= 4224, SNARK:<6.MONITOR>STG.MAC.369, 16-May-84 13:41:45 by MCINTEE
;~6.0 - Remove reference to CTHSCH.
; UPD ID= 4221, SNARK:<6.MONITOR>STG.MAC.368, 14-May-84 19:07:43 by WEISBACH
;Remove references to FIXUP.
; UPD ID= 4217, SNARK:<6.MONITOR>STG.MAC.367, 14-May-84 18:52:19 by WEISBACH
;~6.0 - Add Storage and definitions for LAT Host Terminal support. Except
; for NTTLAH definition, all is under LAHFLG conditional.
; UPD ID= 4213, SNARK:<6.MONITOR>STG.MAC.366, 13-May-84 06:30:58 by GRANT
;Increase .RESNQ (DECnet resident free space)
; UPD ID= 4209, SNARK:<6.MONITOR>STG.MAC.365, 11-May-84 09:21:37 by MCINTEE
;More of previous at DDTU - to determine if we are running pre-POSTLD
; UPD ID= 4204, SNARK:<6.MONITOR>STG.MAC.364, 9-May-84 17:04:32 by LEACHE
;Use .EDSYM to determine if DDT must play mapping games or not
; UPD ID= 4184, SNARK:<6.MONITOR>STG.MAC.363, 8-May-84 15:39:23 by TBOYLE
;TCO 6.2055 - Define SPRFLG ... also moved ALCLST,BUGLST,SYELST to SYSERR area
; UPD ID= 4130, SNARK:<6.MONITOR>STG.MAC.361, 25-Apr-84 11:10:11 by LOMARTIRE
;TCO 6.2046 - Add SEBFRK,CILFRK,CIDFRK,JB0FRK,DDPFRK,DNTFRK,SJBFRK
; Move TEFORK, MOSFRK here from MEXEC
; UPD ID= 4122, SNARK:<6.MONITOR>STG.MAC.360, 24-Apr-84 22:47:06 by MCLEAN
;INSURE SYSRST RUNS IN SECTION 0 OR RESET OF IO WILL LOOSE
; UPD ID= 4121, SNARK:<6.MONITOR>STG.MAC.359, 24-Apr-84 18:10:05 by TBOYLE
;More TCO 6.2045 Up BUGMAX from 5 to 20.
; UPD ID= 4116, SNARK:<6.MONITOR>STG.MAC.358, 24-Apr-84 12:59:38 by TGRADY
;TCO 6.2041 - Remove TCO 6.1999
; UPD ID= 4107, SNARK:<6.MONITOR>STG.MAC.357, 23-Apr-84 10:47:17 by HAUDEL
;Add RS MAITIM,MAIFLG,MAICLF,and MAICLN for DIAG% CI Maintenance
; UPD ID= 4103, SNARK:<6.MONITOR>STG.MAC.356, 20-Apr-84 21:31:16 by MCLEAN
;MAKE HALTF +1 GO TO 140 TO CONTINUE ON CONTINUE COMMAND
; UPD ID= 4089, SNARK:<6.MONITOR>STG.MAC.355, 17-Apr-84 13:22:41 by PALMIERI
;Add DCNCID storage for DTESRV DECnet
; UPD ID= 4088, SNARK:<6.MONITOR>STG.MAC.354, 17-Apr-84 10:27:27 by GROSSMAN
;TCO 6.2035 - Install dummy routine for setting Ethernet address.
; UPD ID= 4084, SNARK:<6.MONITOR>STG.MAC.353, 12-Apr-84 17:06:19 by TBOYLE
;TCO 6.2033 Increase .RESGP by 4x to 6000. Uses 4 more pages in 0/1. *TEMP*
; UPD ID= 4077, SNARK:<6.MONITOR>STG.MAC.352, 11-Apr-84 22:24:38 by TBOYLE
;TCO 6.2027 Add RS SYELST, ALCLST, BUGLST.
; UPD ID= 4059, SNARK:<6.MONITOR>STG.MAC.351, 11-Apr-84 04:51:29 by LEACHE
;Fix FSPPL. macro
; UPD ID= 4054, SNARK:<6.MONITOR>STG.MAC.350, 5-Apr-84 16:10:07 by LOMARTIRE
;Increase the size of PIPDB to avoid MONPDLs from SCA ring buffer use
; UPD ID= 4051, SNARK:<6.MONITOR>STG.MAC.349, 5-Apr-84 08:45:42 by PAETZOLD
;TCO 6.2020 - Add PIOLD2 to save FKSTA2 during PSIs.
; UPD ID= 4009, SNARK:<6.MONITOR>STG.MAC.348, 30-Mar-84 15:44:32 by NICHOLS
;~6.0 - Fix order of tick service calls to DECnet-36 at LV8CHK
; UPD ID= 4007, SNARK:<6.MONITOR>STG.MAC.347, 28-Mar-84 22:31:59 by MOSER
;MORE 6.1562 - TUNE THE SERVER
; UPD ID= 3930, SNARK:<6.MONITOR>STG.MAC.346, 14-Mar-84 16:23:11 by GLINDELL
;~6.0 - Add LOADMODULE of CIDLL
; UPD ID= 3929, SNARK:<6.MONITOR>STG.MAC.345, 14-Mar-84 14:59:50 by TGRADY
;TCO 6.1999 - For non-CFS monitors, define MXGLBS = NJOBS for GL2LCL
; UPD ID= 3899, SNARK:<6.MONITOR>STG.MAC.344, 11-Mar-84 10:38:31 by PAETZOLD
;More TCO 6.1733 - Add JOBUNI, PRFNET, PRFADR, PRFNFD
; UPD ID= 3867, SNARK:<6.MONITOR>STG.MAC.343, 7-Mar-84 11:28:46 by LEACHE
;TCO --- Make @START 140 cause NRCOD to be mapped into section zero
; UPD ID= 3831, SNARK:<6.MONITOR>STG.MAC.342, 29-Feb-84 18:34:09 by PAETZOLD
;More TCO 6.1733 - Remove ANBSEC and MNTSEC.
; UPD ID= 3817, SNARK:<6.MONITOR>STG.MAC.341, 29-Feb-84 17:05:46 by LEACHE
;TCO 6.1969 Add BOOT communications region, delete IRBOOT code
; UPD ID= 3788, SNARK:<6.MONITOR>STG.MAC.340, 28-Feb-84 15:22:14 by HAUDEL
;TCO 6.1546 - Change CNTBUF for new Performance Counter format.
; UPD ID= 3768, SNARK:<6.MONITOR>STG.MAC.339, 27-Feb-84 10:58:18 by MOSER
;ADD DUMMY MSSCHK
; UPD ID= 3762, SNARK:<6.MONITOR>STG.MAC.338, 26-Feb-84 23:54:06 by TGRADY
;Make JBWDS be a function of MXGLBS, not NJOBS, so global job numbers will work.
; UPD ID= 3733, SNARK:<6.MONITOR>STG.MAC.337, 22-Feb-84 14:21:50 by GUNN
;~6.0 - Change CLK2TM table to reside in RESDAT PSECT. Now uses RSI macro.
; UPD ID= 3732, SNARK:<6.MONITOR>STG.MAC.336, 22-Feb-84 14:05:49 by MOSER
;STILL MORE 6.1562 - ADD SVCMRT
; UPD ID= 3729, SNARK:<6.MONITOR>STG.MAC.335, 22-Feb-84 13:59:36 by MOSER
;MORE 6.1562 ADD DUMMY FOR SRVCFS. ADD NULJBF AND SRVSKD
; UPD ID= 3684, SNARK:<6.MONITOR>STG.MAC.334, 10-Feb-84 20:14:37 by PAETZOLD
;Increase NHOSTS
; UPD ID= 3679, SNARK:<6.MONITOR>STG.MAC.333, 9-Feb-84 10:33:17 by GROSSMAN
;Remove NIDLL and PHYKNI. Add NISRV. Put all things under FTNIDLL into KNIN.
; UPD ID= 3675, SNARK:<6.MONITOR>STG.MAC.332, 8-Feb-84 15:02:34 by MOSER
;INCREASE .XREUQ
; UPD ID= 3663, SNARK:<6.MONITOR>STG.MAC.331, 7-Feb-84 16:41:08 by VATNE
;Make ENQLTL only one word long.
; UPD ID= 3733, SNARK:<6.MONITOR>STG.MAC.337, 22-Feb-84 14:21:50 by GUNN
;~6.0 - Change CLK2TM table to reside in RESDAT PSECT. Now uses RSI macro.
; UPD ID= 3732, SNARK:<6.MONITOR>STG.MAC.336, 22-Feb-84 14:05:49 by MOSER
;STILL MORE 6.1562 - ADD SVCMRT
; UPD ID= 3729, SNARK:<6.MONITOR>STG.MAC.335, 22-Feb-84 13:59:36 by MOSER
;MORE 6.1562 ADD DUMMY FOR SRVCFS. ADD NULJBF AND SRVSKD
; UPD ID= 3684, SNARK:<6.MONITOR>STG.MAC.334, 10-Feb-84 20:14:37 by PAETZOLD
;Increase NHOSTS
; UPD ID= 3679, SNARK:<6.MONITOR>STG.MAC.333, 9-Feb-84 10:33:17 by GROSSMAN
;Remove NIDLL and PHYKNI. Add NISRV. Put all things under FTNIDLL into KNIN.
; UPD ID= 3675, SNARK:<6.MONITOR>STG.MAC.332, 8-Feb-84 15:02:34 by MOSER
;INCREASE .XREUQ
; UPD ID= 3663, SNARK:<6.MONITOR>STG.MAC.331, 7-Feb-84 16:41:08 by VATNE
;Make ENQLTL only one word long.
; UPD ID= 3652, SNARK:<6.MONITOR>STG.MAC.330, 3-Feb-84 15:49:10 by MURPHY
;Fix SWPMBP
; UPD ID= 3647, SNARK:<6.MONITOR>STG.MAC.329, 2-Feb-84 14:35:07 by MURPHY
;Fix bugs in previous.
; UPD ID= 3642, SNARK:<6.MONITOR>STG.MAC.328, 2-Feb-84 11:54:29 by MURPHY
;Put definition of BOOT cells in PROLOG.
; UPD ID= 3638, SNARK:<6.MONITOR>STG.MAC.327, 1-Feb-84 22:11:06 by MURPHY
;Ever more 6.1525 - Move DDTs and bug stuff to symsec.
; UPD ID= 3616, SNARK:<6.MONITOR>STG.MAC.326, 1-Feb-84 10:43:31 by PRATT
;TCO 6.1956 - XECFLG for EXEC flags
; UPD ID= 3609, SNARK:<6.MONITOR>STG.MAC.325, 31-Jan-84 15:52:58 by TGRADY
;Fix RSI GLBPTR so that byte pointer is treated as only one word (not two)
; UPD ID= 3600, SNARK:<6.MONITOR>STG.MAC.324, 31-Jan-84 13:06:40 by MOSER
;DUMMY FOR MSSRED
; UPD ID= 3596, SNARK:<6.MONITOR>STG.MAC.323, 31-Jan-84 04:05:31 by TGRADY
;ADD JSB LOCATION GBLJNO TO STORE GLOBAL JOB NUMBER
; UPD ID= 3543, SNARK:<6.MONITOR>STG.MAC.322, 25-Jan-84 19:34:16 by MOSER
;TCO 6.1562 - MORE SERVER CHANGES. MOVE SOME STUFF TO RSEs.
; MAKE FTSVMSCP GLOBAL.
; RETURN MSCPX1 IF NO SERVER.
; UPD ID= 3534, SNARK:<6.MONITOR>STG.MAC.321, 25-Jan-84 10:13:31 by PAETZOLD
;TCO 6.1954 - Add DDPDUE and CHKDUE
; UPD ID= 3522, SNARK:<6.MONITOR>STG.MAC.320, 24-Jan-84 13:58:22 by HAUDEL
;TCO 6.1546 - Add Performance counter locations and locks for DIAG% and the
;KLIPA
; UPD ID= 3480, SNARK:<6.MONITOR>STG.MAC.319, 19-Jan-84 19:27:05 by TBOYLE
;Remove CFGCFS, their are better ways...
; UPD ID= 3475, SNARK:<6.MONITOR>STG.MAC.318, 18-Jan-84 13:22:20 by TBOYLE
;CNFIG% JSYS - Add CFGCFS location to contain value of CFSSCA.
; UPD ID= 3455, SNARK:<6.MONITOR>STG.MAC.317, 13-Jan-84 17:12:19 by TBOYLE
;TCO 6.1933 - SPRCNT INITIALLY -1 TO STALL SPEAR LOGGING FOR SETSPD.
; UPD ID= 3447, SNARK:<6.MONITOR>STG.MAC.316, 12-Jan-84 14:21:13 by PAETZOLD
;TCO 6.1929 - Change FKJOBN to FKJBN
; UPD ID= 3346, SNARK:<6.MONITOR>STG.MAC.315, 19-Dec-83 15:37:27 by LEACHE
;TCO 6.1641 increase Pid header size (PIDHDS)
; UPD ID= 3342, SNARK:<6.MONITOR>STG.MAC.314, 19-Dec-83 10:50:21 by MOSER
; UPD ID= 3340, SNARK:<6.MONITOR>STG.MAC.313, 19-Dec-83 09:54:52 by PALMIERI
;Add LOADMODULE FOR DNADLL - part of DECnet 36
; UPD ID= 3324, SNARK:<6.MONITOR>STG.MAC.312, 14-Dec-83 17:35:17 by MOSER
;TCO 6.1562 - ADD DUMMYS FOR SERVER ONLINE/OFFLINE
; UPD ID= 3306, SNARK:<6.MONITOR>STG.MAC.311, 13-Dec-83 18:14:07 by PAETZOLD
;TCO 6.1906 - Add DDPTIM
; UPD ID= 3279, SNARK:<6.MONITOR>STG.MAC.310, 8-Dec-83 13:41:45 by PURRETTA
;Up old free space pool (SWFREL) one more page.
; UPD ID= 3276, SNARK:<6.MONITOR>STG.MAC.309, 7-Dec-83 15:42:32 by PAETZOLD
;Add SWPF1 and SWPF2 symbols
; UPD ID= 3253, SNARK:<6.MONITOR>STG.MAC.308, 5-Dec-83 14:56:07 by PURRETTA
;Temporarily up the old free space pool (SWFREL) for SYSDPY
; UPD ID= 3252, SNARK:<6.MONITOR>STG.MAC.307, 5-Dec-83 13:43:59 by PAETZOLD
;Condition out the .DBGIM stuff with IPPDSW
; UPD ID= 3241, SNARK:<6.MONITOR>STG.MAC.306, 1-Dec-83 10:14:50 by LEACHE
;Increase swappable pool sizes when debugging
; UPD ID= 3231, SNARK:<6.MONITOR>STG.MAC.305, 29-Nov-83 13:50:20 by MOSER
;TCO 6.1562 - BUNDLE MSCP SERVER WITH CFS
; UPD ID= 3227, SNARK:<6.MONITOR>STG.MAC.304, 29-Nov-83 09:53:06 by GLINDELL
;TCO 6.1.1004 - Add def of FILNLP, and turn on D1%MTO in DEVCH1 for DECnet-36
; UPD ID= 3225, SNARK:<6.MONITOR>STG.MAC.303, 28-Nov-83 15:25:29 by GUNN
;~6.0 - In CLK2CL, add call to RCSIDS in LLMOP to periodically perform Ethernet
; Console Server Identify-Self function.
; UPD ID= 3220, SNARK:<6.MONITOR>STG.MAC.302, 28-Nov-83 09:47:30 by LEACHE
;Move DECnet swappable freespace out of section zero
; UPD ID= 3152, SNARK:<6.MONITOR>STG.MAC.301, 15-Nov-83 09:48:01 by PAETZOLD
;TCO 6.1856 - Change TVTWTM to 10000. from 200.
; UPD ID= 3136, SNARK:<6.MONITOR>STG.MAC.300, 10-Nov-83 09:50:24 by MCINTEE
;Angle bracket mistake
; UPD ID= 3116, SNARK:<6.MONITOR>STG.MAC.299, 8-Nov-83 09:02:17 by MCINTEE
;~6.0 - Remove NSP% jsys (module SCNSPJ)
; UPD ID= 3094, SNARK:<6.MONITOR>STG.MAC.298, 3-Nov-83 23:37:20 by GROSSMAN
;TCO 6.1849 - Initialize CRJTTY to -1
; UPD ID= 3077, SNARK:<6.MONITOR>STG.MAC.297, 25-Oct-83 13:06:04 by GRANT
;In CLK2CL, add call to MSCP poller
; UPD ID= 3045, SNARK:<6.MONITOR>STG.MAC.296, 19-Oct-83 10:41:14 by MILLER
;tco 6.1094. Add cfnnam
; UPD ID= 3044, SNARK:<6.MONITOR>STG.MAC.295, 19-Oct-83 09:35:40 by MCINTEE
;Remove FTNSPSRV conditional from definition of MAXBLK
; UPD ID= 3039, SNARK:<6.MONITOR>STG.MAC.294, 17-Oct-83 15:48:24 by MCINTEE
;Put NTTBF back to what it used to be for 6.1
; UPD ID= 3045, SNARK:<6.MONITOR>STG.MAC.296, 19-Oct-83 10:41:14 by MILLER
;tco 6.1094. Add cfnnam
; UPD ID= 3044, SNARK:<6.MONITOR>STG.MAC.295, 19-Oct-83 09:35:40 by MCINTEE
;Remove FTNSPSRV conditional from definition of MAXBLK
; UPD ID= 3039, SNARK:<6.MONITOR>STG.MAC.294, 17-Oct-83 15:48:24 by MCINTEE
;Put NTTBF back to what it used to be for 6.1
; UPD ID= 3028, SNARK:<6.MONITOR>STG.MAC.293, 11-Oct-83 10:27:11 by MILLER
;TCO 6.1824. Add PIDPRT
; UPD ID= 3017, SNARK:<6.MONITOR>STG.MAC.292, 10-Oct-83 13:22:52 by MOSER
;TCO 6.1816 - MAKE RLDFRK RESIDENT
; UPD ID= 2964, SNARK:<6.MONITOR>STG.MAC.291, 30-Sep-83 19:28:07 by MILLER
;FIx GLBPTR
; UPD ID= 2960, SNARK:<6.MONITOR>STG.MAC.290, 28-Sep-83 19:11:51 by MILLER
;Fix a typeo
; UPD ID= 2958, SNARK:<6.MONITOR>STG.MAC.289, 28-Sep-83 18:53:26 by MILLER
;TCO 6.1094. Add defs for global job numbers
; UPD ID= 2941, SNARK:<6.MONITOR>STG.MAC.288, 27-Sep-83 09:45:40 by GRANT
;Add KLPDSP to PHYCHT. Add KLIPA test code to PISC5.
; UPD ID= 2912, SNARK:<6.MONITOR>STG.MAC.287, 20-Sep-83 14:10:09 by MCLEAN
;AND MORE MORE MORE PDL FOR SCA
; UPD ID= 2912, SNARK:<6.MONITOR>STG.MAC.287, 20-Sep-83 14:10:09 by MCLEAN
;AND MORE MORE MORE PDL FOR SCA
; UPD ID= 2872, SNARK:<6.MONITOR>STG.MAC.286, 31-Aug-83 15:53:13 by MCLEAN
;NEED MORE SCHED PDL FOR SCA
; UPD ID= 2867, SNARK:<6.MONITOR>STG.MAC.285, 24-Aug-83 17:11:30 by PAETZOLD
;TCO 6.1761 - VT131 Support
; UPD ID= 2843, SNARK:<6.MONITOR>STG.MAC.284, 17-Aug-83 21:41:22 by MURPHY
;More 6.1525 - Separate section 0/1 maps. M1SPTN.
; UPD ID= 2806, SNARK:<6.MONITOR>STG.MAC.283, 9-Aug-83 11:45:25 by MURPHY
;More 6.1525 - Add new psect SZCOD.
; UPD ID= 2803, SNARK:<6.MONITOR>STG.MAC.282, 4-Aug-83 13:31:59 by LEACHE
;More of previous - move IPCF and ENQ pools out of section zero
; UPD ID= 2801, SNARK:<6.MONITOR>STG.MAC.281, 4-Aug-83 00:39:42 by LEACHE
;TCO 6.1641 Move swappable freespace out of section zero
; UPD ID= 2787, SNARK:<6.MONITOR>STG.MAC.280, 3-Aug-83 10:58:17 by MILLER
;TCO 6.1758. Add POBOX logical name
; UPD ID= 2765, SNARK:<6.MONITOR>STG.MAC.279, 25-Jul-83 14:50:29 by PAETZOLD
;More TCO 6.1733 - Add TVTMSG dummy for when NETN is off
; UPD ID= 2744, SNARK:<6.MONITOR>STG.MAC.278, 22-Jul-83 16:32:48 by MURPHY
;Put COFTIM back in here.
;TCO 6.1719 - Customer-selectable hangup options.
; UPD ID= 2720, SNARK:<6.MONITOR>STG.MAC.277, 22-Jul-83 14:55:29 by PAETZOLD
;TCO 6.1733 - No more NCP
; UPD ID= 2713, SNARK:<6.MONITOR>STG.MAC.276, 20-Jul-83 17:03:10 by GUNN
;TCO 6.1.1003 - Add DNA Phase IV Ethernet LLMOP Support ~6.0
;~6.0 LLMOP module and LLMOP% JSYS
; UPD ID= 2683, SNARK:<6.MONITOR>STG.MAC.275, 6-Jul-83 16:05:40 by PURRETTA
;Add large copyright statement, shrink small assembled one.
; UPD ID= 2678, SNARK:<6.MONITOR>STG.MAC.274, 6-Jul-83 08:57:00 by MILLER
;Add CFSCMC
; UPD ID= 2675, SNARK:<6.MONITOR>STG.MAC.273, 5-Jul-83 16:39:22 by MOSER
;MORE TCO 6.1568 MOVE COFMIN TO PARAMS REMOVE COFTIM
; UPD ID= 2666, SNARK:<6.MONITOR>STG.MAC.272, 5-Jul-83 13:31:34 by MURPHY
;More 6.1525 - Create SYMSEC for symbols, ddt, etc.
; UPD ID= 2617, SNARK:<6.MONITOR>STG.MAC.271, 21-Jun-83 15:31:44 by MURPHY
;Add CSTVA
;Fix S$BGN so section numbers always correct.
; UPD ID= 2563, SNARK:<6.MONITOR>STG.MAC.270, 7-Jun-83 17:02:17 by MURPHY
;More 6.1525 - Move BUGPTRs and BUGSTRINGS to ext section; elim. BUGSTF.
; UPD ID= 2560, SNARK:<6.MONITOR>STG.MAC.269, 6-Jun-83 06:54:47 by LEAPLINE
;Add level 2 clocks for device KNI.
; UPD ID= 2544, SNARK:<6.MONITOR>STG.MAC.268, 31-May-83 16:43:30 by MURPHY
;More 6.1525 - Move RESBTB to extended section.
;Move class scheduler tables and subsystem names tables to ext secn.
; UPD ID= 2518, SNARK:<6.MONITOR>STG.MAC.267, 25-May-83 13:29:26 by GRANT
;TCO 6.1667 - use NRE and RSE for network management node counters
; UPD ID= 2505, SNARK:<6.MONITOR>STG.MAC.266, 23-May-83 10:58:19 by LOMARTIRE
;TCO 6.1633 - Add INFTMR for NOOFN BUGINF
; UPD ID= 2487, SNARK:<6.MONITOR>STG.MAC.265, 18-May-83 14:59:36 by MURPHY
;More of .-1, fix up EPGSEC stuff.
; UPD ID= 2467, SNARK:<6.MONITOR>STG.MAC.264, 16-May-83 17:14:38 by MURPHY
;TCO 6.1525 - Locking RSE pages.
; UPD ID= 2441, SNARK:<6.MONITOR>STG.MAC.263, 6-May-83 11:57:56 by MOSER
;TCO 6.1562 - CODE FOR MSCP SERVER
; UPD ID= 2435, SNARK:<6.MONITOR>STG.MAC.262, 6-May-83 10:58:19 by LOMARTIRE
;TCO 6.1627 - Move FFF here from POSTLD so it's size can be changed easier
; UPD ID= 2433, SNARK:<6.MONITOR>STG.MAC.261, 6-May-83 09:22:54 by HAUDEL
;TCO 6.1631 - Increase size of MTAPBF
; UPD ID= 2417, SNARK:<6.MONITOR>STG.MAC.260, 4-May-83 09:08:59 by LEACHE
;TCO 6.1642 - Create SWFSEC for swappable freespace section
; UPD ID= 2411, SNARK:<6.MONITOR>STG.MAC.259, 3-May-83 16:15:44 by COBB
;TCO 6.1639 - ?s in PRINTX messages...
; UPD ID= 2400, SNARK:<6.MONITOR>STG.MAC.258, 3-May-83 08:53:58 by COBB
;TCO 6.1637 - Define SPRCNT, running count of SPEAR blocks queued
; UPD ID= 2396, SNARK:<6.MONITOR>STG.MAC.257, 2-May-83 18:05:11 by LEAPLINE
;Another shot at level 2 timers for KLNI.
; UPD ID= 2392, SNARK:<6.MONITOR>STG.MAC.256, 2-May-83 04:19:46 by LEAPLINE
;Add level 2 clock for KLNI because PHYSIO's timer is too long for KLNI.
; UPD ID= 2389, SNARK:<6.MONITOR>STG.MAC.255, 30-Apr-83 13:20:18 by LEAPLINE
;Remove KLNI level 2 clock.
; UPD ID= 2376, SNARK:<6.MONITOR>STG.MAC.254, 29-Apr-83 14:24:13 by MILLER
;TCO 6.1623. Add MXLOGO
; UPD ID= 2369, SNARK:<6.MONITOR>STG.MAC.253, 28-Apr-83 10:11:41 by LEACHE
;Temporarily define dummy return for CFSINI
; UPD ID= 2363, SNARK:<6.MONITOR>STG.MAC.252, 27-Apr-83 14:09:07 by MOSER
;TCO 6.1568 - ADD COFTIM AND COFMIN
; UPD ID= 2358, SNARK:<6.MONITOR>STG.MAC.251, 27-Apr-83 13:28:25 by MILLER
;tco 6.1094. Add some counters for CFS
; UPD ID= 2353, SNARK:<6.MONITOR>STG.MAC.250, 26-Apr-83 22:11:21 by MILLER
;TCO 6.1623. Adjust count
; UPD ID= 2352, SNARK:<6.MONITOR>STG.MAC.249, 26-Apr-83 21:52:52 by CDUNN
;More TCO 6.1127 - Add support locs for SCA second level clock
; UPD ID= 2339, SNARK:<6.MONITOR>STG.MAC.248, 25-Apr-83 14:17:13 by MILLER
;TCO 6.1623. Add locs for new password scheme.
; UPD ID= 2334, SNARK:<6.MONITOR>STG.MAC.247, 24-Apr-83 22:56:50 by PAETZOLD
;More TCO 6.1557 - ANXN, and ANX0 removal
; UPD ID= 2319, SNARK:<6.MONITOR>STG.MAC.246, 20-Apr-83 15:22:55 by PAETZOLD
;TCO 6.1619 - Add support for H19 terminal type
; UPD ID= 2311, SNARK:<6.MONITOR>STG.MAC.245, 19-Apr-83 22:37:49 by PAETZOLD
;TCO 6.1617 - Create dummy symbols for when DECNET does not exist.
; UPD ID= 2302, SNARK:<6.MONITOR>STG.MAC.244, 18-Apr-83 13:27:16 by PAETZOLD
;More TCO 6.1557 - Handle case of DCN off but FTNSPSRV on
; UPD ID= 2297, SNARK:<6.MONITOR>STG.MAC.243, 17-Apr-83 18:40:50 by MILLER
;TCO 6.1094. Add statistics for CFS
; UPD ID= 2291, SNARK:<6.MONITOR>STG.MAC.242, 16-Apr-83 19:16:09 by PAETZOLD
;TCO 6.1557 - TCP Merge
;TCO 6.1615 - Remove BLKTRN
; UPD ID= 2276, SNARK:<6.MONITOR>STG.MAC.241, 13-Apr-83 18:09:53 by MURPHY
;More 6.1525 - Extended free space should be NRPE not RSE. Revise macros.
; UPD ID= 2271, SNARK:<6.MONITOR>STG.MAC.240, 13-Apr-83 14:03:35 by MILLER
;tco 6.1610. Add PRTTBU
; UPD ID= 2267, SNARK:<6.MONITOR>STG.MAC.239, 13-Apr-83 12:28:57 by MILLER
;TCO 6.1610. Define CFSSKC and CFONLT
; UPD ID= 2265, SNARK:<6.MONITOR>STG.MAC.238, 13-Apr-83 12:24:17 by COBB
;TCO 6.1594 - Change SPDTBL to reflect new system PID entries
; UPD ID= 2258, SNARK:<6.MONITOR>STG.MAC.237, 13-Apr-83 08:34:04 by HALL
;TCO 6.1502 - Allow free space in extended section
; Change quotas
; UPD ID= 2241, SNARK:<6.MONITOR>STG.MAC.236, 12-Apr-83 13:13:48 by MCINTEE
;Remove IFNDEF FTNSPSRV
; UPD ID= 2224, SNARK:<6.MONITOR>STG.MAC.235, 8-Apr-83 17:54:21 by MURPHY
;TCO 6.1525 - Implement RSE, NRE, NRPE for storage in extended section.
; UPD ID= 2217, SNARK:<6.MONITOR>STG.MAC.234, 8-Apr-83 12:25:04 by MILLER
;Once more. Define CHKKLP correctly
; UPD ID= 2214, SNARK:<6.MONITOR>STG.MAC.233, 8-Apr-83 08:32:58 by MILLER
;TCO 6.1602. Add dummy CHHKLP
; UPD ID= 2193, SNARK:<6.MONITOR>STG.MAC.232, 7-Apr-83 23:18:48 by MURPHY
;TCO 6.1601 - Merge PAGFIL into PAGEM and PAGUTL.
; UPD ID= 2181, SNARK:<6.MONITOR>STG.MAC.231, 6-Apr-83 15:22:49 by MCINTEE
;SUPPRESS DDT PRINTOUT OF JOBM0
; UPD ID= 2179, SNARK:<6.MONITOR>STG.MAC.230, 6-Apr-83 10:34:01 by LEACHE
;Add comments
; UPD ID= 2170, SNARK:<6.MONITOR>STG.MAC.229, 5-Apr-83 18:55:54 by MILLER
; UPD ID= 2168, SNARK:<6.MONITOR>STG.MAC.228, 5-Apr-83 16:13:43 by MILLER
; UPD ID= 2164, SNARK:<6.MONITOR>STG.MAC.227, 4-Apr-83 21:46:04 by WACHS
;TCO 6.1587 - Change addressing for HSC disks to a per-page basis
; UPD ID= 2132, SNARK:<6.MONITOR>STG.MAC.226, 2-Apr-83 22:49:10 by LEACHE
;TC0 6.1247 Add password encryption definitions
; UPD ID= 2116, SNARK:<6.MONITOR>STG.MAC.225, 29-Mar-83 13:55:14 by MURPHY
;Remove MONFL, MONPC no longer used.
; UPD ID= 2113, SNARK:<6.MONITOR>STG.MAC.224, 29-Mar-83 05:23:16 by CDUNN
; More TCO 6.1127 - Add second level clock for the SCS% JSYS.
; UPD ID= 2036, SNARK:<6.MONITOR>STG.MAC.223, 20-Mar-83 12:40:18 by HALL
;TCO 6.1502 - Allow free space in extended section
; Define start and end of extended free space
; Allocate a section for free space
; UPD ID= 1997, SNARK:<6.MONITOR>STG.MAC.222, 15-Mar-83 16:46:24 by MILLER
;TCO 6.1546. Add SERCNT
; UPD ID= 1972, SNARK:<6.MONITOR>STG.MAC.221, 10-Mar-83 23:35:00 by MURPHY
;Ditto
; UPD ID= 1969, SNARK:<6.MONITOR>STG.MAC.220, 10-Mar-83 18:04:35 by MURPHY
;Ditto
; UPD ID= 1963, SNARK:<6.MONITOR>STG.MAC.219, 10-Mar-83 15:09:32 by MURPHY
;Make second PSB page setup same as first.
; UPD ID= 1953, SNARK:<6.MONITOR>STG.MAC.218, 9-Mar-83 16:02:44 by MURPHY
;Shuffle PSB storage so as to have TRAPSK size not conditional.
; UPD ID= 1949, SNARK:<6.MONITOR>STG.MAC.217, 9-Mar-83 14:43:29 by GRANT
;TCO 6.1481 - add LNSSLZ, LNBYTR, LNBYTS, LNBLKR, and LNBLKS
; UPD ID= 1917, SNARK:<6.MONITOR>STG.MAC.216, 7-Mar-83 06:47:46 by WACHS
;More TCO 6.1355
; UPD ID= 1911, SNARK:<6.MONITOR>STG.MAC.213, 3-Mar-83 09:25:53 by CDUNN
;More TCO 6.1127 Merge more changes for SCS% JSYS and SCA in general.
;Fixes feature test on TRAPSK and PSB storage.
; UPD ID= 1882, SNARK:<6.MONITOR>STG.MAC.212, 27-Feb-83 22:08:11 by MURPHY
; Bit in TTYPE1 to require page mode for terminal.
; UPD ID= 1864, SNARK:<6.MONITOR>STG.MAC.211, 23-Feb-83 13:19:52 by MILLER
;TCO 6.1520. Add SPTD
; UPD ID= 1853, SNARK:<6.MONITOR>STG.MAC.210, 22-Feb-83 11:46:51 by GRANT
;TCO 6.1481 - 2-word queue headers for DECnet
; UPD ID= 1845, SNARK:<6.MONITOR>STG.MAC.209, 20-Feb-83 22:19:10 by MURPHY
;TCO 6.1514 - Use ITERX instead of JRST ITRAP.
; UPD ID= 1838, SNARK:<6.MONITOR>STG.MAC.208, 20-Feb-83 20:27:30 by MURPHY
;More 6.1294 - get rid of unneeded RS's.
; UPD ID= 1833, SNARK:<6.MONITOR>STG.MAC.207, 19-Feb-83 14:07:56 by LEAPLINE
;Add LV8CHK for KLNI instead of calling it directly from SCHED.
; UPD ID= 1825, SNARK:<6.MONITOR>STG.MAC.206, 18-Feb-83 10:35:33 by LEAPLINE
;Add level 2 clock check for KLNI
; UPD ID= 1820, SNARK:<6.MONITOR>STG.MAC.205, 17-Feb-83 17:18:44 by RIZZOLO
;Add FTNIDLL and only load NIDLL.REL if non-zero. Also define it to be
;zero if it's not defined.
; UPD ID= 1818, SNARK:<6.MONITOR>STG.MAC.204, 17-Feb-83 14:52:35 by MCINTEE
;Still more 6.1484 for 6.1 - ADD NMLPSI & STUFF TO LV8CHK
; UPD ID= 1803, SNARK:<6.MONITOR>STG.MAC.203, 14-Feb-83 15:17:46 by HALL
;TCO 6.1502 - Allow resident free space in non-PC section
;Put all ATS definitions under ATS conditional to save space
; UPD ID= 1802, SNARK:<6.MONITOR>STG.MAC.202, 14-Feb-83 15:05:05 by MCINTEE
;More TCO 6.1484 - PUT EVRFRK IN 6.1
; UPD ID= 1779, SNARK:<6.MONITOR>STG.MAC.201, 10-Feb-83 10:59:22 by WEETON
;TCO 6.1487 - Move DSTFLG into common area
; UPD ID= 1777, SNARK:<6.MONITOR>STG.MAC.200, 10-Feb-83 05:30:05 by CDUNN
;More TCO 6.1127 Fix SCS% storage
; UPD ID= 1771, SNARK:<6.MONITOR>STG.MAC.199, 5-Feb-83 18:31:51 by MILLER
;TCO 6.1094. Define OFNCFS
; UPD ID= 1770, SNARK:<6.MONITOR>STG.MAC.198, 4-Feb-83 20:43:44 by GRANT
;More TCO 6.1493 - adjust .RESNQ
; UPD ID= 1767, SNARK:<6.MONITOR>STG.MAC.197, 4-Feb-83 11:15:07 by MILLER
;TCO 6.1094. Add DDCFSF
; UPD ID= 1765, SNARK:<6.MONITOR>STG.MAC.196, 4-Feb-83 10:55:54 by GRANT
;More TCO 6.1493
; UPD ID= 1764, SNARK:<6.MONITOR>STG.MAC.195, 4-Feb-83 09:57:40 by GRANT
;More TCO 6.1493
; UPD ID= 1763, SNARK:<6.MONITOR>STG.MAC.194, 4-Feb-83 09:46:30 by MCINTEE
;RESTORE EDIT 1678 - 6.1 NEEDS SOMES DECNET RESIDENT FREE SPACE
; UPD ID= 1758, SNARK:<6.MONITOR>STG.MAC.193, 3-Feb-83 14:01:38 by GRANT
;TCO 6.1493 - add UNITS pools to resident free space
; UPD ID= 1739, SNARK:<6.MONITOR>STG.MAC.192, 2-Feb-83 14:07:32 by GRANT
;TCO 6.1484 - EVENTS, EVRFRK, MXEVNT, NEVNTS
; UPD ID= 1737, SNARK:<6.MONITOR>STG.MAC.191, 2-Feb-83 12:41:24 by CDUNN
;More TCO 6.1127 Fix comments on EPGMAP to not point at FREE.MAC anymore
; UPD ID= 1733, SNARK:<6.MONITOR>STG.MAC.190, 1-Feb-83 14:38:59 by MCINTEE
;MAKE NTCTAB RESIDENT FOR 6.1
; UPD ID= 1727, SNARK:<6.MONITOR>STG.MAC.189, 31-Jan-83 20:47:53 by CDUNN
;More TCO 6.1127 Add per fork PSI storage for SCS% JSYS
; UPD ID= 1712, SNARK:<6.MONITOR>STG.MAC.188, 28-Jan-83 07:35:03 by MCINTEE
;TYPO IN EDIT 1704
; UPD ID= 1705, SNARK:<6.MONITOR>STG.MAC.187, 27-Jan-83 19:57:16 by MILLER
;TCO 6.1094. Add ALCLOK
; UPD ID= 1704, SNARK:<6.MONITOR>STG.MAC.186, 27-Jan-83 18:35:58 by MCINTEE
;CHANGE TTY BUFFER FOR 6.1 TO REFLECT CTERM
; UPD ID= 1701, SNARK:<6.MONITOR>STG.MAC.185, 27-Jan-83 10:00:41 by GRANT
;TCO 6.1455 - remove storage for internal links
; UPD ID= 1698, SNARK:<6.MONITOR>STG.MAC.184, 26-Jan-83 13:59:18 by LEAPLINE
;Change UNVECTORED interrupt processing for KLNI from level 5 to level 6
; UPD ID= 1695, SNARK:<6.MONITOR>STG.MAC.183, 25-Jan-83 14:49:09 by MCINTEE
;REINSTATE NETWORK TOPOLOGY CHANGE INTERRUPT FOR 6.1
; UPD ID= 1683, SNARK:<6.MONITOR>STG.MAC.182, 20-Jan-83 08:30:40 by GRANT
;TCO 6.1469 - add DNASTA
; UPD ID= 1681, SNARK:<6.MONITOR>STG.MAC.181, 19-Jan-83 15:42:37 by MCINTEE
;TCO 6.1471 - MOVE SEBINI INTO SYSGO1
; UPD ID= 1678, SNARK:<6.MONITOR>STG.MAC.180, 19-Jan-83 11:38:40 by MCINTEE
;REINSTATE DECNET RESIDENT POOL FOR 6.1, FOR MCB DTE INIT.
;DELETE DECNET SWAPPABLE POOL FOR 6.1
; UPD ID= 1676, SNARK:<6.MONITOR>STG.MAC.179, 18-Jan-83 23:14:52 by CDUNN
;More TCO 6.1127 - Move SCS% pointers in PSB such that we can get a few
;more words.
; UPD ID= 1669, SNARK:<6.MONITOR>STG.MAC.178, 16-Jan-83 21:47:18 by GRANT
;TCO 6.1454 - LOADMODULE NTMAN for all DECnet
; UPD ID= 1652, SNARK:<6.MONITOR>STG.MAC.177, 14-Jan-83 08:01:53 by HALL
;TCO 6.1463 - Split PAGEM into three parts
; Add PAGFIL and PAGUTL to LOADMODULE statement
; Move data here from the old PAGEM and make it global
; UPD ID= 1642, SNARK:<6.MONITOR>STG.MAC.176, 12-Jan-83 08:06:03 by MCINTEE
;TCO 6.1453 - MAKE ALL THE DEFAULT FEATURE TESTS GLOBAL !!
; UPD ID= 1634, SNARK:<6.MONITOR>STG.MAC.175, 10-Jan-83 08:05:02 by GRANT
;TCO 6.1442 - assemble NSPLPB only on KS
; UPD ID= 1633, SNARK:<6.MONITOR>STG.MAC.174, 9-Jan-83 21:25:34 by CDUNN
;More TCO 6.1127 - Fix error in last edit. Increase to four words, allowing
;head and tail pointer for each queue.
; UPD ID= 1632, SNARK:<6.MONITOR>STG.MAC.173, 9-Jan-83 20:22:09 by CDUNN
;More TCO 6.1127 - Add words to PSB pointing to SCS% message and datagram lists
; UPD ID= 1621, SNARK:<6.MONITOR>STG.MAC.172, 6-Jan-83 15:12:50 by MCINTEE
;Add symbol SABTSZ - size of SAB indirect table pointed to by PSBSAB.
;And NSPSAB - offset of NSP's SAB pointer in that table
; UPD ID= 1617, SNARK:<6.MONITOR>STG.MAC.171, 4-Jan-83 17:27:27 by NICHOLS
;Change ratio of free space allocated/used to 3/3 for R6.1.
; UPD ID= 1607, SNARK:<6.MONITOR>STG.MAC.170, 30-Dec-82 11:11:11 by CDUNN
;More TCO 6.1127 - Split SCA into two modules, add support for second module,
;SCS% JSYS support in SCSJSY.MAC
; UPD ID= 1602, SNARK:<6.MONITOR>STG.MAC.169, 29-Dec-82 13:46:18 by DONAHUE
;TCO 6.1410 - Remove MTINDX
; UPD ID= 1579, SNARK:<6.MONITOR>STG.MAC.168, 27-Dec-82 12:28:13 by NICHOLS
;Fix feature tests so that UPDL grows under IFE FTNSPSRV, not vice versa
; UPD ID= 1575, SNARK:<6.MONITOR>STG.MAC.167, 27-Dec-82 08:52:17 by GRANT
;TCO 6.1427 - add NSSSLZ
; UPD ID= 1570, SNARK:<6.MONITOR>STG.MAC.166, 26-Dec-82 14:01:34 by NICHOLS
;Move KONDSP from NRCOD to RESCD, needed for access at interrupt level
; UPD ID= 1567, SNARK:<6.MONITOR>STG.MAC.165, 22-Dec-82 18:39:51 by NICHOLS
;When DECnet free space is moved out of section zero, allocate 3/4
;of resident free space quotas instead of 2/3
; UPD ID= 1565, SNARK:<6.MONITOR>STG.MAC.164, 22-Dec-82 14:05:54 by NICHOLS
;Fix some more feature tests
; UPD ID= 1562, SNARK:<6.MONITOR>STG.MAC.163, 21-Dec-82 22:44:32 by NICHOLS
;Put in defaults for CHFLG and CSFLG feature tests
; UPD ID= 1561, SNARK:<6.MONITOR>STG.MAC.162, 21-Dec-82 16:54:49 by NICHOLS
;Fix feature test around SEARCH D36PAR
; UPD ID= 1546, SNARK:<6.MONITOR>STG.MAC.161, 21-Dec-82 00:22:06 by NICHOLS
;Take DCOPNM definition out of IFN FTNSPSRV
; UPD ID= 1544, SNARK:<6.MONITOR>STG.MAC.160, 20-Dec-82 23:04:07 by NICHOLS
;Fix .DAP feature testing
; UPD ID= 1541, SNARK:<6.MONITOR>STG.MAC.158, 20-Dec-82 19:25:32 by NICHOLS
;Add FTNSPSRV to distinguish between release 6.0 and 6.1
;Add definitions for the CTERM host and server
;Add LV8CHK calls for DECnet-36 and CTERM
; UPD ID= 1526, SNARK:<6.MONITOR>STG.MAC.157, 10-Dec-82 12:58:58 by GRANT
;TCO 6.1411 - add LLNUM and LLIDS, remove GUDOBJ and LLHEAD
; UPD ID= 1507, SNARK:<6.MONITOR>STG.MAC.156, 1-Dec-82 22:30:05 by LEAPLINE
;More KLNI support. Remove FTKLNI and add KNIN conditional
; UPD ID= 1505, SNARK:<6.MONITOR>STG.MAC.155, 1-Dec-82 17:13:21 by LEAPLINE
;TCO 6.1.XXXX Add KLNI support under FTKLNI conditional
; UPD ID= 1478, SNARK:<6.MONITOR>STG.MAC.154, 29-Nov-82 09:24:21 by GRANT
;TCO 6.1010 - Add CSTLOC, remove CSTS and SPCRES
; UPD ID= 1427, SNARK:<6.MONITOR>STG.MAC.153, 9-Nov-82 04:07:27 by WACHS
;TCO 6.1355 - Mods for KLIPA/MSCP
; UPD ID= 1424, SNARK:<6.MONITOR>STG.MAC.152, 8-Nov-82 10:22:02 by PAETZOLD
;More TCO 6.1334 - Forgot to remove the DIREC2 used for test purposes
; UPD ID= 1418, SNARK:<6.MONITOR>STG.MAC.151, 5-Nov-82 12:51:28 by MCINTEE
;Add PSBSAB to PSB for SCJSYS
; UPD ID= 1415, SNARK:<6.MONITOR>STG.MAC.150, 5-Nov-82 09:50:42 by MILLER
;TCO 6.1094. Define DDPFRK
; UPD ID= 1401, SNARK:<6.MONITOR>STG.MAC.149, 2-Nov-82 02:15:55 by CDUNN
;More TCO 6.1127 - Remove storage used by the old LCS driver (no longer
;referenced, see location MEMHI: in STG). Also fix CFS section definition
; UPD ID= 1383, SNARK:<6.MONITOR>STG.MAC.148, 26-Oct-82 19:26:08 by PAETZOLD
;TCO 6.1334 - Make LOADMODULE detect non unique module names.
; Also delete pre release 5 edit history.
; UPD ID= 1380, SNARK:<6.MONITOR>STG.MAC.147, 25-Oct-82 14:56:15 by MILLER
;TCO 6.1094. Define CFS section
; UPD ID= 1362, SNARK:<6.MONITOR>STG.MAC.146, 20-Oct-82 16:28:31 by MURPHY
;TCO 5.1.1098 - Assemble copyright notice into RSCOD.
; UPD ID= 1361, SNARK:<6.MONITOR>STG.MAC.145, 20-Oct-82 16:14:06 by CDUNN
;More TCO 6.1127 - Correct the feature test that govern the compilation of the
;SCS% dummy entry point (.SCS).
; UPD ID= 1356, SNARK:<6.MONITOR>STG.MAC.144, 19-Oct-82 13:10:38 by CDUNN
;More TCO 6.1127 - Add LOADMODULE support to build a monitor which includes
;CFS, SCA, and the KLIPA port driver.
; UPD ID= 1313, SNARK:<6.MONITOR>STG.MAC.143, 9-Oct-82 10:32:07 by GRANT
;TCO 5.1089 - Make ULLCZQ a list of length NTTMCB
; UPD ID= 1265, SNARK:<6.MONITOR>STG.MAC.142, 1-Oct-82 08:45:09 by NEUSTAEDTER
;TCO 6.1294 - Add BUGRCV for BUG. recovery address
; UPD ID= 1239, SNARK:<6.MONITOR>STG.MAC.141, 24-Sep-82 12:33:29 by GRANT
;TCO 5.1.1068 - Increase NTCMAX from 5 to 10
; UPD ID= 1198, SNARK:<6.MONITOR>STG.MAC.140, 20-Sep-82 14:55:01 by MILLER
;TCO 6.1094. Add a word to the SDB for the alias name
; UPD ID= 1157, SNARK:<6.MONITOR>STG.MAC.139, 9-Sep-82 20:48:56 by LEACHE
;TCO 6.1247 Add CRYPT to LOADMODULE
;One more try
; UPD ID= 1128, SNARK:<6.MONITOR>STG.MAC.137, 31-Aug-82 22:48:59 by MILLER
;Add scheduler clock for CFS
; UPD ID= 1123, SNARK:<6.MONITOR>STG.MAC.136, 31-Aug-82 11:12:40 by LEACHE
;TCO 6.1244 - Change width of VK100 to 84
; UPD ID= 1096, SNARK:<6.MONITOR>STG.MAC.135, 19-Aug-82 13:35:09 by MCINTEE
;TCO 6.1030 - put DAPRST & DAPLGO under IFE NFT
; UPD ID= 1085, SNARK:<6.MONITOR>STG.MAC.134, 16-Aug-82 14:05:05 by GRANT
;TCO 6.1227 - Increase MAXBLK
; UPD ID= 1081, SNARK:<6.MONITOR>STG.MAC.133, 16-Aug-82 07:57:09 by GRANT
;TCO 6.1226 - define words in JFN block for asynchronous IO
; UPD ID= 1068, SNARK:<6.MONITOR>STG.MAC.132, 9-Aug-82 19:28:47 by CDUNN
;TCO 6.1221
;Move PSB storage to get more TRAPSK space. Move ENSKR to before the hardware
;locs and PIPDB to after the hardware locs. This get us another 32 (octal)
;words for TRAPSK.
; UPD ID= 1043, SNARK:<6.MONITOR>STG.MAC.131, 6-Aug-82 14:27:16 by PAETZOLD
;TCO 6.1217 - Add the DSKRVC word to the SYSTAT GETTAB table
; UPD ID= 1038, SNARK:<6.MONITOR>STG.MAC.130, 4-Aug-82 14:20:47 by WALLACE
;TCO 6.1104 - Place definition of CTSSBK under FTDYN instead of
; FTCTS since Known Library List is in CTS State Block
; UPD ID= 1017, SNARK:<6.MONITOR>STG.MAC.129, 30-Jul-82 04:51:58 by WACHS
;TCO 6.1198 Mods for CI support
; UPD ID= 1004, SNARK:<6.MONITOR>STG.MAC.128, 27-Jul-82 10:33:31 by MCINTEE
;Add stub routines - DAPLGO & DAPRST - under IFE NFT
; UPD ID= 1002, SNARK:<6.MONITOR>STG.MAC.127, 26-Jul-82 00:18:16 by CDUNN
;Put .SCS dummpy entry for SCS% JSYS under conditional, such that it only
;compiles when the SCS% code is not present.
; UPD ID= 1000, SNARK:<6.MONITOR>STG.MAC.126, 21-Jul-82 09:16:46 by WALLACE
;TCO 6.1104 and 6.1105 - Place TTYNAM table under FTCTS conditional
; Conditionalize LOADMODULE of CTSMON
; Add dummy routine for DYNLB% and CTSOP% for the case when DYNFLG
; and/or CTSFLG are turned off
; UPD ID= 989, SNARK:<6.MONITOR>STG.MAC.124, 16-Jul-82 13:07:23 by CDUNN
;Add dummy entry point for SCS% JSYS...
; UPD ID= 988, SNARK:<6.MONITOR>STG.MAC.122, 16-Jul-82 08:09:44 by MCINTEE
;Add stub routine to define .DAP (for DAP% JSYS)
; UPD ID= 982, SNARK:<6.MONITOR>STG.MAC.121, 13-Jul-82 09:49:44 by CHALL
;Add stub routine to define .NSP (for NSP% JSYS) under IFE NFT
; UPD ID= 981, SNARK:<6.MONITOR>STG.MAC.120, 7-Jul-82 16:47:02 by COBB
;TCO 6.1183 - Add DEFAULT-EXEC: to system logical names
; UPD ID= 941, SNARK:<6.MONITOR>STG.MAC.119, 16-Jun-82 19:41:20 by MILLER
;TCO 6.1094 Add first part of CFS code
; UPD ID= 940, SNARK:<6.MONITOR>STG.MAC.118, 16-Jun-82 17:57:46 by HALL
;TCO 6.1156 - Recognize failure return from STEXBK
; UPD ID= 936, SNARK:<6.MONITOR>STG.MAC.117, 15-Jun-82 06:46:25 by HALL
;TCO 6.1156 - Load T1 before calling EXECBK
; UPD ID= 930, SNARK:<6.MONITOR>STG.MAC.116, 14-Jun-82 15:55:43 by HALL
;TCO 6.1156 - Support exec mode address break
; Change EXECBK to be in RSDAT so that system startup doesn't zero it.
; Call STEXBK if EXECBK is non-zero after PGRINI is called.
; UPD ID= 919, SNARK:<6.MONITOR>STG.MAC.115, 10-Jun-82 11:01:55 by HALL
;TCO 6.1000 - Support the 2080
; More on address break. Allocate room for break address on KL, too
; UPD ID= 909, SNARK:<6.MONITOR>STG.MAC.114, 9-Jun-82 23:38:32 by MURPHY
;TCO 6.1147 - Move bugdefs from BUGS.MAC to here and put them in-line.
; UPD ID= 888, SNARK:<6.MONITOR>STG.MAC.113, 9-Jun-82 18:26:37 by MURPHY
;TCO 6.1160 - Account idle time correctly in SCHED.
; UPD ID= 879, SNARK:<6.MONITOR>STG.MAC.112, 9-Jun-82 14:36:49 by HALL
;TCO 6.1000 - Support the 2080
; Add block for doing WRCTX on address break
; Add some cells to the PSB for address break
; UPD ID= 830, SNARK:<6.MONITOR>STG.MAC.111, 4-Jun-82 13:32:15 by HALL
;Add words for address break
; UPD ID= 795, SNARK:<6.MONITOR>STG.MAC.110, 27-May-82 08:35:25 by WALLACE
;TCO 6.1105 - Add Canonical Terminal Support
; Add support for CTS Section: Define the section number CTSSEC and reserve
; a page for the page table, CTSIDX.
; Add Terminal Type to Name Table (TTYNAM)
; Add CTSSBK to PSB Variables
; Add LOADMODULE for CTSMON
; UPD ID= 399, SNARK:<6.MONITOR>STG.MAC.64, 13-Feb-82 15:21:31 by HALL
;TCO 6.1000 - Change name to TTYSRC for KC
; UPD ID= 397, SNARK:<6.MONITOR>STG.MAC.63, 12-Feb-82 15:51:35 by GRANT
;TCO 5.1729 - Don't load NSPINT anymore
; UPD ID= 395, SNARK:<6.MONITOR>STG.MAC.62, 11-Feb-82 13:24:53 by HALL
;TCO 6.1000 - Temporarily load TTYSRV unconditionally for the KC
; UPD ID= 793, SNARK:<6.MONITOR>STG.MAC.109, 27-May-82 07:24:30 by HALL
;TCO 6.1000 - Support the 2080
; Remove TRAPSW since page fault data is on the stack now
; Make STARTF be in RSDAT, defaulting to zero.
; Make startup declare AC blocks
; UPD ID= 768, SNARK:<6.MONITOR>STG.MAC.108, 19-May-82 14:41:48 by HALL
;TCO 6.1000 - Move RLODPC out of here and to APRSRV
; UPD ID= 739, SNARK:<6.MONITOR>STG.MAC.107, 13-May-82 00:10:53 by CDUNN
;TCO 6.1127 - Increase the length of FPTABL to allow for sections up to 37
;for dynmaic section creation. All code under IFN <FTCI!FTKLIPA> conditional
; UPD ID= 731, SNARK:<6.MONITOR>STG.MAC.106, 11-May-82 16:55:45 by CDUNN
;TCO 6.1127 - Fix LOADMODULEs to load the right things under the new feature
;tests
; UPD ID= 730, SNARK:<6.MONITOR>STG.MAC.105, 11-May-82 15:04:10 by CDUNN
;TCO 6.1127 - Remove FTKLIPA from around HSC disk information since some code
;not under FTKLIPA references these.
; UPD ID= 728, SNARK:<6.MONITOR>STG.MAC.104, 11-May-82 05:11:19 by CDUNN
;TCO 6.1127 - More support still for SCA and KLIPA and CI
; UPD ID= 721, SNARK:<6.MONITOR>STG.MAC.103, 11-May-82 04:04:46 by CDUNN
;More TCO 6.1127 - More PHYxxx support
; UPD ID= 717, SNARK:<6.MONITOR>STG.MAC.102, 11-May-82 02:11:34 by CDUNN
;TCO 6.1127 - Add HSC type disk infomation under <FTCI!FTKLIPA>.
; UPD ID= 709, SNARK:<6.MONITOR>STG.MAC.101, 9-May-82 13:37:07 by HALL
;TCO 6.1000 - Support the 2080
; At SYSRST set full word of flags for crashed process
; Initialize new flags word for RLODPC to include AC block
; UPD ID= 708, SNARK:<6.MONITOR>STG.MAC.100, 9-May-82 13:28:32 by CDUNN
;TCO 6.1077 - Add extended memory allocator code...
; UPD ID= 694, SNARK:<6.MONITOR>STG.MAC.99, 5-May-82 11:33:38 by MURPHY
;TCO 6.1123 - J0RLDF
; UPD ID= 680, SNARK:<6.MONITOR>STG.MAC.98, 3-May-82 15:45:30 by MCINTEE
;TCO 6.1030 - add JSBDAP to JSB; put dummy LNWAI & DAPHND under IFE NFT
; UPD ID= 677, SNARK:<6.MONITOR>STG.MAC.97, 3-May-82 11:47:54 by MURPHY
;TCO 6.1122 - FKSTA2
; UPD ID= 664, SNARK:<6.MONITOR>STG.MAC.96, 27-Apr-82 16:50:59 by MURPHY
;TCO 6.1106 - TTWAKN
; UPD ID= 642, SNARK:<6.MONITOR>STG.MAC.95, 14-Apr-82 14:20:04 by CDUNN
;TCO 6.1093 - Add FTKLIPA to support the KLIPA driver.
; UPD ID= 632, SNARK:<6.MONITOR>STG.MAC.94, 12-Apr-82 15:23:07 by MILLER
; UPD ID= 625, SNARK:<6.MONITOR>STG.MAC.93, 11-Apr-82 16:55:07 by MILLER
;TCO 6.1066. DEFINE TAD11 FOR KL OR KC
; UPD ID= 615, SNARK:<6.MONITOR>STG.MAC.90, 9-Apr-82 10:10:12 by MURPHY
;Get rid of conditional around loadmodule ttysrv
; UPD ID= 614, SNARK:<6.MONITOR>STG.MAC.89, 9-Apr-82 09:47:10 by CHALL
;TCO 6.1087 TTYPE0- TTYPE1- Add VT102 support
; UPD ID= 606, SNARK:<6.MONITOR>STG.MAC.88, 7-Apr-82 16:25:17 by HALL
;TCO 6.1000 - SUPPORT THE 2080
; ADD DEFINITION OF MSSPTB (SUPER SECTION TABLE IN EPT) AND USSPTB (SUPER
; SECTION TABLE IN UPT)
; Get rid of some obsolete definitions of EPT offsets
; UPD ID= 593, SNARK:<6.MONITOR>STG.MAC.87, 5-Apr-82 14:06:59 by MILLER
;More TCO 6.1066. Add more storage for RSP
; UPD ID= 583, SNARK:<6.MONITOR>STG.MAC.86, 2-Apr-82 18:08:42 by MURPHY
;More 6.1074
; UPD ID= 563, SNARK:<6.MONITOR>STG.MAC.85, 31-Mar-82 15:42:05 by CDUNN
;TCO 6.1078 - Add CI emulator support code under FTCI... Also include
;default setting for FTCI to be off...
; UPD ID= 558, SNARK:<6.MONITOR>STG.MAC.84, 24-Mar-82 17:04:51 by MURPHY
;TCO 6.1074 - Revise build procedures.
; UPD ID= 534, SNARK:<6.MONITOR>STG.MAC.83, 19-Mar-82 15:22:31 by MILLER
; UPD ID= 513, SNARK:<6.MONITOR>STG.MAC.82, 16-Mar-82 20:20:43 by PAETZOLD
;TCO 5.1756 - Increase NHOSTS. Grumble. Grumble.
; UPD ID= 507, SNARK:<6.MONITOR>STG.MAC.81, 16-Mar-82 08:08:43 by MILLER
; UPD ID= 500, SNARK:<6.MONITOR>STG.MAC.80, 15-Mar-82 16:55:33 by MILLER
;TCO 6.1066 some more
; UPD ID= 497, SNARK:<6.MONITOR>STG.MAC.79, 15-Mar-82 14:39:58 by MILLER
;TCO 6.1066. ADD INTCLR
; UPD ID= 493, SNARK:<6.MONITOR>STG.MAC.78, 15-Mar-82 13:29:31 by MILLER
; UPD ID= 490, SNARK:<6.MONITOR>STG.MAC.77, 15-Mar-82 09:57:24 by MILLER
; UPD ID= 487, SNARK:<6.MONITOR>STG.MAC.76, 15-Mar-82 09:40:51 by MILLER
; UPD ID= 473, SNARK:<6.MONITOR>STG.MAC.75, 13-Mar-82 10:31:34 by MILLER
;TCO 6.1066 SOME MORE
; UPD ID= 466, SNARK:<6.MONITOR>STG.MAC.74, 11-Mar-82 17:44:50 by MILLER
; UPD ID= 464, SNARK:<6.MONITOR>STG.MAC.73, 11-Mar-82 17:15:04 by MILLER
; UPD ID= 456, SNARK:<6.MONITOR>STG.MAC.72, 11-Mar-82 11:45:34 by MILLER
;More TCO 6.1066. Add line scanning code
; UPD ID= 453, SNARK:<6.MONITOR>STG.MAC.71, 11-Mar-82 08:24:50 by MILLER
;TCO 6.1066. ADD PI6 CODE FOR KC (TTY INTERRUPT CODE)
; UPD ID= 442, SNARK:<6.MONITOR>STG.MAC.70, 6-Mar-82 11:50:56 by HALL
;TCO 6.1000 - Support the 2080
;Change names of page fail offsets in UPT for the KC.
;Move definition of generic names under conditional
; UPD ID= 434, SNARK:<6.MONITOR>STG.MAC.69, 4-Mar-82 23:24:42 by PAETZOLD
;TCO 5.1745 - Increase size of DTESKP
; UPD ID= 418, SNARK:<6.MONITOR>STG.MAC.68, 22-Feb-82 11:03:06 by MCINTEE
;add dummy symbols & routines to turn off node name parsing when NFT=0
; UPD ID= 417, SNARK:<6.MONITOR>STG.MAC.67, 22-Feb-82 10:51:42 by MCINTEE
; UPD ID= 413, SNARK:<6.MONITOR>STG.MAC.66, 21-Feb-82 14:08:23 by HALL
;TCO 6.1000 - Support the 2080
;Add dummy routines as end of module as temporary means of linking KC monitor
;Put call to LPTCHK under LPTN conditional
; UPD ID= 407, SNARK:<6.MONITOR>STG.MAC.65, 16-Feb-82 11:21:37 by HALL
;TCO 6.1000 - Change name for TTYSRV again. Must be unique in 5 characters.
; UPD ID= 399, SNARK:<6.MONITOR>STG.MAC.64, 13-Feb-82 15:21:31 by HALL
;TCO 6.1000 - Change name to TTYSRC for KC
; UPD ID= 397, SNARK:<6.MONITOR>STG.MAC.63, 12-Feb-82 15:51:35 by GRANT
;TCO 5.1729 - Don't load NSPINT anymore
; UPD ID= 395, SNARK:<6.MONITOR>STG.MAC.62, 11-Feb-82 13:24:53 by HALL
;TCO 6.1000 - Temporarily load TTYSRV unconditionally for the KC
; UPD ID= 382, SNARK:<6.MONITOR>STG.MAC.61, 5-Feb-82 09:43:27 by HALL
;TCO 6.1000 - Support the 2080
; Remove some EXT's that aren't used any more
; Remove model A and KS support.
; Initialize all extended addressing flags to be on
; Don't reserve space in section 0 for directories, index table,
; bit table, or DST
; Remove code at SYSGO1 that checks for extended machine
; Set PCDPN to 0 by default (no card punch)
; No ARPA buffers for the KC
; UPD ID= 377, SNARK:<6.MONITOR>STG.MAC.59, 3-Feb-82 07:12:39 by HALL
;TCO 6.1000 - Support the 2080
; Removed a bunch of SMFLG's, added some KCFLG's
; UPD ID= 344, SNARK:<6.MONITOR>STG.MAC.58, 24-Jan-82 14:19:35 by MURPHY
;TCO 5.1697 - XSSEV%, etc. Add PATLEV, DMSLEV.
; UPD ID= 342, SNARK:<6.MONITOR>STG.MAC.57, 23-Jan-82 12:10:41 by PAETZOLD
;TCO 5.1699 - Add VT125 and VK100 support to the monitor
; UPD ID= 340, SNARK:<6.MONITOR>STG.MAC.56, 22-Jan-82 12:12:15 by WALLACE
;TCO 5.1558 - Correct computation that tests whether location of PSB
; variables and location of UDPL conflict
; UPD ID= 336, SNARK:<6.MONITOR>STG.MAC.55, 21-Jan-82 13:40:48 by HALL
;TCO 6.1000 - Support the 2080
; Add UPT offset definitions
; UPD ID= 333, SNARK:<6.MONITOR>STG.MAC.54, 20-Jan-82 20:08:16 by PAETZOLD
;TCO 5.1684 - Make OFNLEN resident
;More of the PI fixes. Work on BUGCHK code for PISC5 & PISC6 (Miller)
; UPD ID= 285, SNARK:<6.MONITOR>STG.MAC.52, 8-Jan-82 15:26:55 by MILLER
;More fixing for non-vectored ints.
; UPD ID= 283, SNARK:<6.MONITOR>STG.MAC.51, 8-Jan-82 13:58:56 by TORREY
;TCO 5.1659 - INCREASE SNOOP PAGES FROM 8 TO ^D12
; UPD ID= 279, SNARK:<6.MONITOR>STG.MAC.50, 6-Jan-82 10:49:23 by MILLER
;TCO 6.1054. ADD .GOATJ FUNCTION OF ACJ
; UPD ID= 263, SNARK:<6.MONITOR>STG.MAC.49, 18-Dec-81 14:28:45 by PAETZOLD
;TCO 6.1048 - force NFT off if DCN is off
; UPD ID= 258, SNARK:<6.MONITOR>STG.MAC.48, 16-Dec-81 00:28:45 by PAETZOLD
;More TCO 6.1010 - fix up early CST references
; UPD ID= 249, SNARK:<6.MONITOR>STG.MAC.47, 13-Dec-81 10:54:41 by GRANT
;TCO 5.1636 - add SEGSZ
; UPD ID= 242, SNARK:<6.MONITOR>STG.MAC.46, 9-Dec-81 18:32:59 by SOUTH
;TCO 6.1046 - Add block of variables for dte timer test.
; UPD ID= 230, SNARK:<6.MONITOR>STG.MAC.45, 3-Dec-81 11:57:43 by GRANT
;More or previous edit - fix the second table
; UPD ID= 228, SNARK:<6.MONITOR>STG.MAC.44, 3-Dec-81 10:43:16 by GRANT
;TCO 5.1624 - Increase reserved TTY types from 4 to 20
; UPD ID= 222, SNARK:<6.MONITOR>STG.MAC.43, 30-Nov-81 08:43:47 by PAETZOLD
;TCO 6.1010 - Add CSTS, Remove CST0, CST1, CST2, CST3, change SRPLQ,
; SPMQ, SWPLST, and DRPLQ
; UPD ID= 200, SNARK:<6.MONITOR>STG.MAC.42, 10-Nov-81 10:20:26 by HALL
;TCO 6.1037 - Add PSB location to hold address of user's block for
;pushdown list overflow trapping
; UPD ID= 194, SNARK:<6.MONITOR>STG.MAC.41, 7-Nov-81 13:22:03 by PAETZOLD
;TCP 5.1610 - Force NTTMCB off if DCN is off
; UPD ID= 101, SNARK:<6.MONITOR>STG.MAC.40, 13-Oct-81 10:56:53 by MURPHY
;TCO 5.1570 - Fix bug in utilization computation.
; UPD ID= 92, SNARK:<6.MONITOR>STG.MAC.39, 5-Oct-81 11:36:45 by MURPHY
;NFT DEVICE
; UPD ID= 88, SNARK:<6.MONITOR>STG.MAC.38, 4-Oct-81 23:51:27 by PAETZOLD
;TCO 5.1554 - ADD CODE TO TRACE DOWN SPTLKB PROBLEMS UNDER CONTROL OF SPTDSW
; UPD ID= 85, SNARK:<6.MONITOR>STG.MAC.37, 2-Oct-81 13:34:23 by MURPHY
;REFINE PREVIOUS
; UPD ID= 81, SNARK:<6.MONITOR>STG.MAC.36, 22-Sep-81 17:29:21 by MURPHY
;TCO 5.1514 - INCREASE AMOUNT OF RES FREE MAINTAINED BY JOB 0
; UPD ID= 79, SNARK:<6.MONITOR>STG.MAC.35, 17-Sep-81 09:39:05 by GRANT
;Needed for TCO 5.1490 - Add LLSRVQ, LSTLLS, AKLSTL, AND ACKLST
; UPD ID= 75, SNARK:<6.MONITOR>STG.MAC.34, 16-Sep-81 10:23:03 by PAETZOLD
;TCO 4.1.1051 - INCLUDE USGMUP
; UPD ID= 66, SNARK:<6.MONITOR>STG.MAC.33, 14-Sep-81 11:13:14 by PAETZOLD
;TCO 6.1010 - Move CSTS to CSTSEC - Create CSTX tables
; UPD ID= 64, SNARK:<6.MONITOR>STG.MAC.32, 11-Sep-81 09:38:32 by PAETZOLD
;TCO 5.1458 - Change names of FLIN/FLOUT to MFLIN/MFLOUT
; UPD ID= 62, SNARK:<6.MONITOR>STG.MAC.31, 9-Sep-81 10:11:27 by PAETZOLD
;TCO 5.1494 - Increase size of TRAPSK
; UPD ID= 58, SNARK:<6.MONITOR>STG.MAC.30, 30-Aug-81 20:09:28 by PAETZOLD
;More of TCO 5.1461
; UPD ID= 57, SNARK:<6.MONITOR>STG.MAC.29, 28-Aug-81 18:52:01 by PAETZOLD
;TCO 5.1461 - Add MMAPWD
; UPD ID= 56, SNARK:<6.MONITOR>STG.MAC.28, 27-Aug-81 20:17:09 by PAETZOLD
;change TCO 5.1010X to TCO 5.1473
; UPD ID= 54, SNARK:<6.MONITOR>STG.MAC.27, 23-Aug-81 13:32:05 by PAETZOLD
;TCO 5.1010X - ADD NCPLPC
; UPD ID= 47, SNARK:<6.MONITOR>STG.MAC.26, 8-Aug-81 15:07:53 by PAETZOLD
;More TCO 5.1380 - Increase size of BUGPLN
; UPD ID= 44, SNARK:<6.MONITOR>STG.MAC.25, 5-Aug-81 12:21:27 by MURPHY
;TCO 5.1428 - HPSWRN
; UPD ID= 41, SNARK:<6.MONITOR>STG.MAC.24, 24-Jul-81 05:24:54 by PAETZOLD
;TCO 5.1382 - Create dummy BLKASG if no decnet so sysdpy works
; UPD ID= 39, SNARK:<6.MONITOR>STG.MAC.23, 23-Jul-81 11:22:45 by PAETZOLD
;More TCO 5.1380 - Remove uneeded data items for syserr (eg sebbfr)
; UPD ID= 38, SNARK:<6.MONITOR>STG.MAC.22, 23-Jul-81 11:14:21 by PAETZOLD
;More of TCO 5.1333 - yet another bad pointer
;Remove TCO 5.1302 as it is no longer needed
; UPD ID= 37, SNARK:<6.MONITOR>STG.MAC.21, 20-Jul-81 15:15:49 by MURPHY
;FRKNOP, LSTIPC, SCOUNT
; UPD ID= 28, SNARK:<6.MONITOR>STG.MAC.20, 15-Jul-81 11:55:47 by MURPHY
;FLUSH SCDRQ
; UPD ID= 21, SNARK:<6.MONITOR>STG.MAC.19, 13-Jul-81 14:46:07 by GRANT
;Make LSTTMR resident - now used in NSPTST
; UPD ID= 18, SNARK:<6.MONITOR>STG.MAC.18, 13-Jul-81 12:04:01 by GRANT
;More of previous edit
; UPD ID= 3, SNARK:<6.MONITOR>STG.MAC.17, 9-Jul-81 17:56:04 by GRANT
;Increase resident free space for DECnet
; UPD ID= 2275, SNARK:<6.MONITOR>STG.MAC.16, 30-Jun-81 11:59:36 by GRANT
;Make LSTINT resident - now used in NSPTST
; UPD ID= 2208, SNARK:<6.MONITOR>STG.MAC.15, 17-Jun-81 15:33:59 by PAETZOLD
;Add comment to previous edit
; UPD ID= 2207, SNARK:<6.MONITOR>STG.MAC.14, 17-Jun-81 15:30:54 by PAETZOLD
;TCO 5.1333 Add OWGBPV table and code to blt it into EPT
; UPD ID= 2174, SNARK:<6.MONITOR>STG.MAC.13, 11-Jun-81 10:26:17 by MILLER
;TCO 6.1021. ADD TLAB14
; UPD ID= 2137, SNARK:<6.MONITOR>STG.MAC.12, 7-Jun-81 21:46:51 by GRANT
;ADD LSTTMR
; UPD ID= 2109, SNARK:<6.MONITOR>STG.MAC.11, 29-May-81 16:23:54 by MURPHY
; UPD ID= 2088, SNARK:<6.MONITOR>STG.MAC.10, 27-May-81 13:49:29 by GRANT
;NSSNTQ, INNSPT, INNSPI, NSINAC, LSTINT, NODSTZ
; UPD ID= 1961, SNARK:<6.MONITOR>STG.MAC.9, 7-May-81 14:55:38 by OSMAN
;increase DGOFKN from 5 to 6
; UPD ID= 1784, SNARK:<6.MONITOR>STG.MAC.8, 5-Apr-81 13:33:43 by GRANT
;MAKE SOME NSP COUNTERS RESIDENT
; UPD ID= 1777, SNARK:<6.MONITOR>STG.MAC.7, 27-Mar-81 14:51:40 by GRANT
;TCO 5.1277 - conditionalize the linking of PHYM2
; UPD ID= 1734, SNARK:<6.MONITOR>STG.MAC.6, 19-Mar-81 08:44:41 by WACHS
;DIAGWT
; UPD ID= 1716, SNARK:<6.MONITOR>STG.MAC.5, 16-Mar-81 15:14:00 by MURPHY
;NDTEMQ
; UPD ID= 1706, SNARK:<6.MONITOR>STG.MAC.4, 16-Mar-81 11:44:52 by LYONS
; FIX UNVECTORED PI 5 AND 6 CODE
; UPD ID= 1618, SNARK:<6.MONITOR>STG.MAC.3, 28-Feb-81 11:39:16 by HALL
;TCO 6.1000 - implement the 2080
; Remove XWD and XPCW blocks for interrupt code
; change IFE SMFLG's to IFN KLFLG or IFN KLFLG!KCFLG
; UPD ID= 1600, SNARK:<6.MONITOR>STG.MAC.2, 27-Feb-81 07:21:52 by WACHS
;TCO 6.1002 Add DUALCT, used in disk dual-port code
; UPD ID= 1529, SNARK:<5.MONITOR>STG.MAC.83, 6-Feb-81 17:11:10 by MURPHY
;SPTO2
; UPD ID= 1525, SNARK:<5.MONITOR>STG.MAC.82, 6-Feb-81 12:47:04 by ZIMA
;TCO 5.1258 - remove IO dump buffers to recover unused address space.
; UPD ID= 1515, SNARK:<5.MONITOR>STG.MAC.81, 4-Feb-81 10:29:28 by GRANT
;INCREASE BIGNOD TO SUPPORT THE ENGINEERING NETWORK
; UPD ID= 1510, SNARK:<5.MONITOR>STG.MAC.80, 2-Feb-81 15:25:55 by GRANT
;Make NSBYTS and NSMSGS tables resident
; UPD ID= 1499, SNARK:<5.MONITOR>STG.MAC.79, 26-Jan-81 16:51:08 by ENGEL
;GET RID OF SOME OF THE LCS STUFF
; UPD ID= 1459, SNARK:<5.MONITOR>STG.MAC.78, 20-Jan-81 17:36:29 by MURPHY
;TQLNQ
; UPD ID= 1409, SNARK:<5.MONITOR>STG.MAC.77, 6-Jan-81 15:02:55 by MURPHY
;MAKE CERTAIN NSP VARIABLES RESIDENT
; UPD ID= 1365, SNARK:<5.MONITOR>STG.MAC.76, 18-Dec-80 10:17:09 by WACHS
; UPD ID= 1346, SNARK:<5.MONITOR>STG.MAC.75, 12-Dec-80 09:49:10 by GRANT
;TCO 5.1213 - Increase swappable free space allocation for DECnet
; UPD ID= 1343, SNARK:<5.MONITOR>STG.MAC.74, 12-Dec-80 09:05:10 by GRANT
;Add DTEEND for resident free space debugging
;TCO 5.1206 change parameters for rp07, load PHYM78
; UPD ID= 1331, SNARK:<5.MONITOR>STG.MAC.73, 1-Dec-80 17:33:05 by LYONS
;Add a page for KS's to do skip i/o functions to
; UPD ID= 1314, SNARK:<5.MONITOR>STG.MAC.72, 25-Nov-80 16:31:45 by GRANT
;Add NSP Node Counter Tables
; UPD ID= 1287, SNARK:<5.MONITOR>STG.MAC.71, 18-Nov-80 14:40:19 by OSMAN
;tco 5.1189 - make entry vector two words
; UPD ID= 1275, SNARK:<5.MONITOR>STG.MAC.70, 14-Nov-80 17:54:52 by MURPHY
;LFORKX
; UPD ID= 1193, SNARK:<5.MONITOR>STG.MAC.69, 25-Oct-80 12:14:23 by HALL
;TCO 5.1180 -- Move DST to non-zero section
; DEFINE DST CONDITIONALLY ON EXADF
; DEFINE DSTLOC
; UPD ID= 1184, SNARK:<5.MONITOR>STG.MAC.68, 21-Oct-80 14:42:34 by ENGEL
;MOVE MCBDTE
; UPD ID= 1173, SNARK:<5.MONITOR>STG.MAC.67, 20-Oct-80 10:26:48 by ENGEL
;ADD LOADMODULE FOR CISRV AND LCSSRV UNTIL WE DECIDE WHAT NEEDS TO BE DONE
; UPD ID= 1134, SNARK:<5.MONITOR>STG.MAC.66, 6-Oct-80 15:49:47 by GRANT
;Add dummy entry point .NTMAN:: for non-DECnet assembly
; UPD ID= 1070, SNARK:<5.MONITOR>STG.MAC.65, 30-Sep-80 14:25:45 by GRANT
;TCO 5.1161 - Increase size of, and add symbol for, KMC's stack
; UPD ID= 1052, SNARK:<5.MONITOR>STG.MAC.64, 26-Sep-80 11:17:07 by GRANT
;Add NODMAP, BIGNOD, and NMAPLK - the node name mapping table, its size, and lock
; UPD ID= 1050, SNARK:<5.MONITOR>STG.MAC.63, 25-Sep-80 17:35:39 by ENGEL
;ADD NEWNOD
; UPD ID= 989, SNARK:<5.MONITOR>STG.MAC.62, 4-Sep-80 18:37:58 by ENGEL
;ADD TABSEC FOR DST,CST, ETC.
; UPD ID= 976, SNARK:<5.MONITOR>STG.MAC.61, 29-Aug-80 08:46:06 by ENGEL
;CHANGE LCSMEM TO BE SET BY KLPRE
; UPD ID= 970, SNARK:<5.MONITOR>STG.MAC.60, 25-Aug-80 16:30:28 by ENGEL
;TCO 5.1136 - ADD DEVLKK
; UPD ID= 952, SNARK:<5.MONITOR>STG.MAC.59, 22-Aug-80 15:54:16 by ENGEL
; UPD ID= 942, SNARK:<5.MONITOR>STG.MAC.57, 20-Aug-80 17:54:12 by MURPHY
;ULLCZQ
; UPD ID= 941, SNARK:<5.MONITOR>STG.MAC.56, 20-Aug-80 17:00:36 by ENGEL
;TCO #5.1136 - ADD THE NEW LOCK STUFF
; UPD ID= 923, SNARK:<5.MONITOR>STG.MAC.54, 20-Aug-80 09:51:18 by MURPHY
;REMOVE FILNSP
; UPD ID= 917, SNARK:<5.MONITOR>STG.MAC.53, 19-Aug-80 14:10:51 by MURPHY
;Change legal mode mask for DCN:, SRV:
; UPD ID= 908, SNARK:<5.MONITOR>STG.MAC.52, 18-Aug-80 21:01:35 by LYONS
;Increase the size of the host name table, as it can overflow
; UPD ID= 906, SNARK:<5.MONITOR>STG.MAC.51, 18-Aug-80 13:02:42 by LYONS
;More of TCO 5.1062, add alternate swap address to force verification
;of the monitor as it swaps out.
; UPD ID= 897, SNARK:<5.MONITOR>STG.MAC.50, 14-Aug-80 10:30:38 by LYONS
;TCO 5.1062 add ERRSWP as a flag for an error in swapping a critical page,
;and bughlt later, after the bat block is updated.
; UPD ID= 894, SNARK:<5.MONITOR>STG.MAC.49, 14-Aug-80 10:23:09 by MURPHY
;Move in EPT definitions from DTESRV FOR DTE20
; UPD ID= 889, SNARK:<5.MONITOR>STG.MAC.48, 13-Aug-80 18:10:51 by MURPHY
;FEDBSW
; UPD ID= 879, SNARK:<5.MONITOR>STG.MAC.47, 12-Aug-80 16:16:21 by MURPHY
;NPRIVP
; UPD ID= 848, SNARK:<5.MONITOR>STG.MAC.46, 7-Aug-80 10:22:36 by ENGEL
;increase bytbuf to 210
; UPD ID= 813, SNARK:<5.MONITOR>STG.MAC.44, 30-Jul-80 11:16:01 by MURPHY
;ADD WEFLAG, MOVE DBUGSW, DCHKSW, EDDTF TO RSDAT
; UPD ID= 806, SNARK:<5.MONITOR>STG.MAC.43, 29-Jul-80 09:46:36 by HALL
;MOVE FFF TO POSTLD
; UPD ID= 799, SNARK:<5.MONITOR>STG.MAC.42, 24-Jul-80 15:04:04 by HALL
;MOVE INITIALIZATION OF DATA IN RSVAR FROM SYSGO1. PUT DATA IN RSDAT
;AND INITIALIZE AT ASSEMBLY TIME
; UPD ID= 791, SNARK:<5.MONITOR>STG.MAC.41, 23-Jul-80 20:30:25 by MURPHY
;TNETRQ
; UPD ID= 783, SNARK:<5.MONITOR>STG.MAC.40, 23-Jul-80 11:32:45 by HALL
;CLEAN UP COMMENTS FROM WRITE-PROTECTING PROJECT
; UPD ID= 779, SNARK:<5.MONITOR>STG.MAC.39, 23-Jul-80 10:50:25 by OSMAN
;tco 5.1109 - Add PDVS
; UPD ID= 775, SNARK:<5.MONITOR>STG.MAC.38, 22-Jul-80 16:35:34 by HALL
;CHANGES TO RESIDENT FREE SPACE: MAKE POOL NUMBERS START WITH 1
; IN ORDER TO DETECT ZEROED POOL NUMBER IN FREE SPACE
; UPD ID= 752, SNARK:<5.MONITOR>STG.MAC.37, 11-Jul-80 15:56:42 by DBELL
;TCO 5.1102 - INCREASE BTBMAX SO SINGLE UNIT RP20 WORKS FOR MODEL A'S
; UPD ID= 711, SNARK:<5.MONITOR>STG.MAC.36, 30-Jun-80 09:48:30 by ENGEL
;MAKE .RENSP 2 AGAIN (DONE BECAUSE OF THE 2102 PANIC)
;TEMPORARY - MAKE RESBTB PAGE ALIGNED SO IT CAN BE WRITE-PROTECTED
; UPD ID= 701, SNARK:<5.MONITOR>STG.MAC.34, 26-Jun-80 09:33:05 by LYONS
;Cycle the ARPAnet after a power fail to be sure we have updated info
; UPD ID= 664, SNARK:<5.MONITOR>STG.MAC.33, 16-Jun-80 17:23:40 by KONEN
;TCO 5.1063 - REMOVE PS: AS NAME OF PRIMARY STRUCTURE
; UPD ID= 617, SNARK:<5.MONITOR>STG.MAC.31, 9-Jun-80 16:07:08 by HALL
;FIX THE FEFLG CHANGES -- MAKE BOTH KL AND KS VERSIONS BE IN RSVAR
; UPD ID= 615, SNARK:<5.MONITOR>STG.MAC.30, 7-Jun-80 18:45:00 by KONEN
; UPD ID= 608, SNARK:<5.MONITOR>STG.MAC.29, 5-Jun-80 15:57:35 by KONEN
;Put FEFLG into writable area for KS code in PROINI
; UPD ID= 607, SNARK:<5.MONITOR>STG.MAC.28, 5-Jun-80 13:36:36 by ENGEL
; UPD ID= 604, SNARK:<5.MONITOR>STG.MAC.26, 5-Jun-80 08:36:27 by ENGEL
; UPD ID= 599, SNARK:<5.MONITOR>STG.MAC.24, 4-Jun-80 14:14:39 by ENGEL
;ADD BLKTRN FOR THE MEMORY DRIVER BLOCK TRANSFER SERVICE
; UPD ID= 589, SNARK:<5.MONITOR>STG.MAC.23, 3-Jun-80 08:16:53 by ENGEL
;MAKE SKDPDL LONGER
; UPD ID= 583, SNARK:<5.MONITOR>STG.MAC.22, 2-Jun-80 10:41:23 by ENGEL
;MAKE .RESNP EQUAL TO 0 (HIGHEST LEVEL SCHEDULAR CONTEXT)
; UPD ID= 571, SNARK:<5.MONITOR>STG.MAC.21, 30-May-80 09:03:31 by GRANT
;Move KLILNO from RESCD to RSVAR - needed for write protecting the
;resident monitor
; UPD ID= 570, SNARK:<5.MONITOR>STG.MAC.20, 30-May-80 08:58:22 by ENGEL
; UPD ID= 566, SNARK:<5.MONITOR>STG.MAC.19, 28-May-80 20:26:58 by ENGEL
;MAKE MCBDTE RESIDENT
; UPD ID= 513, SNARK:<5.MONITOR>STG.MAC.18, 12-May-80 11:07:12 by ENGEL
;MOVE LCSSEC OUT OF SMFLG CONDITIONAL
; UPD ID= 512, SNARK:<5.MONITOR>STG.MAC.17, 9-May-80 12:47:00 by ENGEL
;CHANGE MMALRM
; UPD ID= 511, SNARK:<5.MONITOR>STG.MAC.16, 8-May-80 20:15:58 by ENGEL
;CHANGE MEMHI TO REFLECT THE MF10
; UPD ID= 500, SNARK:<5.MONITOR>STG.MAC.15, 1-May-80 15:00:57 by GRANT
;TCO 5.1031 - Add GUDOBJ
; UPD ID= 488, SNARK:<5.MONITOR>STG.MAC.14, 29-Apr-80 14:36:22 by LYONS
;Move more ARPANET cells into RSADT
; UPD ID= 453, SNARK:<5.MONITOR>STG.MAC.13, 21-Apr-80 18:27:26 by LYONS
;Move GETOK, ARAPNET cells into RSDAT from RSCOD
; UPD ID= 447, SNARK:<5.MONITOR>STG.MAC.12, 19-Apr-80 12:30:38 by KONEN
;Write enable PRELDF
; UPD ID= 446, SNARK:<5.MONITOR>STG.MAC.11, 18-Apr-80 09:17:28 by ENGEL
; UPD ID= 440, SNARK:<5.MONITOR>STG.MAC.10, 13-Apr-80 15:13:45 by OSMAN
;Add CTTAB; remove FKCTTY
; UPD ID= 423, SNARK:<5.MONITOR>STG.MAC.9, 11-Apr-80 13:51:40 by HALL
;CHANGES TO WRITE-PROTECT THE RESIDENT MONITOR:
; INVOKE RSI MACRO FOR BUGXXX WORDS, FFF, SVDTRJ, DDT ENTRY VECTOR
; REMOVE CODE IN STARTUP TO INITIALIZE THESE LOCATIONS
; UPD ID= 417, SNARK:<5.MONITOR>STG.MAC.8, 11-Apr-80 09:18:58 by ENGEL
;ADD OURNOD
; UPD ID= 410, SNARK:<5.MONITOR>STG.MAC.7, 4-Apr-80 11:03:13 by LYONS
;ADD ACJ ENTRIES FOR ARPANET ACCESS AND DECNET ACCESS
; UPD ID= 408, SNARK:<5.MONITOR>STG.MAC.6, 3-Apr-80 17:03:10 by HALL
;CHANGES TO WRITE-PROTECT THE RESIDENT MONITOR:
; CREATE RESIDENT DATA FOR SECPOND PROTOCOL TYPEOUT (BUGMON, ETC.)
; CHANGE DTE DEFINITIONS TO CREATE RESIDENT STORAGE IN RSVAR
; MOVE TO RSVAR PSECT: CONOPG,SVDTRJ,DDT'S DATA VECTOR
; DO AN EXTRA IORST IN STARTUP CODE
; UPD ID= 368, SNARK:<4.1.MONITOR>STG.MAC.318, 26-Mar-80 11:08:50 by DBELL
;TCO 4.1.1119 - REARRANGE DISK DEFINITIONS TO HANDLE RP20 DISKS
; UPD ID= 382, SNARK:<5.MONITOR>STG.MAC.5, 27-Mar-80 10:24:04 by ENGEL
;FIX MEMHI
; UPD ID= 373, SNARK:<5.MONITOR>STG.MAC.4, 26-Mar-80 13:04:09 by ENGEL
;CHANGE MAXSEC TO 6
; UPD ID= 372, SNARK:<5.MONITOR>STG.MAC.3, 26-Mar-80 13:01:05 by ENGEL
;ADD MEMLO AND MEMHI
; UPD ID= 349, SNARK:<4.1.MONITOR>STG.MAC.317, 24-Mar-80 16:58:47 by ENGEL
;MAKE LCSMEM 0
; UPD ID= 348, SNARK:<4.1.MONITOR>STG.MAC.316, 24-Mar-80 16:30:54 by ENGEL
;PUT MEMBOT AND FRIENDS IN RSCOD
; UPD ID= 347, SNARK:<4.1.MONITOR>STG.MAC.315, 22-Mar-80 07:00:33 by ENGEL
;ADD MEMTOP,MEMBOT AND LCSMEM
; UPD ID= 346, SNARK:<4.1.MONITOR>STG.MAC.314, 21-Mar-80 16:18:08 by ENGEL
;ADD LCSSEC . LCS MEMORY DRIVER HAS SECTION 12
;MAKE CTYLNO BE IN RESIDENT DATA INSTEAD OF CODE
;MOVE CONOPG, DO IORST AT SYSLOD
; UPD ID= 170, SNARK:<4.1.MONITOR>STG.MAC.312, 20-Dec-79 15:21:07 by ENGEL
;ADD ERROR MESSAGE IF NTTBL IS GREATER THAN NTTBL1
; UPD ID= 133, SNARK:<4.1.MONITOR>STG.MAC.311, 13-Dec-79 10:53:31 by OSMAN
;Fix spelling
; UPD ID= 104, SNARK:<4.1.MONITOR>STG.MAC.310, 6-Dec-79 13:38:21 by DBELL
;TCO 4.1.1018 FOR R.ACE - REMOVE FCTFIL
; UPD ID= 36, SNARK:<4.1.MONITOR>STG.MAC.309, 28-Nov-79 10:58:37 by MILLER
;TCO 4.2582. ADD FKTIMW
; UPD ID= 20, SNARK:<4.1.MONITOR>STG.MAC.308, 27-Nov-79 13:36:59 by MILLER
;ADD LSTPFK
;<4.1.MONITOR>STG.MAC.307, 21-Nov-79 09:05:35, EDIT BY DBELL
;TCO 4.2574 - ADD PI5CNT
; COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1988.
; ALL RIGHTS RESERVED.
;
; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
; TRANSFERRED.
;
; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
; CORPORATION.
;
; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
DEFINE CPYRYT (FUNCT)<
FUNCT <
COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1988.
ALL RIGHTS RESERVED.
>>
SEARCH PROLOG,PHYPAR,SERCOD,SCAPAR
IFN NETN,<SEARCH ANAUNV>
TTITLE STG
IFNDEF FTKLIPA,<FTKLIPA==:0> ;Default is no KLIPA driver
IFNDEF FTMSCP,<FTMSCP==:0> ;Default is no MSCP
IFNDEF FTSVMSCP,<FTSVMSCP==:CFSSCA> ;Default MSCP server iff CFS
IFNDEF CSFLG,<CSFLG==:0> ;Default is no CTERM server
IFNDEF CHFLG,<CHFLG==:0> ;Default is no CTERM host
IFNDEF LAHFLG,<LAHFLG==:0> ;Default is no LAT Host
IFNDEF FTD36MM,<FTD36MM==:1> ;Default is DECnet-36 uses its own memory
; manager
IFE FTNSPSRV,SEARCH D36PAR ;Release 6.1 needs this universal
IFE LAHFLG,< LATINI::RET
.LATOP::MRETNG>
REPEAT 0,< ;CFSCOD NO LONGER USED
IFE CFSCOD,<CFSINI::RET> ;Dummy for missing CFS code
> ;END REPEAT 0
IFE FTSVMSCP,< ;DUMMYS FOR NO MSCP SERVER
MSSINI:: ;DON'T INIT
MSSCHK:: ;DON'T CHECK
MSSONL:: ;ONLINE IS A NOP
MSSOFL:: ;AS IS OFFLINE
SRVCFS::RET ;AND CFS CO-ORDINATION
MSSRED:: ;NO MSCP SERVER ERROR FOR TMON
MSSMRK::ITERR(MSCPX1) ; AND SMON
>
IFN KCFLG,<
EXTN <CNSCAN,RSPCHK>>
;PARAMETER-DEPENDENT STORAGE FOR ALL MODULES
EXT <PAGRST,PGRINI,TTINIT,SCDIN>
EXT <PI7P,PVINIT,PSINIT,SWPRST,SCKATM,SETEPT>
;MISCELANEOUS DEFINITIONS
DEFINE NDG (SYM,VAL)<
IFNDEF SYM,<
SYM==:VAL>>
DEFINE SHOW. (SYM)<
....Z=SYM>
;section number definitions
NDG MSEC1,1 ;section 1- code
NDG DRSECN,2 ;section 2- directories
NDG IDXSEC,3 ;section 3- index table
NDG BTSEC,4 ;section 4- bit table
NDG SYMSEC,5 ;Section 5 - Symbols, DDT, etc.
IFN FTNSPSRV <
MFSEC0==:6 ;FIRST SECTION ASSIGNABLE
>
IFE FTNSPSRV <
NDG XCDSEC,6 ;Section 6 - Extended code section
NDG PCDSEC,37 ;Section 37 - Only user mode (POSTCD)
MFSEC0==:7 ;First section assignable
IFN EXTJSB,<
NDG JOBSEC,7 ;Section 7 -Extended JSB
MFSEC0==:10 ;First section assignable
>
>
FFMSEC==:MFSEC0 ;FIRST FREE SECTION
DEFINE MSECN (NAME)<
NAME==:FFMSEC ;ASSIGN NAME TO NEXT FREE SECTION
FFMSEC=FFMSEC+1
SHOW. NAME>
MSECN TABSEC ;SECTION FOR TABLES - CST, etc.
IFE FTNSPSRV,<
MSECN DNBSE1 ;DECnet BUFFERS
>;END IFE FTNSPSRV
IFN CTSFLG,<
MSECN CTSSEC ;CTS Terminal Data Base
>
MSECN CFSSEC ;Section for CFS buffers
MSECN INTSEC ;Section for ARPANET buffers
MSECN RESSEC ;Section for RSE, NRE, NRPE
MSECN SWFSEC ;Swappable free space section
IFN KLFLG,<
NDG HGHSEC,37 ;Highest possible section number
>
MSEC1B==:<MSEC1>B17 ;DEFINE SECTION 1 PC FORMAT
;STORAGE ASSIGNMENT MACROS - USED IN STG ONLY
DEFINE S$BGN (MAC,NAM,SEC)<
DEFINE MAC (SYM,SIZ)<
SYM=:NAM'C
IFB <SIZ>,<NAM'C=NAM'C+1>
IFNB <SIZ>,<NAM'C=NAM'C+SIZ>
SHOW. SYM>
NAM=<SEC,,<NAM&777777>>
NAM'C==NAM ;;COUNTER
NAM'P==:NAM'C_-PGSFT
SHOW. NAM>
DEFINE S$END (NAM)<
NAM'Z=:NAM'C-1
NAM'L==:NAM'Z._-PGSFT>
;NOW CREATE MACROS AND INITIAL VALUES FOR VARIOUS STORAGE AREAS.
S$BGN PSV,PSVAR,0 ;PER-PROCESS AREA
S$BGN JSV,JSVAR,0 ;PER-JOB AREA
S$BGN NRP,NPVAR,0 ;NON-RESIDENT PAGE
S$BGN RSE,ERVAR,RESSEC ;EXTENDED RESIDENT
S$BGN NRE,ENVAR,RESSEC ;EXTENDED NON-RESIDENT
S$BGN NRPE,EPVAR,RESSEC ;EXTENDED NON-RESIDENT PAGE
SWAPCD ;SOME SWAP CODE HERE BEFORE FIRST RESCD
DRSMDA==:30 ;MAX SIZE OF A DIR ON A MODEL A
NDG PIBITS,0 ;PI ACCOUNTING BITS FOR KL METER
; NOT USED ON OTHER PROCESSORS
NDG EXADF,1 ;EXTENDED DIRECTORY FLAG ALWAYS ON IN R6
NDG NTTD10,0 ;NUMBER OF DC10 LINES
IFG DTFLG,<NDLL==:5> ;IF A FE PRESENT, MUST HAVE 5 DLS
IFE FTNSPSRV,<
ND .FEFLG,1 ;FE TERMINALS ON BY DEFAULT
ND .PTFLG,1 ;PTY'S ON BY DEFAULT
ND .MCFLG,0 ;NRT
ND .LHFLG,0 ;LAT
ND .CHFLG,0 ;CTERM
ND .TVFLG,0 ;TCP
IFN NETN,<.TVFLG==1> ;INCLUDE TVT'S IF ARPANET
IFN LAHFLG,<.LHFLG==1> ;INCLUDE LAT TERMINALS IF LAT IS PRESENT
IFN DCN,<.MCFLG==1> ;INCLUDE NRT TERMINALS
IFN CHFLG,< ;INCLUDE CTERM TERMINALS IF CTERM PRESENT
.CHFLG==1
IFE .MCFLG,<
PRINTX ?Can't enable CTERM terminals without DECnet/NRT support
.CHFLG==0
CHFLG==0
>
>
>;END OF IFE FTNSPSRV
IFE DTFLG,<NDLL==:0> ;IF NO FE PRESENT, NDLL=0
IFE LAHFLG,<NTTLAH==:0> ;IF NO LAT, NTTLAH=0
IFE DCN,<NTTMCB==:0 ;IF NO DECNET NO DECNET NVTS
NTTCTH==:0 ;NO CTERM TTYs EITHER
NTTCTS==:0
NFT==:0> ;AND NO NFT
NTTFE==:NDHL+NDLL ;NUMBER OF FE LINES
IFN FTNSPSRV,<
IFN KCFLG,<NTTRSP==:4
NTTRSO==-1>
IFE KCFLG,<NTTRSP==:0
NTTRSO==0>
>;END IFN FTNSPSRV
NDG NTTCTH,0 ;DEFAULT IS NO CTERM HOST LINES
NDG NTTCTS,0 ;DEFAULT IS NO CTERM SERVER LINES
IFE FTNSPSRV,<
IFE CHFLG,<NTTCTH==0> ;IF NO CTERM HOST, NO CTERM HOST LINES
IFE CSFLG,<NTTCTS==0> ;IF NO CTERM SERVER, NO CTERM SERVER LINES
>;END IFE FTNSPSRV
IFN FTNSPSRV,<
IFE CHFLG,<NTTCTH==0> ;IF NO CTERM HOST, NO CTERM HOST LINES
IFE CSFLG,<NTTCTS==0> ;IF NO CTERM SERVER, NO CTERM SERVER LINES
>;END IFN FTNSPSRV
NDG NTTTVT,0 ;DEFAULT NUMBER OF TCP NVT LINES
NDG NTTLAH,0 ;DEFAULT NUMBER OF LAT HOST LINES
;NUMBER OF LINES, INCLUDING LINE 0 FOR THE CTY
IFN FTNSPSRV,<
NDG NLINES,NTTFE+NTTMCB+NTTPTY+NTTD10+NTTTVT+NTTDZ+NTTRSP+NTTRSO+NTTCTH+NTTCTS+NTTLAH+1
>;END IFN FTNSPSRV
IFE FTNSPSRV,<
NDG NLINES,NTTFE+NTTMCB+NTTPTY+NTTTVT+NTTCTH+NTTCTS+NTTLAH+1
>;END IFE FTNSPSRV
IFG ACTLNS-NLINES,<ACTLNS==:NLINES> ;ADJUST VALUE AS APPROPRIATE
NDG DLSN,NTTD10 ;NUMBER OF DC LINES
NDG NTTBL,1 ;DEFAULT NUMBER BUFFERS PER LINE
NDG NTTBL1,2 ;# OF BUFFERS FOR "FAST" LINES
NDG NTTBF,ACTLNS*NTTBL1 ;NUMBER OF TTY BUFFERS
NDG TTSIZ,40 ;SIZE OF INDIVIDUAL TTY BUFFER (POWER OF 4)
NDG TTBSIZ,200 ;BIG BUFFER SIZE
NDG DSKN,1 ;DSK IS PRESENT (MANDATORY)
NDG RP10F,0 ;DISK TYPE IS RP10
NDG RH10F,0 ;RH10
NDG RH20F,1 ;RH20
NDG RH11F,0 ;RH11
NDG RP04F,1 ;RP04
NDG DRMN,0 ;DRUM IS PRESENT
NDG RS04F,0 ;DRUM TYPE IS RS04
NDG RC10F,0 ;DRUM TYPE IS RC10
NDG DTAN,0 ;NUMBER OF dectape units
NDG TM02F,1 ;TM02/TU16
IFN KLFLG,<
NDG DX20AF,1 ;DX20-A/TU70,71,72
NDG DX20BF,1 ;DX20-B/RP20
NDG TM78F,1 ;TM78/TU78
>
IFN KCFLG,<
NDG DX20AF,0 ;DX20-A/TU70,71,72
NDG DX20BF,0 ;DX20-B/RP20
NDG TM78F,0 ;TM78/TU78
> ;END OF IFN KCFLG
NDG PCDPN,0 ;CARD PUNCH IS ABSENT BY DEFAULT
NDG PLTN,0 ; PHYSICAL Plotter exists
NDG PTPN,0 ; Paper tape punch exists
NDG PTRN,0 ; Paper tape reader exists
NDG VBCN,0 ;VB10C PRESENT
NDG NRVCPG,0 ;NUMBER OF PAGES TO RESERVE FOR VB10C
NDG DLXN,0 ;NUMBER OF UNITS ON DL10
NDG CMAN,0 ;NUMBER OF AYDIN DISPLAYS
NDG KNIN,0 ;NUMBER OF KLNI'S
NDG FTNITEST,0 ;NISRV tester module
IFE KNIN,<IPNIN==:0 ;IF NO NI FORCE IPNIN TO ZERO
FTNITEST==:0> ;IF NO NI, NO NEED FOR NITEST
IFE FTKLIPA,<IPCIN==:0> ;IF NO KLIPA, NO CI TCP
IFG DLXN,<
NDG DLIBFP,<<DLXN+3>/4> ;# OF INPUT BUFFER AND CONTROL PAGES
NDG DLOBFP,<<DLXN+3>/4> ; " OUTPUT "
>;IFG DLXN
DMSMAX==:1050 ;LEGAL DMS JSYS'S ARE 1000-1050
PRAMAX==:200 ;MAXIMUM SIZE OF PRARG BLOCK
SYSDPT==:777740 ;DIRECTORY PROTECTION OF SYSTEM AND SUBSYS
SYSFPT==:777752 ;FILE PROTECTION DEFAULT FOR SUBSYS AND SYSTEM
PSNUM==:0 ;PUBLIC STR NUMBER
USRLH==:500000 ;LEFT HALF OF A 36 BIT USER NUMBER
.DFACT==:^D220100 ;DEFAULT ACCOUNT NUMBER
DEFINE LOADMODULE(A),<
IRP A,<
IF1 <IFDEF $'A,<PRINTX ?MODULE A NOT UNIQUE TO FIVE CHARACTERS>>
EXTERNAL $'A>>
;FORCE THE LOADING OF THE CORRECT MODULES
LOADMODULE <LDINIT,SCHED,PAGEM,PAGUTL,FORK> ;[7.1200]
LOADMODULE <MEXEC,JSYSM,GETSAV,SYSERR,COMND> ;[7.1200]
LOADMODULE <DEVICE,DIRECT,ENQ,FREE,FUTILI,GTJFN,IO,IPCF,JSYSA>
LOADMODULE <JSYSF,LOGNAM,LOOKUP,MSTR,SWPALC,DISC,FILMSC,MFLIN>
LOADMODULE <MFLOUT,DATIME,TIMER,CRYPT,DOB,EDDT,MDDT> ;[7.1081]
LOADMODULE <CLUDGR,CLUFRK> ;[7.1076] Load CLUDGR SYSAP stuff
IFE FTNSPSRV,<LOADMODULE D36COM>
IFN <DYNFLG!CTSFLG>,<LOADMODULE CTSMON>
;IFN CFSCOD,<
LOADMODULE <CFSSRV,CFSUSR> ;[7.1190] Load CFS code if desired
;>
IFN <FTKLIPA>,LOADMODULE <SCAMPI,SCSJSY> ;Load SCA and MSCP for any CI
IFN FTKLIPA,LOADMODULE <PHYKLP> ;For KLIPA load its driver
IFN FTMSCP,<LOADMODULE PHYMSC> ;Load MSCP is desired
IFN FTSVMSCP,LOADMODULE <PHYMVR> ;Load MSCP server if wanted
IFG KNIN,<LOADMODULE NIUSR ;NI JSYS
LOADMODULE NISRV> ;Load Ethernet driver
IFN DEBUG&FTNITEST,LOADMODULE NITEST ;NISRV test routines
IFN LAHFLG,<LOADMODULE LATSRV> ;LAT Host
IFN CLEQIN,<LOADMODULE ENQSRV> ;[7.1072] Cluster-wide ENQ/DEQ
;CONDITIONALS TO LOAD PROPER REL FILE
IFNDEF PHYIOF,< PHYIOF==:0>
IFN DX20AF!DX20BF!RP04F!TM02F!TM78F,< PHYIOF==:1>
IFG PHYIOF,<
LOADMODULE PHYSIO
LOADMODULE DIAG
LOADMODULE POSTLD
LOADMODULE DSKALC
>
LOADMODULE FILINI
IFG RH20F,< LOADMODULE PHYH2>
IFG RH11F,< LOADMODULE PHYH11>
IFG RP04F,< LOADMODULE PHYP4>
IFG DRMN,<
IFE PHYIOF,<
IFG RS04F,< LOADMODULE RS04SV>
>
IFG PHYIOF&RS04F,< LOADMODULE PHYS4>
IFG RC10F,< LOADMODULE RC10SV>>
IFG CMAN,< LOADMODULE DSPLAY>
IFN FTNSPSRV,<
IFE NETN,< LOADMODULE TTYSRV>
IFN NETN,< IFE DCN,<LOADMODULE TTYSNV>
IFN DCN,<LOADMODULE TTYSDN>>
>
IFE FTNSPSRV,< LOADMODULE TTYSRV
IFN .MCFLG,< LOADMODULE NRTSRV>
IFN .FEFLG,< LOADMODULE RSXSRV>
>
IFN KCFLG,< LOADMODULE KCCNSL>
IFG DTAN,< LOADMODULE DECTAP>
IFG FEN,< LOADMODULE FESRV>
IFG MTAN,<
NDG MTDFDN,4 ;DEFAULT MAGTAPE DENSITY (1600 BPI)
MTDFRS==:PGSIZ*1 ;DEFAULT RECORD SIZE IS 1000 WORDS
MTDFDM==:1 ;DEFAULT MAGTAPE DATA MODE IS CORE DUMP
MTDFPA==:0 ;DEFAULT MAGTAPE PARITY IS ODD
MTMXDN==:5 ;MAXIMUM DENSITY IS 6250 BPI
LOADMODULE MAGTAP
LOADMODULE TAPE
IFG DX20AF,<LOADMODULE PHYX2>
IFG DX20BF,<LOADMODULE PHYP2>
IFG TM78F,<LOADMODULE PHYM78>
IFG TM02F,<LOADMODULE PHYM2>>
LOADMODULE APRSRV
IFG DTEN,< LOADMODULE DTESRV>
IFG DCN,<
IFN FTNSPSRV,<LOADMODULE <NSPSRV,NTMAN>>
IFE FTNSPSRV,<LOADMODULE <NTMAN,JNTMAN,SCJSYS,SCLINK>
LOADMODULE <LLINKS,ROUTER,DNADLL,CIDLL>
IFG KNIN,< LOADMODULE LLMOP> ;~6.0
IFG CHFLG,< LOADMODULE CTHSRV>
IFG CSFLG,< LOADMODULE CTSSRV>
>;END IFE FTNSPSRV
IFN NFT,< LOADMODULE FILNFT>
>;END IFG DCN
IFN ATS,< LOADMODULE <FILATS,ATSSRV,NRMSRV>>
IFG KDPN,< LOADMODULE KDPSRV>
IFN KLFLG,<
IFN LPTN,< LOADMODULE LINEPR> ;[7193] LOAD LINEPR ONLY IF WE HAVE ONE
IFE LPTN,< .LPINI::JRST UJSYS>> ;[7193] DEFINE .LPINI AS UNDEFINE JSYS
; * * * *
;NEED ONE FOR KC
;* * * *
IFG PCDPN,< LOADMODULE CDPSRV>
IFG CDRN,<
IFN KLFLG,< LOADMODULE CDRSRV>>
; * * *
;need one for KC
; * * * *
IFG PLTN,< LOADMODULE PLT>
IFG PTPN,< LOADMODULE PTP>
IFG PTRN,< LOADMODULE PTR>
IFG VBCN,< LOADMODULE VBC>
IFG DLXN,< LOADMODULE DLX>
IFN KLFLG,<
IFN NETN,< LOADMODULE IPIPIP
LOADMODULE IPFREE
LOADMODULE TCPTCP
LOADMODULE TCPCRC
LOADMODULE TCPJFN
LOADMODULE TCPBBN
LOADMODULE MNETDV
IFN ANXN,<LOADMODULE IMPANX
LOADMODULE IMPDV>
IFN FTNSPSRV,<LOADMODULE TTANDV>
IFE FTNSPSRV,<LOADMODULE TVTSRV>
IFN FTKLIPA,<IFN IPCIN,<LOADMODULE IPCIDV>>
IFE FTNSPSRV,<IFN IPNIN,<LOADMODULE IPNIDV>>
>> ; END OF IFN NETN AND IFN KLFLG
;Setup data in the BOOT communications region
;These locations are in page 0
LOC BUTCOD
BTCOD ;Store the magic code
LOC BUTLEN
BTLEN ;Store length of BOOT communications region
LOC BUTFLG
0 ;Store flags
LOC BUTLLM
0 ;Store lower load limit
LOC BUTULM
1,,NRCODL ;Store upper load limit
;This specifies the highest memory page that
;BOOT will load .EXE data into
RELOC ;Continue relocatable storage
;RESIDENT STORAGE WHICH MUST BE DEFINED ON A PAGE BOUNDARY.
;These are all defined first and must be a multiple of 512 words
;each. Some are defined as RSI because the symbol table overlays
;the RSDAT psect until paging is initialized and turned on.
RSI KIEPT,,PGSIZ ;EXECUTIVE PAGE TABLE
EP==:KIEPT/PGSIZ ;DEFINE PAGE NUMBER FOR FILDDT
RSI SKHWPT,,PGSIZ ;HW PAGE TABLE WHEN SCHED RUNNING
RSI MMAP,,PGSIZ ;MONITOR MAP
RSI SYMMAP,,PGSIZ ;MAP FOR SYMSEC (DDT, ETC.)
RS(ZROCOR,0) ;START OF STORAGE AREA TO CLEAR
IFG DLXN,<
RS(DLBASE,PGSIZ*DLIBFP) ;RESIDENT PAGES FOR DL10
RS(DLOBUF,PGSIZ*DLOBFP)
>;IFG DLXN
;RSE ASSIGNMENTS - PAGE-MULTIPLE ASSIGNMENTS FIRST
;[7.1042]Resident free space bit tables are on two pages so that we can
;[7.1042]write-protect them except when the free space manager is using
;[7.1042]them.
RSE(RESBTB,2*PGSIZ) ;[7.1042]RESIDENT FREE SPACE BITTABLE
;NRPRE ASSIGNMENTS - INTEGER NUMBERS OF PAGES ONLY
NRPE EMMAPS,<PGSIZ*<FFMSEC-MFSEC0>> ;WINDOWS TO PT'S OF MONITOR SECTIONS
RSECMP=:EMMAPS+<RESSEC-MFSEC0>*PGSIZ ;Map for extended storage section.
NRPE EPGMAP,PGSIZ ;Map for extended free memory
IFE FTNSPSRV <
NRPE XCDMAP,PGSIZ ;Map for extended code section
>
IFN KDPN,<RS(KMCPAG,KDPN*PGSIZ)>;A PAGE FOR EACH KDP(KMC11/DUP11)
FTCTS <
RS (CTSIDX,PGSIZ) ;Page Mape for CTS Section
> ;End of Conditional Assembly
;THE READ AFTER WRITE VERIFICATION CODE NEEDS A PLACE TO READ DATA TO CHECK
;ECC. THE RH20 HAS HARDWARE TO USE LOCATION 0 FOR THIS, BUT THE RH11 NEEDS A
;PHYSICAL PAGE TO USE. THE RH20, WHEN WRITING TO LOCATION 0, WILL TRANSFER NO
;DATA, BUT REQUIRE THE MASBUSS TO MOVE THE BITS AND THE DISK WILL CHECK ECC.
;ON WRITES, DATA IS TAKEN FROM LOACTIONS 70-73 OF THE EPT (WHICH TOPS-20 KEEP
;AS 0).
SKPPAG==:0 ;RH20 CAN DO IT TO PHYSICAL 0 AND GET IT RIGHT
;MEMORY MANAGEMENT DATA BASE
RSI FREMEM,0 ;FREE MEMORY DURING STARTUP (SET BY POSTLD)
IFE FTNSPSRV <
RSI PNRCOD,0 ;Address of NRCOD in POSTLD image (set by PLD)
>
RS CSTLOC,1 ;PHYSICAL ADDRESS OF CST0
IFN PHYIOF,<
RS CST5,MAXCOR ;CST5
> ;END IFN PHYIOF
RS CST0X,20 ;CST0 ACCESS TABLE
RS CST1X,20 ;CST1 ACCESS TABLE
RS CST2X,20 ;CST2 ACCESS TABLE
RS CST3X,20 ;CST3 ACCESS TABLE
RS SPTO,NOFN ;OFN TABLE ONLY
RS SPTO2,NOFN ;MORE OFN DATA
RS SPTO4,NOFN ;OFN2XB DATA
;*** THESE NEXT 2 TABLES MUST REMAIN IN ORDER AND TOGETHER
; SINCE THE CODE DEPENDS ON POINTING THE BACK POINTER OF THE FIRST OFN
; IN EACH CHAIN TO THE TABLE HEADER THUS A POINTER > NOFN POINTS TO
; A HASH TABLE ENTRY. NO POINTER SHOULD EXCEED NOFN+OFNHSD
NDG OFNHSD,^D199 ;DEFAULT HASH SIZE NOFN*(.75/SIZE) = AV LATENCY
;VALUE SHOULD BE PRIME
RS OFNHSE,NOFN ;POINTERS FOR OFN HASHING
RS OFNHST,OFNHSD ;HASH TABLE FOR OFNS ** FOLLOW OFNHSE
RSI OFNGCI,^D15*^D60*^D1000 ;[7247] OFN garbage collection interval (15 min)
RS OFNTIM,1 ;[7247] Time to do next OFN GC
RS SPTD,NOFN ;Preallocation held here
IFN SPTDSW,< ;ONLY IF TRACKING DOWN SPTDSW PROBLEMS
RS SPTO3,NOFN
> ;END OF IFN SPTDSW
;..
;Memory management data base, continued
RS SPT,SSPT ;SPECIAL/SHARED PAGES TABLE
RS SPTH,SSPT
RS TOTRC,1 ;TOTAL NUMBER REAL CORE PAGES
RS NRPMIN,1 ;MINIMUM VALUE OF NRPLQ
RS NRPLEV,1 ;HIGHEST NORMAL LEVEL OF NRPLQ
RS GCMINP,1 ;MIN PAGES NEEDED BY GC, = NRPMIN+NRPLEV
RS CGFLG,1 ;DEASSIGNED PAGES MAY EXIST IF .G. 0
RS GCFOFC,1 ;[7247] Number of cached OFN forced clears
RS GCFOFG,1 ;[7247] Count of cached OFN garbage collections
RS GCFOFN,1 ;[7247] Count of OFN garbage collections
RS NRPLQ,1 ;NUMBER OF PAGES ON REPLACABLE QUEUE
RS SRPLQ,1 ;POINTER TO SRPLQO
SRPLQO=:MAXCOR ;SWAP REPLACABLE QUEUE TAIL,,HEAD
RS DRPLQ,1 ;POINTER TO DRPLQO
DRPLQO=:MAXCOR+1 ;DISK REPLACABLE QUEUE TAIL,,HEAD
RS NSPMQ,1 ;NUMBER OF PAGES ON SPECIAL MEM QUEUE
RS SPMQ,1 ;POINTER TO SPMQO
SPMQO=:MAXCOR+2 ;"SPECIAL" MEMORY QUEUE TAIL,,HEAD
RS SWPLST,1 ;POINTER TO SWAPOUT LIST POINTER
SWPLSO==:MAXCOR+3 ;SWAPOUT LIST POINTER OFFSET
RS SWPLSI,1 ;IN POINTER TO SWAP LIST
RS SPMLCK,1 ;LOCK ON PROCESS CONTEXT MANIPULATION OF SPMQ
RS SPMONR,1 ;FORK WHICH OWNS SPMLCK
RS SPMTPG,1 ;PAGE FOR SCHED TEST RTN
RS SPMTIM,1 ;WATCHDOG TIME FOR SCHED TEST RTN
RS PI5CNT,1 ;NUMBER OF UNVECTORED PI 5 INTERRUPTS
IFN KLFLG,<
NMD16K==:<MAXCOR*PGSIZ+37777>/40000 ;MAX # MEM MODULES, 16K EACH
RS MEMTAB,<<NMD16K+^D35>/^D36> ;TABLE INDICATING INT/EXT MEM
> ;END IFN KLFLG
RS DDXLOK,1
RS BTSTRT,1 ;START OF BITTABLE
RS BTEND,1 ;END OF BITTABLE
RS PAGDIF,1 ;COUNT OF NEW PAGES IN THE SYSTEM
RS NHIPG,1 ;HIGEST PAGE USED BY SWAPPER
RS SPTC,1 ;COUNT OF SPT (EXCLUDING OFN) ENTRIES IN SPT
RS NOF,1 ;COUNT OF ENTRIES IN OFN PART OF SPT
RS NOC,1 ;[7247] Count of cached OFNS in the system
RS NOCH,1 ;[7247] Count of times cached OFN was reused
RS FRESPT,1 ;FREE SPT LIST
RS OFNFRE,1 ;FREE OFN LIST
RS MMSPTN,1 ;OFN OF MONITOR MAP
RS M1SPTN,1 ;OFN OF SECTION 1 MONITOR MAP
RS LOKPGS,1 ;COUNT OF LOCKED PAGES, VIA MLKPG
RS LOKSUM,1 ;NET NUMBER OF LOCKS, MLKPG-MULKPG
RS DDTIME,1 ;TIME NEXT DDMP DUE
RS DDCFSF,1 ;CFS flag for DDMP
RS CIFRKF,1 ;CI FORK FLAG WORD (BITS DEFINED IN PROLOG)
IFN CLEQIN,< ;[7.1072] If cluster ENQ code present
RS EQFKFL,1 ;[7.1072] The ENQ fork flag - the left half is
> ;[7.1072] used by EQAFRK, the right by EQRFRK
; IFN CFSCOD,< ;If CFS
OFNCFW==:<NOFN+^D35>/^D36 ;Words in bit mask
RS OFNCFS,OFNCFW ;Bit mask, one bit per OFN
; > ;IFN CFSCOD
RS IOIP,1 ;SWAP WRITES IN PROGRESS
RS DRMIN0,1 ;DRUM SPACE LEVEL FOR DDMP ACTION
RS DRMIN1,1 ;DRUM SPACE LEVEL FOR NO NEW JOBS
RS DRMLV0,1 ;DRUM SPACE LEVEL FOR NO NEW PRIV PAGES
RS PRELRQ,1 ;PRELOADING SWAPIN IF NON-0
RS DELPGQ,1 ;QUEUE OF DELETED PAGES
RS JOBBAS,1 ;JOB BASE (SPT INDEX)
RS JPTBAS,1 ;SPT index for extended-JSB page-table
RS PSBBAS,1 ;FORK BASE (SPT INDEX)
RS PS2BAS,1 ;SECOND PSB PAGE BASE (SPT INDEX)
RS BTBBAS,1 ;BIT TABLE BASE
RS SYMBAS,1 ;HIDDEN SYMBOL TABLE MAP SPT INDEX
IFE FTNSPSRV <
RS XCDBAS,1 ;Extended code section page table spt index
>
RS NBADCP,1 ;NUMBER CORE PAGES DECLARED BAD
RS BSHC1,1 ;GCCOR - NEW BALSHC
RS BSHC2,1 ;GCCOR - DESCRETIONARY SHARED PAGES
RS GCCLPG,1 ;GCCOR - LAST PAGE COLLECTED
RS NSWAPF,1 ;NO SWAPPING IF NON-0
RS INFTMR,1 ;TIME OF NEXT NOOFN BUGINF
RS EPGSEC,1 ;Virtual section number of extended free section
RS ASGVCS,1 ;Partial section available in ASGVAS
RSI ASGVBT,<<MASKB FFMSEC,HGHSEC>>
;GLOBAL PAGE AGE VALUES
RS CURAGE,1 ;CURRENT VALUE FOR AGE
RS CUTAGE,1 ;CUTOFF AGE FOR "OLD"
RS LSTAGE,1 ;TIME (TODCLK) OF LAST GCCOR
;VARIABLES FOR SWPOM (SWPOMI, SWPOML, SWPOMG)
RS SWPRC0,1 ;COUNT OF PAGES ON LIST
RS SWPDAD,1 ;NEXT SEQUENTIAL SWAP ADDRESS TO USE
;STORAGE FOR MSCP SERVER
IFN FTSVMSCP,<
NDG MSSMBF,^D40 ;MESSAGE BUFFERS PER CONNECTION
CCWLST==:IRBLEN+1 ;CCW LIST IN IORB
NCCWS==:1 ;NUMBER OF CCWS ALLOWED
SVIRLN==:CCWLST+NCCWS+1 ;LENGTH OF IORB
NDG CFSNUM,^D8 ;MAX CONNECTS + LISTENS
IFL ^D9-CFSNUM,<PRINTX ?UC.OLB IN PHYPAR INSUFFICENT FOR CFSNUM CONNECTIONS!>
NDG SVRDRV,3 ;MAXIMUM NUMBER OF DRIVERS EXPECTED
NSVIRB==:<<MSSMBF+<SVRDRV-1>>/SVRDRV>*2 ;NUMBER OF IORBS TO ALLOCATE PER
;CONNECTION (TOTAL IORBS = CONNECT MSG * 2)
NDG SVRTMX,^D15 ;COMMAND TIMOUT VALUE (NUMBER OF TICKS)
NDG SVRTMV,^D10 ;SERVER ACCESS TIMEOUT VALUE IN SECONDS
SVRTMI==:<SVRTMV-1>*^D1000 ;TIMEOUT INTERVAL (MILLSECONDS BETWEEN TICKS)
NDG MSSNCH,^D500 ;NEXT PERIODIC CHECK IN MILLSECS
NDG MSSLCH,^D10000 ;NEXT LONG CHECK (CONNECTION STATES AND BRDCST)
RS(SVIORB,NSVIRB*SVIRLN*SVRDRV) ;IORBS
RS(SCDBTB,CFSNUM) ;MSCP SERVER CONNECTION DATA BLOCK TABLE
NMSFCN==^D9
RSE(SVCMDC,NMSFCN) ;COUNT OF SERVER COMMANDS
RSE(SVCMRT,NMSFCN) ;COUNT OF RETRIED COMMANDS (PARALLEL TO SVCMDC)
RSE(SVSCAC,.SSAFT+1) ;COUNT OF SCA INTERRUPTS
> ;IFN FTSVMSCP
;Storage for CFS
; IFN CFSCOD,< ;If a CFS monitor
RS CFSSTK,1 ;Allocate the stack pointer
RS CFSSTR,1 ;Space for STR transaction values
RS CFSOFN,1 ;Pointer to where the OFN table resides
RS CFSSVP,1 ;Place to save old stack
RS SCAILK,1 ;INT. LEVEL INTERLOCK
RS SCAFLG,1 ;Random conditions
RS SCAFL1,1 ;Set if CI believed off-line
RS VOTNUM,1 ;VOTE DIALOGUE
RS CFHSHT,1 ;Pointer to hash table
RS CFSHCT,1 ;Count of hosts in this network
RS CFSHCM,1 ;Count of full voting hosts
RS SCAQ,1 ;Q OF PENDING MESSAGES
RS SCTAIL,1 ;TAIL OF THE Q
RS CFSPCQ,1 ;NORMAL HASH FREE QUEUE
RS CFSPQL,1 ;Long packet queue
RS VOTQ,1 ;QUEUE OF VOTING PACKETS
RS CFBRDS,1 ;Count of broadcast messages
HSTSIZ==:11 ;[7.1021] Max hosts on the same CI, full or reduced
RS CFSENT,HSTSIZ ;Count of messages sent to this processor
RS CFRECV,HSTSIZ ;Count of messages received from this processor
RS CFSHST,HSTSIZ ;HOST TABLE
RS CFSHNM,HSTSIZ ;HOST NUMBER
RS CFHSTS,HSTSIZ ;Status word
RS CFNNAM,HSTSIZ*2 ;Two words for each name
RS CFSSMQ,HSTSIZ ;Send queue
RS CFSSQT,HSTSIZ ; Tail of queue
RS CCHEAD,1 ;Head of queued "cluster cease" messages
; > ;IFN CFSCOD
REPEAT 0,< ;CFSCOD NO LONGER USED
IFE CFSCOD,<CFONLT==:R> ;If no CFS, no test routine either
> ;END REPEAT 0
RS (CLUHST,HSTSIZ) ;[7.1076] CLUDGR host table
RS (CLUSTS,HSTSIZ) ;[7.1076] CLUDGR host status table
RS CFSSKC,1 ;Scheduler flag for testing CFS interconnect
RS CFSCMC,1 ;Connection management count
RS CFGFSP,1 ;Count calls to ASGRES
RS CFGTLG,1 ;Count long block allocates
RS CFGTSH,1 ;Count short block allocates
RS CFACCT,1 ;[7247] Count of currently cached file access tokens
RS CFACUT,1 ;[7247] Count of cached OFN invalidations
RS CFACTO,1 ;[7247] Count of cached access token hits
; Storage for the SCS% JSYS. This is the bit table to indicate which forks
;have event interrupts turned on. One bit per fork is required.
FKTLN==<NFKS+^D35>/^D36 ;Define length of table (Be sure to round up)
RSI (FRKTLN,<FKTLN>) ;Allow the rest of world access to length
RS (FRKTAB,FKTLN) ;Allocate the fork table
;SYSTEM RESIDENT JOB TABLES
RS JOBDIR,NJOBS ;ATTACHED DIRECTORY,,LOGIN DIRECTORY
RS JOBNAM,NJOBS ;JOB BITS,,SUBSYS NAME INDEX
NR JOBPNM,NJOBS ;JOB PROGRAM NAME
RS JOBRT,NJOBS ;JOB RUN TIME
RS JOBRTL,NJOBS ;JOB RUN TIME LIMIT
;DEFSTR JOBRTP,JOBRTL,35,23 ; Ptr to runtime limit blk
;DEFSTR TIMCNT,JOBRTL,12,13 ; # of clocks in use by job
RS JOBPT,NJOBS ;CONTROL TTY,,TOP FORK
;QUOTA ENFORCEMENT TABLES
RS ALOC1,NOFN ;[7.1208] Dir # ,, OFN count
RS ALOC2,NOFN ;[7.1208] Count of pages left
; IFN CFSCOD,<
RS ALCLOK,1 ;Lock word
; > ;IFN CFSCOD
RS OFNLEN,NOFN ;ACTUAL END OF FILE
;GET FILE CACHE STORAGE
NDG FSMAX,20 ;MAX NUMBER OF ENTRIES IN CACHE
;FSN==:3 ;# OF WORDS PER ENTRY
NR FGLOCK,1 ;THE LOCK WORD
NR FSTTBL,FSMAX ;NUMBER OF ENTRIES
;TIME ZONE STORAGE
RS TIMZON,1 ;NUMBER OF HOURS LOCAL TIME LAGS GREENWICH
NR DSTFLG,1 ;Daylight Saving Time method word
;EXEC FLAGS WORD. NOT USED BY THE MONITOR EXCEPT FOR SMON/TMON.
NR XECFLG,1 ;EXEC FLAGS
;[7.1063]Cell for storing the offline structures timer interval value
RSI TMRINT,<^D5*^D1000> ;[7.1147]Default value is 5 seconds
;[7.1112]Flag for Login Structure. Set and cleared by SMON% function .SFLGS
IFE CHFLG,< ;[9075] If no CTHSRV...
RSI CTMLOK,<-1> ;[9075] If no CTERM, dummy location for ATACH%
> ;[9075] End of no CTERM
RS LGSFLG,1 ;[7.1112]Login Structure flag
RS LGSIDX,1 ;[7.1112]Login Structure number
;[9054][7.1231] Password length, expiration, dictionary flags
NR MINPAS,1 ;[9054][7.1231] Default to no minimum length
NR PASEXP,1 ;[9054][9041] Password expiration day count
NR PWDFLG,1 ;[9054] Password dictionary flag, default off
;[9041] System wide password penalty lock
RSI PWLOCK,<-1> ;[9041] Obtained when an incorrect password is seen
;[9041] Cell indicating whether or not ACJ is running and how
; 0 = ACJ running under monitor
; 1 = ACJ running somewhere besides monitor context
; -1 = ACJ not running
RSI ACJRUN,<-1> ;[9041] Start with no ACJ running
;[8851] Ethernet address goes here
RS ETHADR,2 ;[8851] Current Ethernet address always there now
;MEMORY ERROR REPORTING STORAGE
RS ERRTBL,1 ;QUEUE HEADER
;ARCHIVE SYSTEM
RS IPPKFR,1 ; Flag word used to indicate ARCMSG
; waiting for a free packet (IPCF)
RSI TPRCYC,<.STDFE> ;[7324] Tape recycle time (max offline exp.)
RSI ARRCYC,<.STDAE> ;[7324] Archive tape recycle time
RS NRTWTS,1 ; Should waits for retrievals fail?
; non-0 implies fail rather than wait
;CLASS SCHEDULER STORAGE
;This is the queue pointer to LLMOP's PSI queue.
RSI LLMPSQ,0 ;[7454]
RS MJBUSE,1 ;HIGHEST JOB IN USE
RS RDRTIM,1 ;TIME TO DO NEXT REORDER
RS UTLTIM,1 ;TIME TO COMPUTE UTILIZATION
RS UTLINT,1 ;INTERVAL TO COMPUTE NEXT UTIL
RS OLDSLD,1 ;PREVIOUS SOLD TIME
RS OLDIDL,1 ;PREVIOUS IDLE TIME
RS CLASSF,1 ;IF NON-ZERO, DOING CLASSY SCHEDULING
RS CLSCTL,1 ;CLASS CONTROL WORD
NDG MAXCLS,10 ;NUMBER OF CLASSES
RSE CLSUTL,MAXCLS ;CLASS UTILIZATION
RSE JOBCLS,NJOBS ;CLASS PER JOB
RSE JOBUTL,NJOBS ;JOB UTILIZATION
RSE JOBIRT,NJOBS ;JOB INCREMENTAL RUN-TIME
RSE JOBDST,NJOBS ;JOB "DISTANCE"
;RSE JOBSLD,NJOBS ;ACCUMULATED SOLD TIME PER JOB
RSE CLSSHR,MAXCLS
RSE CLSSWA,MAXCLS ;WINDFALL ALLOCATION (OR -1)
RSE CLSSHI,MAXCLS ;SHARE PER MEMBER
RSE CLSCNT,MAXCLS
RSE CLSDST,MAXCLS ;CLASS DISTANCE
RSE CLSSUM,MAXCLS ;INTEGRAL OF NRUN FOR CLASSES
RSE CLSIRT,MAXCLS ;CLASS INCREMENTAL RUN TIME
;SYSTEM RESIDENT FORK TABLES
; STRUCTURE DEFINED FOR SOME VARIABLES BUT NOT PRESENTLY USED
; CONSISTENTLY THROUGHOUT CODE.
RS FKPGS,NFKS ;PTB,,PSB SPT NUMBERS
;DEFSTR FKPSB,FKPGS(FX),35,18
;DEFSTR FKUPT,FKPGS(FX),17,18
RS FKSTAT,NFKS ;FORK WAIT TEST
RS FKSTA2,NFKS ;SECOND DATA WORD FOR FORK TEST
RS FKPGST,NFKS ;TEST WORD WHILE IN PAGE WAIT
;ALSO TOD ENTERED WAITLIST
RS FKQ1,NFKS ;REMAINING QUANTUM
;DEFSTR FKQTM,FKQ1(FX),35,36
RS FKQ2,NFKS ;FORK SCHEDULING QUANTITIES
;B0-B17 - FLAGS, MAX QUEUE, CURRENT QUEUE
;B18-35 - FKWTL: LOC OF WAIT LIST PTR FOR BLOCKED FORK
RS FKBSPW,NFKS ; GOLST POSITION ,, BALSET LIST PTR
RS FKSWP,NFKS ;SWAPPING DATA
;B0-B17 - FLAGS; B18-B35 - FKHST: MEM DEMAND HISTORY
RS FKNBW,NFKS ;TIME OF START OF BALSET WAIT
RS FKJTQ,NFKS ; Jsys Traps queue of forks
; waiting to PSI their monitor
RS FKPT,NFKS ;BALSET ENTRY TIME ,, FORK QUEUE PTRS
;DEFSTR FKBET,FKPT(FX),17,18
RS FKINT,NFKS ;FORK INTERRUPT COMMUNICATION REG
RS FKINTB,NFKS ;INTERRUPT CHANNELS REQUEST
RS FKJOB,NFKS ;JOB NUMBER ,, JSB
;DEFSTR FKJSB,FKJOB(FX),35,18
;DEFSTR FKJBN,FKJOB(FX),17,18
RS FKNR,NFKS ;AGE,,BALANCE SET SIZE (RESERVE)
;DEFSTR FKXAGE,FKNR(FX),8,9 ;AGE AT LAST XGC
;DEFSTR FKAGE,FKNR(FX),17,9 ;CURRENT AGE
;DEFSTR FKWSS,FKNR(FX),35,18 ;WORKING SET SIZE
RS FKWSP,NFKS ;WORKING SET PARAMETERS - NWSCE,,N
;DEFSTR FKCSIZ,FKWSP(FX),35,18 ;CURRENT SIZE
;ALSO LH USED WHILE ENTERING BALSET
RS FKTIME,NFKS ;TIME AT WHICH FORK WAS PUT ON CURRENT QUEUE
RS FKCNO,NFKS ; SECOND PSB PAGE ,, CORE NUMBER
;DEFSTR FKPS2,FKCNO(FX),17,18
;DEFSTR FKCNN,FKCNO(FX),35,18
;TABLES FOR SETNM
NNAMES==:^D40 ;NUMBER OF NAMES ALLOWED
RSE SNAMES,NNAMES ;SIXBIT NAME OF SUBSYSTEM
RSE STIMES,NNAMES ;ACCUMULATED RUNTIME OF SUBSYSTEM
RSE SPFLTS,NNAMES ;ACCUMULATED PAGE FAULTS OF SUBSYSTEM
RSE SSIZE,NNAMES ;WORKING SET SIZE INTEGRAL
RSE SNBLKS,NNAMES ;NUMBER OF BLOCKS
RSE SCOUNT,NNAMES ;NUMBER OF SETSN CALLS
;MONITOR STATISTICS
;N.B. THIS TABLE IS AVAILABLE THROUGH GETAB AND IS USED BY WATCH, EXEC, ETC.
;THE RELATIVE LOCATION OF WORDS WITHIN THE TABLE SHOULD NOT BE CHANGED.
NSTAT==:0 ;COUNT NUMBER STAT WORDS
;SPECIAL VERSION OF RS FOR STAT WORDS - COUNTS TOTAL
DEFINE STATRS (SYM,NUM)<
NSTAT=NSTAT+NUM
RS SYM,NUM
>
STATRS SKDTM0,1 ;TIME SPENT IN SKDNUL WITH BALSET EMPTY
STATRS SKDTM1,1 ;TIME SPENT IN SKDNUL WITH BALSET NON-EMPTY
STATRS SKDTM2,1 ;TIME SPENT RUNNING SCHEDULER
STATRS SPTTIM,1 ;TIME SPENT IN PAGER TRAP CODE
STATRS DRMRD,1 ;NUMBER OF DRUM READS
STATRS DRMWR,1 ;NUMBER OF DRUM WRITES
STATRS DSKRD,1 ;NUMBER OF DISK READS
STATRS DSKWR,1 ;NUMBER OF DISK WRITES
STATRS TTYBKS,1 ;NUMBER OF FORK WAKEUPS
STATRS TTINTS,1 ;NUMBER OF TERMINAL INTERRUPTS
STATRS BSTSUM,1 ;INTEGRAL OF NBPROC DT
STATRS RJTSUM,1 ;INTEGRAL OF NBPROC+NGOJOB DT
NRJAVS==:3 ;NUMBER OF EXPONENTIAL AVERAGES MAINTAINED
STATRS RJAV,NRJAVS ;EXPONENTIAL AVERAGE OF NUMBER RUNNABLE FORKS
STATRS DSKWT,1 ;SUM OF PROCESS DSK WAIT TIMES
STATRS DRMWT,1 ;SUM OF PROCESS DRUM WAIT TIMES
STATRS NTTYIN,1 ;TOTAL NUMBER TERMINAL INPUT CHARS
STATRS NTTYOT,1 ;TOTAL NUMBER TERMINAL OUTPUT CHARS
STATRS NGCCOR,1 ;COUNT OF GCCOR'S
STATRS GCCTIM,1 ;INTEGRAL OF GCCOR TIME
STATRS NREMR,1 ;COUNT OF WS REMOVALS WHILE RUNNABLE
STATRS BSWT,1 ;SUM OF PROCESS WAIT TIMES
STATRS SKDOVH,1 ;ACCUMULATED SCHED OVERHEAD TIME IN HP UNITS
STATRS SKDIDL,1 ;ACCUMULATED IDLE TIME IN HP UNITS
STATRS SKDSWP,1 ;ACCUMULATED SWAP-WAIT TIME IN HP UNITS
STATRS USRTIM,1 ;ACCUMULATED USER TIME IN MILLISECONDS
STATRS HQFSUM,1 ;INTEGRAL OF NHQFK DT
STATRS LQFSUM,1 ;INTEGRAL OF NLQFK DT
STATRS DWRWT,1 ;SUM OF PROCESS DISK WRITE WAIT
STATRS NAJBAL,1 ;NUMBER OF FORCED AJBALS CALLS
STATRS SNRSUM,1 ;INTEGRAL OF SUMNR
STATRS RPQSUM,1 ;INTEGRAL OF NRPLQ
STATRS HSPTTM,1 ;HP PAGER TRAP TIME
STATRS NCSWCH,1 ;NUMBER OF CONTEXT SWITCHES
STATRS BGNDTM,1 ;TIME DOING BACKGROUND STUFF (TTCH7, ETC.)
STATRS STRPCT,1 ;SYSTEM TOTAL PAGE TRAPS
STATRS SRPQSC,1 ;SYSTEM TOTAL "SAVES" FROM RPLQ
STATRS SGCCWR,1 ;NUMBER WRITES FROM GCCOR
STATRS NWSSUM,1 ;INTEGRAL OF NUMBER WS IN MEM
STATRS SKDFIL,1 ;INTEGRAL OF WAIT TIME WO SWAP WAITS
STATRS NWSLOD,1 ;COUNT OF WS LOADS
STATRS NREMJ,1 ;COUNT OF BALSET REMOVALS WHILE RUNNABLE
STATRS SXGCWR,1 ;NUMBER WRITES FROM XGC
STATRS TTWAKN,1 ;COUNT OF TERMINAL INPUT WAKEUPS
STATRS DSKRVC,1 ;COUNT OF SKIP READS
STATRS ACTJOB,1 ;[7.1051] lowest active job,,highest act job
STATRS WHOJOB,1 ;[7.1051] number of opr jobs,,user jobs
;***** END OF STATISTICS TABLE *****
;CI STATISTICS
;N.B. THIS TABLE IS AVAILABLE THROUGH GETAB AND IS USED BY WATCH, EXEC, ETC.
;THE RELATIVE LOCATION OF WORDS WITHIN THE TABLE SHOULD NOT BE CHANGED.
NCSTAT==:0 ;COUNT NUMBER CI STATISTICS WORDS
;SPECIAL VERSION OF RS FOR CI STATISTICS WORDS - COUNTS TOTAL
DEFINE CTATRS (SYM,NUM)<
NCSTAT=NCSTAT+NUM
RS SYM,NUM
>
CTATRS CIPKSN,1 ;CI PACKETS SENT
CTATRS CIPKRC,1 ;CI PACKETS RECEIVED
CTATRS SCAOSN,1 ;SCA OVERHEAD MESSAGES SENT
CTATRS SCAORC,1 ;SCA OVERHEAD MESSAGES RECEIVED
CTATRS MSCSNT,1 ;MSCP DRIVER MESSAGES SENT
CTATRS MSCRCV,1 ;MSCP DRIVER MESSAGES RECEIVED
CTATRS SVSEND,1 ;MSCP SERVER MESSAGES SENT
CTATRS SVRECV,1 ;MSCP SERVER MESSAGES RECEIVED
CTATRS CFSSND,1 ;CFS MESSAGES SENT
CTATRS CFSRCV,1 ;CFS MESSAGES RECEIVED
CTATRS SCSJSN,1 ;SCS% MESSAGES SENT
CTATRS SCSJRC,1 ;SCS% MESSAGES RECEIVED
CTATRS CMDQS,4 ;CI COMMAND QUEUE USAGE
CTATRS IPSND,1 ;IP DATAGRAMS SENT
CTATRS IPRCV,1 ;IP DATAGRAMS RECEVIED
CTATRS DNASND,1 ;DECNET DATAGRAMS SENT
CTATRS DNARCV,1 ;DECNET DATAGRAMS RECEIVED
CTATRS SCSJDS,1 ;SCS% DATAGRAMS SENT
CTATRS SCSJDR,1 ;SCS% DATAGRAMS RECEIVED
CTATRS MSCDRC,1 ;MSCP DRIVER DATAGRAMS RECEIVED
CTATRS HSCELP,1 ;HSCP ERROR-LOG DATAGRAMS RECEIVED (PPD BYTE 5)
;********** END OF CI STATISTICS TABLE ******************
;LOAD AVERAGE COMPONENTS (GETAB TABLES)
RSE CLSRJA,<MAXCLS*NRJAVS> ;RUN AVGS FOR CLASSES
RS HQLAV,NRJAVS ;HIGH-QUEUE AVERAGES
RS LQLAV,NRJAVS ;LOW-QUEUE AVERAGES
;**TEMP** 3A ONLY
RS(XB2RED,1)
RS(XB2WRT,1)
;**TEMP END**
;SCHED VARIABLES
;THIS WAS 240 BEFORE SCA...
NSKDP==:700 ;SIZE OF SCHED PDL
RS SKDPDL,NSKDP ;SCHEDULER LOCAL PDL
RS SCKATM,1 ;ALARM TIME - MIN OF ALL SCHED CLOCKS
RS OLDTCK,1 ; "
RS PI7AC1,2 ;TEMPS AT PISC7
RS ALARMT,1 ;MIN TIME OF FORKS ON CLKLST
RS SKDTHS,1 ;TIME IN SCHED SO FAR THIS PASS
RS SKDLST,1 ;LAST READING OF HP CLOCK
RS SKDLRT,1 ;RUNTIME OF LAST TRIP THRU SCHEDULER
RS NULJBF,1 ;NON ZERO IF RUNNING THE NULL JOB
RS SNPSV1,1 ;PLACE TO SAVE AN AC WHILE CHECKING PC
; TO SEE IF IT IS IN A SNOOP BREAK POINT
RS LSTPFK,1 ;LAST FORK SCHEDULED
RS LFORKX,1 ;LAST FORK BEFORE BGND TASKS
RS FORKX,1 ;INDEX OF CURRENTLY RUNNING FORK
RS FREJOB,1 ;LIST OF FREE JOBS
RS WTLST,1 ;WAITING FORK LIST
RS WT2LST,1 ;WAITING FORKS TO BE WAKED BY UNBLK1
RS TTILST,1 ;LIST OF FORKS WAITING FOR TTY INPUT
RS TTOLST,1 ; .. .. TTY OUTPUT EVENTS
RS FRZLST,1 ; .. .. UNFREEZING
RS TRMLST,1 ; .. .. INFERIOR FORK TERMINATION
RS CLKLST,1 ; .. .. CLOCK
RS JTLST,1 ; JSYS traps queue
RS JTLSTL,1 ; ... last; doubly linked list of forks
; waiting on JTLCK to PSI some mon fork
RS GOLST,1 ;RUNNABLE FORK LIST
RS JB0FLG,1 ;RUN JOB 0 REQUEST
RS FRECB,1 ;FREE CORE NUMBER BITS
RS FREFK,1 ;LIST OF FREE FORKS
RS SYSIFG,1 ;SYSTEM HAS BEEN INITIALIZED IF NOT 0
RS PWRDWN,1 ;POWER FAILURE DETECTED IF .G. 0, DONE IF .L. 0
RS SPWFFL,1 ;Spurious power fail if -1, real if 0
RS FPTABL,<HGHSEC+1> ;Allow us all sections for CI growth
RS NBPROC,1 ;NUMBER OF PROCESSES IN BAL SET
RS NBWT,1 ;NUMBER WAITING PROCESSES IN BALSET
RS NBSWP,1 ;NUMBER FORKS IN SWAP WAIT
RS NHOLDF,1 ;NUMBER OF FORKS IN BALSET HOLD
RS MAXBP,1 ;MAX NUMBER OF JOBS IN BAL SET
RS BSQNT0,1 ;VALUE OF BSQNT AT START OF LAST RUNNING
RS SUMNR,1 ;SUM OF RESERVE PAGES, ALL PROCESSES IN MEM
RS SUMBNR,1 ;SUM WORKING SETS IN BALSET
RS NWSEPG,1 ;NUMBER PAGES WSETS ENTERING MEMORY
RS BALSHC,1 ;COUNT OF PAGES IN BALSET BECAUSE OF SHARING
RS NXTCNF,1 ;NEXT FORK TO CHECK - GCNO
RS RELCB,1 ;MASK OF CORE NUMBERS RELEASED BUT NOT CLEARED
RS MAXNR,1 ;MAX VALUE OF SUMNR
RS MAXHNR,1 ;MAX NR OF BALSET HOLDING FORKS
RS BSLST,1 ;LIST OF BALSET HOLDING FORKS
RS NBSL,1 ;NUMBER OF BALSET HOLDING FORKS
RS NEBAL,1 ;NUMBER OF PROCESSES NOW ENTERING BALSET
RS REMFGS,1 ;FLAGS SET ON REMBSJ/REMBSF
RS NPMAX,1 ;MAX NUMBER OF PAGES IN CORE FOR ONE PROCESS
RS SNPMAX,1 ;SMALL NPMAX FOR LOADED CONDITIONS
RS IRJAV,1 ;NEAREST INTEGER TO RJAV
RS WSMTIM,1 ;TIME FOR NEXT WSMGT
RS RWSOKF,1 ;FLAG - OK TO DO REMWS
RS NWSMEM,1 ;NUMBER WS IN MEM
RS NHQFK,1 ;NUMBER FORKS ON .L. MAXQ
RS NLQFK,1 ;NUMBER FORKS ON MAXQ
;SCHEDULER VARIABLES
RS SCHFLG,1 ;PERMANENT SCHEDULER FLAGS
RS SKEDF1,1 ;START PROCESS VIA CH7 BREAK IN 1
RS SKEDF3,1 ;PROCESS CLOCK COUNTED TO 0
RS SKEDFC,1 ;FORCE CLEAR OF BALSET & MEMORY
RS INSKED,1 ;IN SCHEDULER IF NON-ZERO
RS SSKED,1 ;LAST JOB RUNNING WAS NOSKED
RS SETPAG,1 ;TEMP FOR SETTING PAGER AT SCDR
RS RSKCHK,4 ;XPCW DESTINATION
RS PSKED,1 ;PAGE TRANSFER COMPLETED
RS QSKED,1 ;BLOCKED FORK NOW UNBLOCKED IF .G. 0
RS TSKED,1 ;TTY OUTPUT EVENT IF .N. 0
RS BSKED,1 ;FORK VOLUNTARILY LEFT BALSET IF .G. 0
RS NGOJOB,1 ;NUMBER OF RUNNABLE JOBS
RS RJTTIM,1 ;TIME AT LAST UPDATE TO RJTSUM
RS RJATIM,1 ;TIME OF NEXT RJAV UPDATE
RS RJAVS1,1 ;RJTSUM AT LAST RJAV UPDATE
RS RJAVS2,1 ;HQFSUM AT LAST RJAV UPDATE
RS RJAVS3,1 ;LQFSUM AT LAST RJAV UPDATE
;CLOCKS COUNTED DOWN AND TESTED, PARALLEL TO PCLKT, DON'T REORDER
RS BSQNT,1 ;RUNNING JOB REMAINING QUANTUM
RS TIM1,1 ;SCHED FAST CLOCK
RS TIM2,1 ;SECOND CLOCK, 100 MS
RS FKT0,1 ;CLOCK AT START OF RUNNING
RS FKT1,1 ;TIME USED SINCE SETRT
RS TIM0,1 ;TODCLK AT LAST C1STAT
RS TODCLK,1 ;MILLISECOND CLOCK, MONOTONICALLY INCREASING
RS TODPWL,1 ;TIME OF DAY (IN SECONDS) BY POWER LINE CLOCK
RS CHKTIM,1 ;TIME AT WHICH CHKR CONSIDERED OVERDUE
RS CHKDUE,1 ;OVERDUE COUNT FOR CHKR
RS DDPTIM,1 ;TIME AT WHICH DDMP CONSIDERED OVERDUE
RS DDPDUE,1 ;OVERDUE COUNT FOR DDMP
RS SCDRN1,1 ;RUN ONLY JOB N IF N .G. -1
;CRASH-ON-FORK STORAGE
IFN DEBUG,
<
RS CRSFRF,1 ;FLAG WORD
RS CRSFRN,1 ;FORK TO CRASH ON
RS CRSJBN,1 ;JOB REQUESTING CRASH
>
;DIRECTORY RELATED STORAGE
RS MXDIRN,1 ;Maximum # of directories
;Max directory # +1
RS NDIRPG,1 ;MAX # OF PAGES FOR A DIRECTORY FILE
RS FBTSIZ,1 ;SIZE OF FREE BIT TABLE BLOCK
RS IDXORA,1 ;WORD CONTAINING START OF INDEX TABLE
RS DIRORA,1 ;WORD CONTAINING BASE ADR OF MAPPED DIR
NDG DIRRDM,777777777700 ;DEFAULT MASK FOR DIRECTORY READ UPDAATE
RS DIRRDU,1 ;READ UPADTE MASK
RS DIRCLK,1 ;DIRECTORY CACHE LOCK
NDG DIRCSZ,^D25 ;DIRECTORY CACHE SIZE
RS DIRCSH,DIRCSZ*5 ;DIRECTORY CACHE TABLE
RS BTBORA,1 ;WORD CONTAINING BASE ADR OF MAPPED BIT TABLE
;MISC STORAGE
;SYSTEM STARTUP FLAG. REPLACES DIDSCA AND STOKF
RSI STARTF,<0> ;DEFAULT IS NRMAL STARTUP
NR (JB0XFR,1) ;WHERE TO GO ON ERROR IN FORK 0
RS SEBFRK,1 ;FORK NUMBER OF SYSERR FORK
RS CILFRK,1 ;FORK NUMBER OF IPALOD.EXE FORK
RS CIDFRK,1 ;FORK NUMBER OF IPADMP.EXE FORK
RS CIFORK,1 ;FORK NUMBER OF THE CI FORK
RS JB0FRK,1 ;FORK NUMBER OF JOB 0 (CHKR) FORK
RS DDMFRK,1 ;FORK NUMBER OF DDMP FORK
RS DNTFRK,1 ;FORK NUMBER OF NSP FORK
RS SJBFRK,1 ;FORK NUMBER OF SYSJOB FORK
RS MOSFRK,1 ;FORK NUMBER OF TGHA FORK
RS CTMFRK,1 ;FORK NUMBER OF CTERM HOST FORK
IFN CLEQIN,< ;[7.1072] If cluster ENQ support present
RS EQAFRK,1 ;[7.1072] Fork number of ENQ reply fork
RS EQRFRK,1 ;[7.1072] Fork number of ENQ resched fork
> ;[7.1072]
RS CLFORK,1 ;[7.1076] CLUDGR fork's number
RS DOBFRK,1 ;[7.1253] SETSPD DOB dump copier fork (0=none)
RS ACJFKH,1 ;[9041] ACJ relative fork number for job 0
;FLAGS FOR CUSTOMER-CONTROLLABLE OPTIONS
RSI HNGU0F,<HNGU0> ;HANGUP IF JOB NOT LOGGED IN
RSI HNGU1F,<HNGU1> ;HANGUP IF JOB LOGGED IN
RSI COFTIM,<^D60000*COFMIN> ;TIME BETWEEN AUTO DETACH AND AUTO LOGOUT
NR HDTCOF,1 ;[9058] Hangup on DETACH (nonzero=do it)
;STORAGE FOR BUGHLT AND BUGCHK
;KEEP DBUGSW, DCHKSW, EDDTF, WEFLAG IN ORDER (FOR DEBUGGING CONVENIENCE ONLY)
RSI DBUGSW,<0> ;STOP ON BUGHLTS
RSI DCHKSW,<0> ;STOP ON BUGCHKS
RSI EDDTF,<IEDDTF> ;EDDT PRESENT IF NON-0
RSI WEFLAG,<0> ;WRITE-ENABLE MON IF NON-0 AND DBUGSW=1
RSI DINFSW,<0> ;STOP ON BUGINFS
RSI DBUGIP,<0> ;IP DEBUGING
RSI SAVTRE,<SAVTRF> ;SAVE A TREE (ONE-LINE BUGXXX OUTPUT)
RSI CIBUGX,<0> ;OUTPUT MORE CI-RELATED BUGXXX
RSI DTBUGX,<1> ;If non-zero output BUGxxx for MCB DTEs
IFN KNIN,<
RS NIBUGX ;OUTPUT MORE NI-RELATED BUGXXX
RS RIQHED ;LLMOP Request ID Queue head
RS RIQLST ;LLMOP Request ID Queue end
RS LLMACT ;Time at which to send next System ID
> ;End of IFN KNIN
RSI CITIMR,<0> ;DON'T DO SCAMPI, PHYMSC, OR PHYMVR TIMEOUTS
RSI NOKLIP,<0> ;DON'T INITIALIZE THE KLIPA
RSI BUGHLT,<0,JRST BUGH0> ;JSR BLOCK FOR BUGHLT'S
RSI XBUGHLT,<<MSEC1,,BUGHLT>> ;Indirect word for BUGHLT's
RS SVVEXM,1 ;SAVE VALID EXAMINE IN BUGTYO
;USED IN KS10 TO SAVE KEEPALIVE WORD
RSI BUGLCK,<-1> ;LOCK ON BUGXXX ROUTINES
RSI BUGCHK,<0,JRST BUGC0> ;JSR BLOCK FOR BUGCHK'S
RSI XBGCCHK,<<MSEC1,,BGCCHK>> ;Indirect word for BUGCHK's
RSI BUGINF,<0,JRST BUGI0> ;JSR BLOCK FOR BUGINF'S
RSI XBGCINF,<<MSEC1,,BGCINF>> ;Indirect word for BUGINF's
RS BUGACS,20 ;ACS
RS BUGACU,20 ;PLACE TO SAVE PREV CONTEXT ACS
IFE DEBUG,< ;[7.1162] If not debugging...
BUGPLN==:^D40 ;PUSH DOWN LIST SIZE
> ;[7.1162] End IFE DEBUG
IFN DEBUG,< ;[7.1162] Bigger if debugging
BUGPLN==:^D80 ;[7.1162] Push down list size
> ;[7.1162] End IFN DEBUG
RS BUGPDL,BUGPLN ;PUSH DOWN LIST
BUGMAX==:20 ;DONT LET MORE THAN 20 IN QUEUE
RS BUGCNT,1 ;COUNT OF BUG BLOCKS IN QUEUE
RS BUGNUM,1 ;NUMBER OF BUG CHECKS SINCE STARTUP
RS BUGSEB,1 ;SYSERR BLOCK POINTER
RS BUGP1,1 ;TEMPS IN BUGSTO
RS BUGP2,1 ; ..
RS BUGP3,1 ; ..
RS BUGTMS,1 ;TIME TO STORE NEXT BUGTIM
BUGINT==:^D<5*60000> ;INTERVAL FOR STORING BUGTIM-5 MINUTES
RS BUGTIM,4 ;ASCII TIME AND DATE STORED FOR BUGHLT
RSI PISAV,<-1> ;CONI PI, AT TIME OF BUGHLT
RSI PISV1,<-1> ;TEMP COPY OF PISAV BEFORE WE GET BUGLCK
;STORAGE FOR JSR'S IN RESIDENT MONITOR
RSI BUGMON,<0,JRST BUGM0> ;TO GO TO SECONDARY PROTOCOL
RSI BUGPRI,<0,JRST BUGP0> ;TO GO TO PRIMARY PROTOCOL
;ROUTINES IN APRSRV TO TYPE CHARACTERS ON THE CTY IN SECONDARY PROTOCOL
;REACHED VIA JSR, WHICH STORES INTO THE FIRST WORD OF THE PAIR.
;THESE LOCATIONS ARE IN PSECT RSDAT
RSI BUGTYC,<0,JRST BUGT0> ;TYPEOUT DURING ERROR HANDLING
RSI BUGMSG,<0,JRST BUGMS0> ;TYPE OUT A STRING
RSI BUGTYO,<0,JRST BUGTY0> ;TYPE CHARACTER, PAD IF <LF>
RSI BUGNO,<0,JRST BUGNO0> ;TYPE A NUMBER
;STORAGE FOR THE UTEST JSYS
RS UTLOCK,1 ;CONTAINS THE FORK # OF OWNER
RS UTBASE,1 ;THE STARTING ADR OF ROUTINE BEING TESTED
RS UTLEN,1 ;THE NUMBER OF WORDS BEING TESTED
UTNPG==:1 ;NUMBER OF PAGES OF STORAGE SPACE
NUTWDS==UTNPG*PGSIZ ;WORDS OF BUFFER SPACE FOR UTEST
NRP UTPGS,NUTWDS ;BUFFER SPACE
;STORAGE FOR ADDRESS BREAK
RSI EXECBK,<0> ;0 IF NO EXEC BREAK, BREAK CONDITIONS OTHERWISE
RS USERBK,1 ;NUMBER OF PROCESSES WITH ADDRESS BREAK SET
IFN KCFLG,<
RS BRKBLK,5 ;BLOCK FOR DOING WRCTX
> ;END OF IFN KCFLG
;STORAGE FOR TTYSRV
NCHBF==:<TTSIZ-1>*4 ;NUMBER OF CHARS IN 1 BUFFER
;TTY BUFFERS--INPUT, OUTPUT, AND ECHO
;BUFFERS ARE OF SIZE TTSIZ, AND START AT LOCATIONS N*TTSIZ+1
RS TTBUFS,NTTBF*TTSIZ+TTSIZ
;WORD THAT CONTAINS THE UNIT NUMBER ON THE .FEDLS DEVICE BY WHICH
;THE FRONT END KNOWS THE CTY. USED IN IDCTY.
RS CTYINT,1
RS TCOERR,1 ;TCOUT SETS THIS IF FAILS IN SCHEDULER CONTEXT
RS J0RLDF,1 ;INTERLOCK FE RELOAD BECAUSE CTY HUNG
;STORAGE
RS TTFREC,1 ;COUNT OF FREE BUFFERS
RS TTFREB,1 ;LIST OF FREE BUFFERS
NTSQWD==:<NLINES+^D35>/^D36 ;NUMBER OF WORDS IN START OUTPUT QUEUE
RS TTSOQ,NTSQWD ;START OUTPUT QUEUE, ONE BIT PER LINE
IFE FTNSPSRV,<
CHSQWD==:<NTTCTH+^D35>/^D36 ;NUMBER OF WORDS IN CTERM START OUTPUT QUEUE
RS CHSOQ,CHSQWD ;CTERM START OUTPUT QUEUE, ONE BIT PER LINE
>;END IFE FTNSPSRV
RS PTYSTM,1 ;PTY START TIME
RS TNETRQ,NTSQWD ;BIT MASK FOR ACTIVE NET USER LINES
RS TQLNQ,NTSQWD ;BIT MATRIX FOR LINE FUNCTION QUEUE
IFN LAHFLG,<
NDG MAXACB,<^D32> ;[7.1164][7250]Max number of allocated circuit
;blocks.
NDG MAXACC,<^D20> ;[7.1164]Max number of active circuits
NDG SBBWDS,<NTTLAH+^D35>/^D36 ;[7.1164][7.1120]WORDS IN SBVECT
RS SBBITS,SBBWDS ;[7.1164][7.1120]SBVECT BITMASK, ONE BIT/LINE
>
;BIG BUFFER
RS TTBIGI,1 ;INPUT INDEX
RS TTBIGO,1 ;OUTPUT INDEX
RS TTBIGC,1 ;COUNT
RS TTBBUF,TTBSIZ ;BUFFER
RS TTQCNT,1 ;COUNT OF SPECIAL LINE ITEMS
RS TTCQLN,1 ;CONTROL OP CURRENT LINE NUMBER
RS TTHNGL,1 ;LINE BEING EXAMINED FOR HUNG
RS TTHNGT,1 ;TIME AT WHICH LINE WILL BE DEFINED AS HUNG
RS TTHNGN,1 ;LAST HUNG LINE ,, NUMBER UNHANGS DONE
RS LINKF,1 ;LINKED OUTPUT CHAR IN NOT 0
RS IMECHF,1 ;IMMEDIATE ECHO OUTPUT CHAR IF NON-0
RS TTCHIC,1 ;INPUT CHARACTER IN TTCHI
RS TTSTAT,NLINES ;STATIC DATA
RS TTACTL,NLINES ;POINTER TO DYNAMIC DATA
RS TTSPWD,NLINES ;INPUT,,OUTPUT SPEEDS
RS TTCSAD,NLINES ;ROUTINE FOR SCHEDULER TO CALL
RS TTCSTM,NLINES ;TIME TO CALL ROUTINE IN TTCSAD
IFE FTNSPSRV,<
RS TT1LIN,NLTYPS ;PLACE FOR FIRST LINE OF THIS TYPE
; STORED AT INITIALIZATION
;OTHER MISC TTYSRV STORAGE
RS SALLCK,1 ;SENDALL LOCK
RS SALCNT,1 ;SENDALL COUNT
RS SALBFR,1 ;SENDALL BUFFER ADDRESS
>;END OF IFE FTNSPSRV
RS CTYLNO,1 ;CTY LINE NUMBER (STORED IN TTINIT)
;STORAGE FOR STRING CONTAINING VERSION AND NAME OF MONITOR
NR SVN,NSVNT ;TEXT IS READ FROM SYSTEM:MONNAM.TXT
; OR DEFAULTED TO A PREASSEMBLED STRING
; AT TSVN
IFN RP04F,<
BTBMAX==:16000 ;MAXIMUM WORDS AVAILABLE FOR BIT TABLE
BTBTOP==:3100 ;SIZE OF TOP HALF FOR OLD DISKS
BTBBOT==:11300 ;SIZE OF BOTTOM HALF FOR OLD DISKS
;BIT TABLE
RS BTBSIZ,1 ;MAXIMUM WORDS AVAILABLE FOR BITTABLE
;* * * *
;This will go away when FILINI is fixed
; * * * *
BTBLEN==:0 ;DO NOT RESERVE SPACE IN SECTION 0
NRP BTB,BTBLEN
;NOTE THAT THE OLD ASSUMPTION THAT SOME CYLINDERS ARE NOT AVAILABLE
;FOR FILES HAS BEEN REMOVED. LOTRK (THE FIRST AVAILABLE CYLINDER) IS
;NOW ALWAYS 0, AND HITRK (THE HIGHEST AVAILABLE CYLINDER) IS THE LAST
;CYLINDER IN THE STRUCTURE, WHICH IS CONTAINED IN SDBCYL IN THE SDB
LOTRK==:0
>
RS BTBLCK,1 ;BIT TABLE LOCK
RS DERRHD,1 ;HEADER FOR BAT BLOCK QUEUE
ERRLNK==:4 ;OFFSET IN ERROR NODE FOR THE LINK
;VARIABLES HOLDING PARAMETERS OF PUBLIC STRUCTURE
RS NSSUN,1 ;# OF SWAPPING SECTORS PER UNIT
RS FSSUN,1 ;FIRST SWAPPING SECTOR ON UNIT
;VARIABLES USED BY FSI ROUTINES
RS FSIBLK,20 ;TEMPORARY BLOCK
RS FEFSIZ,1 ;SIZE OF FRONT END FILE SYSTEM IN PAGES
RS BOTSIZ,1 ;SIZE OF BOOTSTRAP.BIN IN PAGES
NPGSFE==:NTRFE*^D95 ;DEFAULT NUMBER OF PAGES IN FE FILE SYSTEM
NPGSBT==:NTRBT ;DEFAULT NUMBER OF PAGES IN BOOTSTRAP.BIN
DSKMSK==:777774 ;BITS NOT USED IN LH OF DISK ADDRESS
;HOME BLOCKS
IFN RP04F,<
HOME:: 0 ;BOOT STRAP FOR THE 11
1 ;HOME BLOCK
2 ;BAT BLOCK
3 ;PDV BLOCK
4 ;RESERVED
5 ;RESERVED
6 ;RESERVED
7 ;RESERVED
10 ;RESERVED
11 ;RESERVED
12 ;SECONDARY HOME BLOCK
13 ;SECONDARY BAT BLOCK
NHOME==:.-HOME
>
REPEAT 0,< ;[7.1117] Remove these words
;DO NOT REORDER ERROR WORDS, USED BY GETAB
NDSKEW==:^D10 ;NUMBER OF ERROR WORDS FOR GETAB
RS DSKRCE,1 ;COUNT OF RECOVERABLE ERRORS
RS DSKRER,4 ;COMMAND WORDS AND ERROR BITS OF LAST ERROR
RS DSKNRE,1 ;COUNT OF NON-RECOVERABLE ERRORS
RS DSKLER,4 ;COMMAND WORDS AND ERROR BITS LAST NON-REC ERR
> ;[7.1117] End of REPEAT 0
RS DSPSFK,1 ;FORK,,PSI FOR DISK ONLINE/OFFLINE INTERRUPT
;PARAMETERS FOR THE BAT BLOCK ERROR QUEUE
NODSIZ==:5 ;SIZE OF AN ENTRY
MAXNOD==:^D10 ;NUMBER IN FREE POOL
RS IOERRQ,MAXNOD*NODSIZ ;ALLOCATE THE POOL
RS IOERRH,1 ;THE QUEUE HEADER
RS ERRSWP,1 ;FLAG FOR A BAD BLOCK ON PSB, PT, UPT READ
RS VSMFLG,1 ;FLAG FOR FORCED VERIFICATION OF MONITOR AT
;SYSTEM STARTUP TIME
;BAT BLOCK VARIABLES
CODBAT==:606060 ;UNLIKELY CODE IN BATCOD
MAXBFR==:^D61*2 ;MAX FREE SPACE IN BAT BLOCK
MAXBAD==:^D511 ;MAX BAD SPOTS IN A BAD PAIR
BAT1P==:4 ;OFFSET OF FIRST BAD PAIR
;STRTAB AND SDB DEFINITIONS
NR (UCSEED,1) ;SEED FOR UNIQUE CODE FOR EACH STRUCTURE
NR (STRLOK) ;LOCK FOR THE DISMOUNT CODE
NDG STRN,^D64 ;[7.1042]MAXIMUM NUMBER OF STR'S ALLOWED
RS STRTAB,STRN ;TABLE OF POINTERS TO SDB'S
NDG MXSTRU,4 ;MAX # OF PACKS IN A STRUCTURE
; (ASSUMES RP04'S, USED TO LIMIT SDBUDB)
HOMTBL==:MXSTRU ;LENGTH OF HOMTAB
RS HOMTAB,HOMTBL ;LOGICAL TO PHYSICAL MAPPING
; (CKU NUMBERS FOR EACH LOGICAL UNIT)
;SDB - STRUCTURE DATA BLOCK FORMAT
SDBNAM==:0 ;STRUCTURE NAME
SDBNUM==:1 ;NUMBER OF UNITS IN STRUCTURE
SDBSIZ==:2 ;SIZE IN SECTORS OF EACH UNIT IN STR
SDBSTS==:3 ;STATUS FLAGS,,INITING FORK
SDBRXB==:4 ;ADDRESS OF ROOT DIR INDEX BLOCK
SDBBXB==:5 ;ADDRESS OF BACKUP COPY OF ROOT DIR
SDBNSS==:6 ;NUMBER OF SWAPPING SECTORS PER UNIT
SDBFSS==:7 ;FIRST SWAPPING SECTOR PER UNIT
SDBBTB==:10 ;OFN OF BIT TABLE
SDBFRC==:11 ;COUNT OF FREE PAGES ON STRUCTURE
SDBIDX==:12 ;HANDLE'S OF INDEX TABLE AND ROOT-DIRECTORY
SDBLDN==:13 ;LAST DIRECTORY NUMBER ON THIS STRUCTURE
SDBLCA==:14 ;LAST CYLINDER ASSIGNED BY DSKASN
SDBCYL==:15 ;TOTAL CYLINDERS IN STRUCTURE
SDBBT0==:16 ;LENGTH OF TOP HALF OF BIT TABLE
SDBBT1==:17 ;LENGTH OF BOTTOM HALF OF BIT TABLE
SDBTYP==:20 ;ADDRESS OF DSKSIZ TABLE FOR THIS TYPE OF DISK
SDBFLK==:21 ;FILE LOCK COUNT,,UNIQUE CODE
SDBCNT==:22 ;MOUNT COUNT,,OPEN FILE COUNT
SDBPUC==:23 ;PACK UNIQUE CODE FOR MEDIA IDENTIFICATION
SDBOMF==:24 ;ORIGINAL MINIMUM FREE PAGES LIMIT
SDBMXF==:25 ;BOUNDRY ABOVE WHICH SDBMFP=SDBOMF
SDBMFP==:26 ;MIN FREE PAGES BELOW WHICH DSKASA
;CHANGES ASSIGNMENT ALGORITHM
SDBALS==:27 ;Alias name
SDBTMR==:30 ;[7.1063]Offline structures time stamp word
SDBUDB==:31 ;[7.1063]FLAGS,,POINTERS TO UDB'S
SDBLN==:SDBUDB+MXSTRU ;LENGTH OF ONE SDB
RS SDBBL0,SDBLN ;STRUCTURE DATA BLOCK FOR PS
;STORAGE FOR RESIDENT FREE SPACE POOL
;PRIORITY LEVELS
.RESP1==:0 ;HIGHEST PRIORITY, ALWAYS TRY TO ASSIGN SPACE
;NO PAGE FAULTS ALLOWED
.RESP2==:1 ;SECOND LEVEL, NO PAGE FAULTS ALLOWED
;BUT DONT ASSIGN SPACE IF BELOW RESMIN
.RESP3==:2 ;PROCESS CONTEXT. PAGE FAULTS ALLOWED.
;LOCK DOWN MORE SPACE IF NECESSARY
;POOL NUMBERS. NOTE: POOL NUMBERS START AT 1, SO THAT WE CAN DETECT
;INADVERTENT ZEROING OF POOL NUMBERS IN FREE SPACE. OFFSET 0 IN THE
;TABLES IS UNUSED.
.RESGP==:1 ;GENERAL POOL
.RESTP==:2 ;TERMINAL POOL - USED ONLY BY TTYSRV
.RESNP==:3 ;NETWORK POOL - USED BY NSPSRV/DECnet-36
.RSTMP==:4 ;TIMER POOL - USED ONLY BY TIMER%
.RESUP==:5 ;UNITS POOL - USED BY PHYSIO AND DSKALC
RESQTL==:6 ;NUMBER OF POOLS OF RESIDENT FREE SPACE
; USED FOR ALLOCATION OF QUOTA TABLE
;QUOTAS FOR EACH OF THE POOLS.
.RESGQ==:1400 ;GENERAL QUOTA - UNEXTENDED SYSERR AND CTY LDB
.XREGQ==:16000 ;[8814] General quota extended
.RESTQ==:600 ;TERMINAL QUOTA - CTY DYNAMIC DATA AND SENDALLS
.XRETQ==:100*ACTLNS ;[9033] Terminal quota extended section - terminal blocks
IFN FTNSPSRV,< ;DECNET QUOTA - USED BY NSPSRV
.RESNQ==:<^D40*44>+<^D20*33>+<12*30>+<^D10*<4*120>>+<^D15*<4*50>>
.XRSNQ==:0 ;No extended quota for NSPSRV
>
;<40 SRV LL BLOCKS>+<20 DCN LL BLOCKS>+<12 ACK BUFFERS>+<10 ACTIVE LINKS WITH
;4 FULL SEGMENTS EACH>+<15 ACTIVE LINKS WITH 4 SMALL SEGMENTS EACH>
IFE FTNSPSRV,<
IFN NETN,<.RESNQ==:5000>;xxxxxx temp hack for tcp
IFE NETN,<.RESNQ==:^D300*4> ;QUOTA FOR MCB DTEs
IFN FTD36MM,<
.XRSNQ==:0 ;If using DECnet-36 memory manager then
> ; then no quota in extended pool
IFE FTD36MM,<
.XRSNQ==:^D150*^D512 ;[8807] Quota for DECnet-36 extended pool
>
>
.RSTMQ==:0 ;TIMER QUOTA IN SECTION 0
.XRTMQ==:3*^D8*NJOBS ;TIMER QUOTA EXTENDED - 3 per job, 8 words each
NDG .RESUQ,37200 ;[7.1042]UNITS QUOTA - USED BY PHYSIO AND DSKALC
; FOR UDBS, CDBS, KDBS, AND SDBS.
.XREUQ==:200 ;UNITS QUOTA EXTENDED (USED BY PHYMVR)
;Total amount of free space is sum of the parts (100% allocation).
NRESFP==:<.RESGQ+.RESTQ+.RESNQ+.RSTMQ+.RESUQ>/1000 ;Total length in pages
IFL NRESFP-10,<NRESFP==:10> ;ENSURE MINIMUM VALUE
NRESFB==:NRESFP*PGSIZ/4 ;NUMBER OF RESIDENT FREE 4 WORD BLOCKS
XNREFP==:<.XREGQ+.XRETQ+.XRSNQ+.XRTMQ+.XREUQ>/1000 ;Total in extended section
XNREFB==:XNREFP*PGSIZ/4 ;NUMBER OF 4-WORD BLOCKS IN EXTENDED SECTION
;Allocate free space
NRP RESFRP,<NRESFP*PGSIZ> ;RESERVE SPACE FOR RESIDENT FREE POOL
RESFRZ==:RESFRP+<NRESFP*PGSIZ>-1 ;END OF RESIDENT FREE POOL
RESBTL==:<NRESFP*PGSIZ/4+^D35>/^D36 ;LENGTH OF BIT TABLE
NRPE XREFRP,XNREFP*PGSIZ ;Extended free space
NRPE XREFRZ,0 ;End of extended free space
XREBTL==:<XNREFP*PGSIZ/4+^D35>/^D36 ;LENGTH OF BIT TABLE
XREBTB==:RESBTB+RESBTL+1 ;Extended bit table on same page with RESBTB
;[7.1042]RESBTB is only two pages long. Make sure the bittable does not
;[7.1042]exceed this length!
IFG <<XREBTL+RESBTL>-PGSIZ*2>,<
PRINTX ? Resident Free space bittable exceeds 2 pages> ;[7.1042]
;MISCELLANEOUS VALUES FOR RESIDENT FREE SPACE
RESFRM==:1000/4 ;BLOCKS GUARANTEED FOR .RESP1 REQUESTS
RESFRA==:10000/4 ;MINIMUM AMOUNT OF FREE SPACE MAINTAINED
;BY JOB 0
IFN FTKLIPA,< ;[7.1050]
IRSFRA==:RESFRA*2 ;[7.1050]Mimimum free space maintained
;[7.1050]during startup. Changed to
;[7.1050]RESFRA in RUNDD
> ;[7.1050]
IFE FTKLIPA,< ;[7.1050]
IRSFRA==:RESFRA ;[7.1050]If no KLIPA, RESFRA is enough
> ;[7.1050]
IFN FTD36MM,<
RSXFRA==:10000/4 ;Minimum amount of free space maintained
> ; by job 0 for extended free space
IFE FTD36MM,<
RSXFRA==:10000 ;More minimum if DECnet is using extended
> ; resident free space
;RESIDENT STORAGE FOR RESIDENT FREE SPACE MANAGER
RSI RESIFL,<-1> ;INITIALIZATION FLAG = -1 DURING STARTUP
RSI XRESFL,<-1> ;-1 until we can assign extended addresses
COMMENT *
Offset Old Meaning
.REBAS RESBAS Starting address of free space
.REEND RESFRZ Address of last word of free space
.RETOT NRESFB Total size of free space in blocks
.REPR1 RESMIN If remaining space less than this, allocate only priority 1
.REGRO RESAVE If remaining space less than this, grow free space (larger than .REMIN)
.REBTB RESBTB Address of start of bit table
.REBTL RESBTL Length of bit table (words)
.RETFR RESFRE Total remaining unallocated blocks
.REFFB RESFFB Number of block just past end of free space
.REPMX RESQTL Number of pools
.REQTA RESQTB Address of block containing quota for each pool
.REPFR RESUTB Address of block containing count of unallocated blocks per pool
*
;Blocks containing figures for each pool. Initial values show all blocks
;to be free
RSI RESQTB,<0,.RESGQ/4,.RESTQ/4,.RESNQ/4,.RSTMQ/4,.RESUQ/4>
RSI RESFRB,<0,.RESGQ/4,.RESTQ/4,.RESNQ/4,.RSTMQ/4,.RESUQ/4>
RSI XREQTB,<0,.XREGQ/4,.XRETQ/4,.XRSNQ/4,.XRTMQ/4,.XREUQ/4>
RSI XREFRB,<0,.XREGQ/4,.XRETQ/4,.XRSNQ/4,.XRTMQ/4,.XREUQ/4>
;Tables that describe each area of resident free space. RES0TB describes
;free space allocated in section 0/1
RSI RES0TB,<RESFRP,RESFRZ,NRESFB,RESFRM,IRSFRA,RESBTB,RESBTL,0,0,RESQTL,RESQTB,RESFRB> ;[7.1050]
RSI RESNTB,<XREFRP,XREFRZ,XNREFB,RESFRM,RSXFRA,XREBTB,XREBTL,0,0,RESQTL,XREQTB,XREFRB>
INTERN NDEV,DVXTT0
; Initial device tables used to initialize the working device tables
;CHARACTERISTICS DEFINITIONS AND MODE DEFINITIONS
DSCHR==DV%OUT!DV%IN!DV%DIR!DV%MDD
STRCHR==DV%OUT!DV%IN!DV%DIR!DV%MDD
DSCH1==0
STRCH1==0
DSMOD==DV%M0!DV%M1!DV%M2!DV%M3!DV%M4!DV%M5!DV%M6!DV%M7!DV%M10!DV%M11!DV%M12!DV%M13!DV%M14!DV%M15!DV%M16!DV%M17
MTCHR==DV%OUT!DV%IN!DV%AS
MTCH1==0
MTMOD==DV%M0!DV%M17
DTCHR==DV%MDV!DV%OUT!DV%IN!DV%DIR!DV%AS
DTCH1==0
DTMOD==DV%M0!DV%M17
IFG FEN,<
FECHR==DV%IN!DV%OUT!DV%AS
FECHR1==0
FEMOD==DV%M0>
PRCHR==DV%IN!DV%AS
PRCH1==0
PRMOD==DV%M0!DV%M1!DV%M10!DV%M13!DV%M14
PPCHR==DV%OUT
PPPCHR==DV%OUT!DV%AS
PPCH1==D1%SPL
PPPCH1==0
PPMOD==DV%M0!DV%M1!DV%M10!DV%M13!DV%M14
VBCHR==DV%OUT!DV%IN!DV%AS
VBCH1==0
VBMOD==DV%M0!DV%M17
IFG CDRN,<
CDRCHR==DV%IN!DV%AS
CDRCH1==0
CDRMOD==DV%M0!DV%M10
>
LPCHR==DV%OUT
PLPCHR==DV%OUT!DV%AS
LPCH1==D1%SPL
PLPCH1==0
LPMOD==DV%M0
CRCHR==DV%IN
CRCH1==D1%SPL
CRMOD==DV%M0
CPCHR==DV%OUT ;SPOOLED CARD PUNCH
CPCH1==D1%SPL
CPMOD==DV%M0+DV%M10
PCPCHR==DV%OUT!DV%AS ;PHYSICAL CARD PUNCH
PCPCH1==0
PCPMOD==DV%M0
TTYCHR==DV%OUT!DV%IN!DV%AS
TTYCH1==0
TTYMOD==DV%M0!DV%M10
PTYCHR==DV%OUT!DV%IN!DV%AS
PTYCH1==0
PTYMOD==DV%M0
NULCHR==DV%OUT!DV%IN
NULCH1==0
NULMOD==DV%M0!DV%M1!DV%M2!DV%M3!DV%M4!DV%M5!DV%M6!DV%M7!DV%M10!DV%M11!DV%M12!DV%M13!DV%M14!DV%M15!DV%M16!DV%M17
TCPCHR==DV%OUT!DV%IN!DV%DIR
TCPCH1==0
TCPMOD==DV%M0!DV%M1!DV%M2!DV%M3!DV%M4
PLCHR==DV%OUT
PPLCHR==DV%OUT!DV%AS
PLCH1==D1%SPL
PPLCH1==0
PLMOD==DV%M0
DLXCHR==DV%IN!DV%OUT!DV%AS
DLXCH1==0
DLXMOD==DV%M0
DCNCHR==DV%IN!DV%OUT
IFN FTNSPSRV,<
DCNCH1==0
>
IFE FTNSPSRV,<
DCNCH1==D1%MTO
>
DCNMOD==DV%M0!DV%M1
;DEFINITIONS FOR APPLICATIONS TERMINALS
ATSCHR==DV%IN!DV%OUT
ATSCH1==0
ATSMOD==DV%M0
;DEFINITIONS FOR CMA DEVICE (AYDIN DISPLAY)
CMCHR==DV%OUT!DV%AS
CMCH1==0
CMMOD==DV%M17
;NFT DEVICE
NFTCHR==DV%OUT!DV%IN!DV%DIR!DV%MDD
NFTCH1==0
NFTMOD==DV%M0
DEFINE DV (NAME,UNITS,TYPE,DISP,CHAR1,CHAR2,MODES,CHAR3)<
SIXBIT /NAME/
XWD NDEV,DISP
EXP CHAR1!<TYPE>B17!MODES
EXP CHAR2+CHAR3+UNITS
IFE UNITS,<NDEV==:NDEV+1>
NDEV==:NDEV+UNITS>
DVTSTP==:4 ;STEP SIZE FOR INIDVT TABLE
;DEVICE INITIALIZATION TABLE (LOADED IN SWAPPABLE CODE SEGMENT)
NDEV==:0
INIDVT::
DV(DSK,0,0,DSKDTB,DSCHR,DSCH1,DSMOD,0) ;DSK ALWAYS EXISTS
DVXST0==:NDEV
DV(STR,STRN,0,DSKDTB,STRCHR,STRCH1,DSMOD,0)
DVXSTN==:NDEV
IFG MTAN,<
DV(MTA,MTAN,2,MTADTB,MTCHR,MTCH1,MTMOD,0) ;MAGTAPE
DV(MT,MTAN,2,MTDTB,MTCHR,MTCH1,MTMOD,DV%PSD)> ;MT (FOR USER)
IFG DTAN,<
DV(DTA,DTAN,3,DTADTB,DTCHR,DTCH1,DTMOD,0)> ;DECTAPE
IFG PTRN,<
DV(PTR,PTRN,4,PTRDTB,PRCHR,PRCH1,PRMOD,0)> ;PTR
IFG SPTPN,<
DV(PTP,0,5,SPLDTB,PPCHR,PPCH1,PPMOD,0) ;SPOOLED PTP
DV(PTP,SPTPN,5,SPLDTB,PPCHR,PPCH1,PPMOD,0)> ;SPOOLED PTP UNITS
IFG PTPN,<
DV(PPTP,PTPN,5,PTPDTB,PPPCHR,PPPCH1,PPMOD,0)> ;PTP
IFG VBCN,<
DV(VBC,0,6,VBCDTB,VBCHR,VBCH1,VBMOD,0)> ;VB10 DISPLAY
IFG CMAN,<
DV(CMA,CMAN,.DVADS,CMADTB,CMCHR,CMCH1,CMMOD,0)> ;AYDIN DISPLAY
DV(LPT,0,7,SPLDTB,LPCHR,LPCH1,LPMOD,0) ;SPOOL LPT ALWAYS EXISTS
IFG LPTN,<
DV(LPT,LPTN,7,SPLDTB,LPCHR,LPCH1,LPMOD,0)> ;SPOOLED LPT UNITS
DVXLP0==:NDEV
IFG LPTN,<
DV(PLPT,LPTN,7,LPTDTB,PLPCHR,PLPCH1,LPMOD,0)> ;PHYSICAL LPT
DV(CDR,0,10,SPLDTB,CRCHR,CRCH1,CRMOD,0) ;SPOOLED CDR
IFG CDRN,<
DVXCD0==:NDEV
DV(PCDR,CDRN,10,CDRDTB,CDRCHR,CDRCH1,CDRMOD,0)> ;PCDR
IFG CDPN,<
DV(CDP,0,21,SPLDTB,CPCHR,CPCH1,CPMOD)> ;SPOOLED CDP
IFG PCDPN,<
DV(PCDP,PCDPN,21,CDPDTB,PCPCHR,PCPCH1,CPMOD)> ;PHYSICAL CDP
IFG FEN,<
DV(FE,FEN,11,FEDTB,FECHR,FECHR1,FEMOD,0)> ;THE FE DEVICES
DVXTT0==:NDEV ;SAVE DEV TABLE INDEX OF FIRST TTY
DV(TTY,NLINES,12,TTYDTB,TTYCHR,TTYCH1,TTYMOD,0) ;TTYS ALWAYS EXIST
IFG NTTPTY,<
DV(PTY,NTTPTY,13,PTYDTB,PTYCHR,PTYCH1,PTYMOD,0)> ;PSEUDO TTY
DV(NUL,0,15,NILDTB,NULCHR,NULCH1,NULMOD,0) ;THE NULL DEVICE
IFG SPLTN,<
DV(PLT,0,17,SPLDTB,PLCHR,PLCH1,PLMOD,0) ;SPOOLED PLOTTER
DV(PLT,SPLTN,17,SPLDTB,PLCHR,PLCH1,PLMOD,0)> ;SPOOLED PLT UNITS
IFG PLTN,<
DV(PPLT,PLTN,17,PLTDTB,PPLCHR,PPLCH1,PLMOD,0)> ;PLOTTER
IFG DLXN,<
DV(DLX,DLXN,20,DLXDTB,DLXCHR,DLXCH1,DLXMOD,0)> ;DL10
IFG DCN,<
DV(DCN,0,22,DCNDTB,DCNCHR,DCNCH1,DCNMOD,0)
DV(SRV,0,23,SRVDTB,DCNCHR,DCNCH1,DCNMOD,0)>
IFN ATS,<
DV(ATS,0,24,ATSDTB,ATSCHR,ATSCH1,ATSMOD,0)> ;APPLICATIONS TERMINALS
IFN NFT,<
NFTIDX==:NDEV ;DEVICE INDEX FOR NFT
DV(NFT,0,24,NFTDTB,NFTCHR,NFTCH1,NFTMOD,0)>
IFN NETN,<DV(TCP,0,25,TCPDTB,TCPCHR,TCPCH1,TCPMOD,0)>
BLOCK 2*DVTSTP ;LEAVE ROOM TO PATCH 2 DEVICES
NINIDV==:.-INIDVT
NDEV=NDEV+2 ;LEAVE ROOM TO PATCH 2 DEVICES
RS(DEVL0K,LOKLEN) ; Lock for assigning devices
NR(DEVNAM,NDEV) ; Sixbit device name
RS(DEVCHR,NDEV) ;[8842] Device characteristics
NR(DEVCH1,NDEV) ;DEV CHAR WORD # 2
NR(DEVCH2,NDEV) ; DIR NUMBER OF SPOOL DIRECTORY
NR(DEVDSP,NDEV) ; Lh = ofn if any, rh = dispatch table address
RS(DEVUNT,NDEV) ; Lh = job of assigner, rh = unit number
;PARAMETERS AND STORAGE FOR ACCOUNT VALIDATION
NR ACTOFN,1 ;OFN FOR <SYSTEM>ACCOUNTS-TABLE.BIN
NR ACTPGN,1 ;FILE PG # MAPPED INTO ACCOUNT WINDOW PAGE
NR ACTLCK,1 ;LOCK FOR HASH TABLE AND ACCOUNT WINDOW PAGE
NR AVALON,1 ;ACCOUNT VALIDATION RUNNING IF NONZERO
NRP(HSHPG,PGSIZ) ;HASH TABLE PAGE
NRP(ACTPG,PGSIZ) ;ACCOUNT WINDOW PAGE
HASHLN==:PGSIZ-1 ;# OF HASH VALUES FOR ACCOUNT VALIDATION
;PARAMETERS AND DATA STORAGE FOR CNFIG% JSYS
CFGWD==0
IFN DCN,<
CFGWD==CFGWD+CF%DCN
>
IFN CFSSCA,<
CFGWD==CFGWD+CF%CFS
>
IFN NETN,<
CFGWD==CFGWD+CF%ARP
>
CNFGWD:: EXP CFGWD
; DUMMY ROUTINES FOR CNFIG% JSYS WHEN CFS INFORMATION NOT AVAILABLE
IFE CFSSCA,<
CFCIN::
CFCSE::
CFCND:: ITERR (CFGINA) ;CFS INFORMATION NOT AVAILABLE
>
;PARAMETERS AND DATA STORAGE FOR IPCF,ENA, AND NETWORK STRINGS
ENQBKS==:6 ;ENQ/DEQ BLOCK SIZE (OPTIMUM)
HSHLEN==:^D389 ;[7.1111] Length of ENQ/DEQ hash table.
;[7.1111] Caution! This value MUST be
;[7.1111] the same on every 7.0 system
;[7.1111] in the cluster!!
ENQFSZ==:HSHLEN*ENQBKS*2 ;FREE SPACE FOR ENQ/DEQ
PDFKTL==:<NFKS+^D35>/^D36 ;LENGTH OF FORK BIT TABLE
PIDHDS==:6 ;LENGTH OF PID HEADER
MESHDS==:7+MAXLW+WPN ;LENGTH OF MESSAGE HEADER
; (SEE MESALN, MESLLN IN IPCF.MAC)
PAGMSZ==:MESHDS+3 ;LENGTH OF PAGE MESSAGE
MAXMSL==:^D30 ;MAXIMUM LENGTH OF A NON-PAGE MESSAGE
MAXSMS==:^D60 ; Maximum system packet size
MINPHL==:4 ;MINIMUM SIZE OF PID DESCRIPTOR BLOCK
SWOPTL==:MESHDS+^D12 ;OPTIMAL LENGTH OF FREE STORAGE BLOCK
PIDSSQ==:^D20 ;STANDARD SEND QUOTA
PIDSRQ==:^D20 ;STANDARD RECEIVE QUOTA
PIDSPQ==:5 ;PID QUOTA, MAXIMUM PIDS ALLOWED PER NON-PRIVILEGED JOB
PIDSPJ==:2 ;PIDS GUARANTEED PER JOB IF NONE USE MORE
IPCCFL==:<.IPCCC>B32 ;FLAGS USED WHEN SENDING AN IPCC
; REQUEST TO INFO
MAXPID==:NJOBS*PIDSPJ ;HIGHEST POSSIBLE PIDTBL INDEX (0 ISN'T USED AS AN INDEX)
PIDTBS==:1+MAXPID ;NUMBER OF WORDS NEEDED FOR PIDTBL
IPCFSZ==:MAXPID*<PIDHDS+SWOPTL>*2 ;FREE SPACE SIZE (1 MESS/PID)
;****TEMP
PDFREL==:IPCFSZ
ENFREL==:ENQFSZ
;****TEMP
SRVSPC==^D32
DCNSPC==^D15
MAXBLK==:0
IFN DCN,<
IFN FTNSPSRV,<
;STRING SPACE FOR NETWORK CONNECTIONS (NSPSRV)
MAXBLK==:<SRVSPC*^D60+DCNSPC*^D40>+3000
>;END IFN FTNSPSRV
>;END IFN DCN
DCNFSZ==:MAXBLK
SWFREL==:10000 ;SIZE OF OLD SWAPPABLE FREESPACE POOL
MAXPIT==:<SWFREL+PAGMSZ-1>/PAGMSZ ;MAXIMUM NUMBER OF PAGES IN TRANSIT
PIDPBL==:<MAXPIT+^D35>/^D36 ;LENGTH OF PIT BIT TABLE
PIDFTL==:<MAXPIT+^D511>/^D512 ;LENGTH OF PIT OFN TABLE
NR(PIDTBL,PIDTBS) ;PID TABLE HAS HALFWORD PER PID
; THE HALF WORD POINTS TO THE HEADER
; OF THE PID IF IT EXISTS
SPDTBL==:17 ;[7.1080] Length of system PID table set by users
NR(SPIDTB,SPDTBL) ;TABLE OF COMMONLY USED PIDS
NR(PIDL0K,LOKLEN) ;LOCK ON PID FREE POOL AND DATA STRUCT.
NR(PIDPRT,1) ;Local CFS port ID
NR(NXTPID,1) ;NEXT UNIQUE # TO BE USED AS LH OF PID
NR(INFOPD,1) ;PID OF SYSTEM INFO
NR(INFOPV,1) ;PUBLIC VALUE OF SYSTEM INFO PID
NR(PIDLST,1) ;NUMBER OF FIRST FREE PID, 0 IF NONE
NR(PIDMXP,1) ;HIGHEST PAGE IN PAGES-IN-TRANSIT FILE
NR(PIDPBT,PIDPBL) ;BIT TABLE OF PAGES-IN-TRANSIT FILE
NR(PIDFTB,PIDFTL) ;TABLE OF PTN'S OF FORKS FOR PAGES IN TRANSIT
NR(SWPFRE,7) ;OLD FREESPACE DEFINITIONS
NR(SWFREE,SWFREL)
NR(PIDCNT,NJOBS) ;TABLE OF QUOTAS AND COUNTS FOR IPCF
RS(PDFKTB,PDFKTL) ;ONE BIT PER FORK, WAKE UP TABLE
COMMENT *
Macro arguments for FSPPL.
POOLNM 3-char pool mnemonic (becomes xxxFSP, xxxFSX)
ADRSEC Flag indicating if pool should be in section zero
POOLSZ Size in words of freepool
HDRSIZ Header size. minimum = 2, maximum = FSPBHS
TRLSIZ Trailer size. Any size .LE. HDRSIZ
MINBLK Minimum user block size. Minimum = 0 (no minimum)
Maximum = POOLSZ
BLKACC 0=No block accounting, 1=do block accounting
POOLAD Optional pool address (when space defined elsewhere)
HSBSIZ # of transactions storable in the history buffer
FLAGS
* ;End comment
IFE FSPDBG,<
HSBRC==0 ;;No history records
>
IFN FSPDBG,<
ENQFSZ==:ENQFSZ*3 ;;Up pool sizes to allow for long headers/trailers
IPCFSZ==:IPCFSZ*3
DCNFSZ==:DCNFSZ*3
HSBRC==FSPHRC ;;This many history records
>
MAKRM. (FSPOL.,FSP.PL) ;;Remote macro for pool space
MAKRM. (FSPDS.,FSP.DS) ;;Remote macro for pool descriptors
;Macro to define freespace pools
DEFINE FSPPL. (POOLNM,ADRSEC,POOLSZ,HDRSIZ,TRLSIZ,MINBLK,BLKACC,POOLAD,HSBSIZ,FLAGS)
<
IFE POOLAD,
<
;;Build the pool
IFE ADRSEC-.XTND.,<
FSPOL. <
NRE (<POOLNM'DMY>,FSPDHS) ;;Reserve space for dummy header
NRE (<POOLNM'FSP>,POOLSZ) ;;Reserve space for pool in ext section
NRE (<POOLNM'BAR>,.FSPB.) ;;Create a barrier
> ;;End remote macro FSPOL.
>
IFE ADRSEC-.ZERO.,<
FSPOL. <
NR (<POOLNM'DMY>,FSPDHS) ;;Reserve space for dummy header
NR (<POOLNM'FSP>,POOLSZ) ;;Reserve space for pool in sec zero
NR (<POOLNM'BAR>,.FSPB.) ;;Create a barrier
> ;;End remote macro FSPOL.
>
>
FSPDS. <
PADDR==POOLNM'FSP ;;Get pool address
IFN POOLAD,<PADDR==POOLAD> ;;Get pool address if already supplied
;;Reserve space for debugging areas
IFN BLKACC,<NRE (POOLNM'BAC,FSPCBS)> ;;Space for block accounting
IFG HSBSIZ,<RSE (POOLNM'HSB,HSBSIZ*FSPHRS)> ;;History Buffer
;;Build the descriptor
.PSECT RSDAT ;;Enter appropriate PSECT
POOLNM'DES::FLAGS ;;Pool descriptor flags
0 ;;Pool lock (locked)
PADDR ;;Pool origin
PADDR+POOLSZ-1 ;;Pool end
POOLSZ ;;Space remaining
POOLSZ ;;Smallest freespace balance achieved so far
IFN BLKACC,<POOLNM'BAC> ;;Pointer to request accounting area
IFE BLKACC,<0> ;; No accounting area
MINBLK+HDRSIZ+TRLSIZ ;;Minimum total block size
PADDR ;;Pointer to first free block
PADDR ;;Randomized pointer to first free block
HDRSIZ ;;Header size
TRLSIZ ;;Trailer size
HDRSIZ+TRLSIZ ;;Combined header and trailer size
IFGE <HDRSIZ-TRLSIZ>,<TRLSIZ>;;Assemble smaller of HDRSIZ or TRLSIZ
IFG <TRLSIZ-HDRSIZ>,<HDRSIZ>;;...
IFG HSBSIZ,<POOLNM'HSB> ;;Pointer to history buffer origin
IFLE HSBSIZ,<0> ;;...
HSBSIZ,,0 ;;# of history records,,current index
.ENDPS RSDAT
> ;;End remote macro FSPDS.
.PSECT RSDAT ;;Enter PSECT of FSPTAB
RELOC FSPTAB+.FSPI. ;;Relocate to pool-descriptor index table
POOLNM'DES ;;Generate pointer to pool descriptor
RELOC
.ENDPS RSDAT
POOLNM'FSX==:.FSPI. ;;Definition for FSPTAB index
.FSPI.==.FSPI.+1 ;;Increment our index
>
;Macro to define all swappable free space pools
DEFINE BLDFP.
<
;;Address space flags
.ZERO.==0 ;;Use section zero
.XTND.==1 ;;Use extended section
.NONE.==0 ;;General purpose "null" argument
;;Block accounting flag
.ACCN.==1 ;;Do block accounting
.FSPI.==0 ;;Reset FSPTAB index
.FSPB.==5 ;;Barrier length
;;The following specify the freepool characteristics:
;; Pol| Adrs| Pool| Hdr | Trl |Minim | Block| Cur |
;; Nam| Sect| Size| Size| Size |Size | Acctn| Pool| Flags
;;ENQ/DEQ pool
FSPPL.(ENQ,.XTND.,ENQFSZ,FSPBHS,FSPBTS, 4,.ACCN.,.NONE.,HSBRC,FS.CHK)
;;IPCF pool
FSPPL.(IPC,.XTND.,IPCFSZ,FSPBHS,FSPBTS, 4,.ACCN.,.NONE.,HSBRC,FS.CHK)
;;DECnet pool
FSPPL.(DCN,.XTND.,DCNFSZ,FSPBHS,FSPBTS, 4,.ACCN.,.NONE.,HSBRC,FS.CHK)
FSP.DS ;;Generate pool descriptors
REPEAT .FSPB.,<0> ;;Create barrier
FSP.PL ;;Generate pools
>
RSI (FSPTAB,,FSPTBL) ;Free pool index table
BLDFP. ;Build free-space database
; DEFAULT DEFINITIONS FOR GETOK
GT%DEF==77B11
NDG DGOUSR,0!GT%DEF ;USER REQUESTS
NDG DGOASD,SF%DOK!GT%DEF ;ASSIGN DEVICE
NDG DGOCAP,SF%DOK!GT%DEF ;ENABLE CAPABILITIES
NDG DGOCJB,SF%DOK!GT%DEF ;CREATE JOB
NDG DGOLOG,SF%DOK!GT%DEF ;LOGIN
NDG DGOFKN,5 ;DEFAULT NUMBER OF FORKS BEFORE GETOK IS CALLED
NDG DGOCFK,SF%DOK!GT%DEF+DGOFKN ;CREATE FORK
NDG DGOTBR,SF%DOK!GT%DEF ;SET TERMINAL BAUD RATE
NDG DGOLGO,SF%DOK!GT%DEF ;LOGOUT OVER QUOTA
NDG DGOENQ,0!GT%DEF ;ENQ OVER QUOTA
NDG DGOCRD,SF%DOK!GT%DEF!GT%SPC ;[9041] Create directory
NDG DGOSMT,SF%DOK!GT%DEF ;INCREMENT MOUNT COUNT
NDG DGOMDD,SF%DOK!GT%DEF ;ENTRY TO MDDT
NDG DGOCLS,SF%DOK!GT%DEF ;SET CLASS
NDG DGOCL0,SF%DOK!GT%DEF ;SET CLASS AT LOGIN ONLY
NDG DGOMTA,0!GT%DEF ;NO ACCESS FOR MT'S
NDG DGOACC,0!GT%DEF ;NO ACCESS
NDG DGOOAD,SF%DOK!GT%DEF ;OPEN ASSIGNABLE DEVICE
NDG DGODNA,SF%DOK!GT%DEF ;DECNET ACCESS
NDG DGOANA,SF%DOK!GT%DEF ;ARPANET ACCESS
NDG DGOATJ,SF%DOK!GT%DEF ;ATTACH
NDG DGOINF,SF%DOK!GT%DEF ;[7.1076] INFO%
NDG DGOLAT,SF%DOK!GT%DEF ;[7.1207] LATOP%
NDG DGOCTM,SF%DOK!GT%DEF!GT%SPC ;[9041] Allow CTERM connection
NDG DGOTTM,SF%DOK!GT%DEF ;[9041] Allow TTMSG%
NDG DGOSMN,SF%DOK!GT%DEF ;[9041] Allow SMON%
NDG DGOHSY,SF%DOK!GT%DEF ;[9041] Allow HSYS%
NDG DGOSGT,SF%DOK!GT%DEF ;[9041] Allow SYSGT%
NDG DGOGTB,SF%DOK!GT%DEF ;[9041] Allow GETAB%
NDG DGOOPN,SF%DOK!GT%DEF!GT%SPC ;[9041] OPENF% of secure file
NDG DGORNF,SF%DOK!GT%DEF!GT%SPC ;[9041] RNAMF% of secure file
NDG DGODLF,SF%DOK!GT%DEF!GT%SPC ;[9041] DLEF%/DELNF% of secure file
NDG DGOTLK,SF%DOK!GT%DEF ;[9041] Allow TLINK%
NDG DGOCRL,SF%DOK!GT%DEF!GT%SPC ;[9041] Allow CRLNM% (only some functions)
NDG DGODTC,SF%DOK!GT%DEF ;[9041] Allow DTACH%
NDG DGOCFD,SF%DOK!GT%DEF!GT%SPC ;[9041] Allow CHFDB% to change FB%SEC
NDG DGOGTD,SF%DOK!GT%DEF ;[9088] Allow GTDIR%
NDG DGOSTD,SF%DOK!GT%DEF ;[9088] Allow STAD%
;DEFAULT TIMEOUT FOR GETOK
NDG GIVTIM,200000 ;GIVOK TIMEOUT TIMER
NDG RCVTIM,200000 ;RCVOK TIMEOUT TIMER
; STORAGE FOR GETOK,GIVOK,RCVOK
.PSECT RSDAT
GTOKPR::DGOUSR ;ONE ENTRY PER LEGAL GETOK/GIVOK FUNCTION (THIS ENTRY IS USER REQUESTS)
DGOASD ;ASSIGN DEVICE
DGOCAP ;ENABLE CAPABILITIES
DGOCJB ;CREATE JOB
DGOLOG ;LOGIN
DGOCFK ;CREATE FORK
DGOTBR ;TERMINAL BAUD RATE
DGOLGO ;LOGOUT WHEN DIR OVER QUOTA
DGOENQ ;ENQ QUOTA SETTING
DGOCRD ;CREDIR
DGOSMT ;SMOUNT
DGOMDD ;MDDT ENTRY
DGOCLS ;SET CLASS FOR JOB
DGOCL0 ;SET CLASS AT LOGIN
DGOMTA ;MT ACCESS
DGOACC ;ENTRY FOR ACESS JSYS
DGOOAD ;ASSIGN DEVICE VIA OPENF
DGODNA ;DECNET ACCESS
DGOANA ;ARPANET ACCESS
DGOATJ ;ATTACH
DGOINF ;[7.1076] INFO%
DGOLAT ;[7.1207] LATOP%
DGOCTM ;[9041] Incoming CTERM connections
DGOTTM ;[9041] Allow TTMSG%
DGOSMN ;[9041] Allow SMON%
DGOHSY ;[9041] Allow HSYS%
DGOSGT ;[9041] Allow SYSGT%
DGOGTB ;[9041] Allow GETAB%
DGOOPN ;[9041] OPENF% of secure file
DGORNF ;[9041] RNAMF% of secure file
DGODLF ;[9041] DELF%/DELNF% of secure file
DGOTLK ;[9041] Allow TLINK%
DGOCRL ;[9041] Allow CRLNM% (only some functions)
DGODTC ;[9041] Allow DTACH%
DGOCFD ;[9041] Allow CHFDB% to change FB%SEC
DGOGTD ;[9088] Allow GTDIR%
DGOSTD ;[9088] Allow STAD%
MXGOKF==:.-GTOKPR ;SIZE OF TABLE
SWAPCD
RS (GETOKF,1) ;ARGUMENT LIST POINTER
RS (GOKNRQ,1) ;REQUEST NUMBER FOR NEXT FREE NUMBER
RS (GOKQED,1) ;FLAG FOR Q'ED GETOK REQUESTS
RS (GOKLCK,1) ;LOCK FOR GETOK Q
RS (ACJJN,1) ;JOB NUMBER OF ACCESS CONTROL JOB
RS (ACJFN,1) ;FORK NUMBER OF ACCESS CONTROL JOB
RS (RCVTMO,1) ;RCVOK TIMEOUT TIME
;LOCAL STORAGE FOR ENQ/DEQ
ENFKTL==:<NFKS+^D35>/^D36 ;LENGTH OF FORK BIT TABLE
NRE(HSHTBL,HSHLEN*2) ;HASH TABLE FOR ENQ LOCKS
;(2 WORDS PER LOGICAL SLOT)
NR(ENQL0K,LOKLEN) ;DATA BASE LOCK FOR ENQ AND DEQ
NR(ENQLTL,1) ;FORWARD LONG-TERM LOCK LIST
NR(ENQLTS,1) ;TIME OF NEXT GARBAGE COLLECT
IFN CLEQIN,< ;[7.1072]
RSI ELBCSH,-1 ;[7.1072] Lock-Block caching flag
> ;[7.1072]
RS(ENFKTB,ENFKTL) ;WAKE UP TABLE - ONE BIT PER FORK
;LOCAL STORAGE FOR DIRECTORY LOCK ENQ/DEQ
LCKDBN==:<NFKS+^D35>/^D36 ;LENGTH OF FORK BIT TABLE
RS LCKDBT,LCKDBN ;FORK BIT TABLE, ONE BIT PER FORK
; Local storage for TIMER
RS (TIMLCK,1) ; Lock on TIMER Q's
RS (TMLSTL,1) ;FORK THAT LAST LOCKED TIMLCK
RS (TIMMLQ,1) ; Elapsed time clock Q head
RS (TIMDTQ,1) ; Date & time clock Q head
RS (TMNSS,1) ; # times scheduler has scanned Q's
RS (TMMUSE,1) ; # milliseconds use by scheduler
;LOCAL STORAGE FOR PTY
RS PTYSTS,NTTPTY ;STATUS BITS
;STORAGE FOR CRJOB JSYS
NR (CRJAC1,1) ;CALLER'S AC1 FLAG BITS
NR (CRJACT,11) ;ACCOUNT FOR NEW JOB LOGIN (STRING)
RS (CRJANS,1) ;ANSWER CELL FROM SCHED OR EXEC0
RS (CRJCAM,1) ;CAP MASK TO APPLY AT LOGIN TIME
RS (CRJCPU,1) ;CPU TIME LIMIT
NR (CRJEVO,1) ;ENTRY VECTOR OFFSET FOR NEW JOB
NR (CRJEXF,1) ;EXEC FLAGS FOR NEW JOB
NR (CRJFAC,20) ;FORK'S AC'S FOR NEW JOB
NR (CRJFIL,40) ;FILE NAME TO RUN IN NEW JOB
RS (CRJJNO,1) ;JOB NUMBER, SET AT SCHED LEVEL
RS (CRJLCK,1) ;LOCK ON ALL THIS DATA, SCHED TESTED
NR (CRJOJC,1) ;OWNING JOB'S CAPABILITIES
NR (CRJONJ,1) ;OWNING JOB'S JOB NUMBER
NR (CRJPJF,1) ;PRIMARY JFNS FOR NEW JOB
NR (CRJPSW,10) ;LOGIN PASSWORD FOR NEW JOB
RS (CRJSLO,1) ;PID TO SIGNAL ON LOGOUT
RSI (CRJTTY,-1) ;REQUESTED TTY FOR NEW JOB
NR (CRJUSR,10) ;NAME STRING TO LOG NEW JOB IN AS
NR (JOBONT,NJOBS) ;OWNER OF THIS JOB IN RH, ELSE -1
; ALSO, B1 MEANS JOB WANTS TO LOG OUT
IFG DTAN,<
; Private storage for dectapes
DTNBUF==3*DTAN+2 ;Number of buffers is one for read
;One for write, one for directory, and
;2 more for double buffering 1st files
DTNBUF==:<DTNBUF+3>/4*4 ;Round to next higher page boundary
NDBMSK==:-1_<^D36-3*DTAN> ;Mask for unavailble 2nd buffers
RS(DTALCK,DTAN) ;Lock word
RS(DTASTS,DTAN) ;Lh -- status bits (see below)
;Rh -- directory location (0 if none)
RS(DTIBF1,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- next input block number
;Bits 13-17 -- input file number
;Rh -- location of input buffer 1
RS(DTIBF2,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- current block number
;Bit 12 -- if doing a nop spacing (rew etc)
;Bit 13 -- if unloading
;BIT 14 -- WRITE LOCK CHECK REQUESTED
;BIT 15 -- WRITE OK (NOT LOCKED OUT) AT LAST CHECK
;BIT 16 -- ACCESS OK (SELECTED) AT LAST CHECK
;BIT 17 -- LAST MOUNT REQUESTED NO DIR READ
;Rh -- location of input buffer 2 (0 if none)
RS(DTOBF1,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- next output block number
;Bit 12 -- last buffer
;Bits 13-17 -- output file number
;Rh -- location of output buffer 1
RS(DTOBF2,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- first block number of output file
;Bit 12 -- last buffer
;Rh -- location of output buffer 2 (0 if none)
RS(DTAPTR,DTAN) ;Temp pointer to directory entry
RS(DTAIOW,DTAN) ;Iowd during dead reckoning
RS(DTARKN,DTAN) ;Bit 0 -- dead reckoning for a write
;Bit 1 -- going backward
;Bits 8-17 -- block number
;Rh -- chain to next dead reckoning unit (-1 if end)
RS(DTARCE,DTAN) ;Total error count
NRP(DTABUF,DTNBUF*200) ;Dectape buffers
> ;END IFG DTAN
IFG DLXN,<
DLMASK==:100 ;SIZE OF PDP-10 MEMORY BLOCK IN PDP-11
DLNPIS==:20 ;SIZE OF PI LEVEL STACK
DLIMIN==:20 ;MINIMUM SIZE OF INPUT BUFFER
DLNOB==:2 ;NUMBER OF OUTPUT BUFFERS
DLNIB==:2 ;NUMBER OF INPUT BUFFERS
;SIZE OF EACH OUTPUT BUFFER
DLOBFL==:<DLOBFP*PGSIZ/<<DLXN+3>/4*4*DLNOB>>
DEFINE DLSTOR (X,Y)<
X==:DLPC+DLBASE
IFB <Y>,<DLPC==DLPC+1>
IFNB <Y>,<DLPC==DLPC+Y>>
DLPC==0 ;DEFINE AREAS USED BY PDP-11'S
DLSTOR(DLINTW) ;INTERRUPT VECTOR WORD
DLSTOR(DLUNIT) ;UNIT NUMBER OF THIS PDP-11
DLSTOR(DLOC11) ;COUNT OF OUTPUT BYTES FOR TO 11 TRANS
DLSTOR(DLOP11) ;POINTER TO OUTPUT BUF FOR TO 11 TRANS
DLSTOR(DLIC11) ;COUNT OF BYTES IN INPUT BUF FOR TO 10
DLSTOR(DLIP11) ;POINTER TO INPUT BUF FOR TO 10 TRANS
DLPC==DLXN*DLMASK ;NOW DEFINE LOCAL STORAGE
DLSTOR(DLUBAS,0) ;START OF PER 11 LOCAL STORAGE AREA
DLSTOR(DLXSTS,DLXN) ;STATUS WORD
DLSTOR(DLXPNT,DLXN) ;LH=INITIAL BYTE POINTER, RH = S-FIELD
DLSTOR(DLXOCT,DLXN) ;COUNT OF BYTES IN A FULL OUTPUT BUF
DLSTOR(DLXICT,DLXN) ;COUNT OF BYTES IN A FULL INPUT BUF
DLSTOR(DLXBPW,DLXN) ;BYTES PER WORD
DLSTOR(DLOCNT,DLXN) ;# OF BYTES LEFT TO FILL OUTPUT BUFFER
DLSTOR(DLOPNT,DLXN) ;POINTER TO 10 OUTPUT BUFFER
DLSTOR(DLICNT,DLXN) ;# OF BYTES LEFT TO EMPTY BUFFER
DLSTOR(DLIPNT,DLXN) ;POINTER TO 10 INPUT BUFFER
DLSTOR(DLOBCT,DLXN) ;# OF FULL OUTPUT BUFFERS
DLSTOR(DLIBCT,DLXN) ;# OF FULL INPUT BUFFERS
DLSTOR(DLON11,DLXN) ;NEXT OUTPUT BUF TO BE GIVEN TO 11
DLSTOR(DLIN11,DLXN) ;NEXT INPUT BUF TO GIVE TO 11 TO FILL
DLSTOR(DLON10,DLXN) ;NEXT OUTPUT BUF TO BE FILLED BY 10
DLSTOR(DLIN10,DLXN) ;NEXT INPUT BUF TO BE GIVEN TO 10 USER
DLSTOR(DLOBFC,<DLNOB*DLXN>) ;# OF BYTES IN EACH OUTPUT BUFFER
DLSTOR(DLIBFC,<DLNIB*DLXN>) ;# OF BYTES IN EACH INPUT BUFFER
DLSTOR(DLXIMP,<<DLXN+3>/4*20>) ;4 WORD BLOCKS USED BY XPCW ON INTERRUPTS
DLSTOR(DLAC,5) ;PLACE TO STORE ACS DURING AN INTERRUPT
DLSTOR(DLACP,1) ;PLACE TO STORE P DURING INTERRUPTS
DLSTOR(DLPISK,DLNPIS) ;INTERRUPT LEVEL STACK
DLIBUF==:DLPC+DLBASE ;END OF LOCAL STORAGE
DLIBFL==:<PGSIZ*DLIBFP-DLPC>/<DLNIB*DLXN> ;REST OF PAGE IS FOR INPUT BUFFERS
IFL DLIBFL-DLIMIN,<PRINTX ?NOT ENOUGH ROOM FOR INPUT BUFFERS!>
> ;END OF IFG DLXN
;STORAGE FOR CMA DEVICES (AYDIN DISPLAY)
IFG CMAN,<
RS(DRBACS,20) ;STORAGE TO SAVE AC'S
LCMAPD==:55 ;LENGTH OF PDL
RS(CMAIPD,LCMAPD) ;INTERRUPT PDL
RS(CMALCK,CMAN) ;LOCK FOR DEVICE DATA BASE
RS(CMASTS,CMAN) ;STATUS
RS(CMINDX,1) ;COUNT OF CMA DEVICES
RS(CMOWNR,CMAN) ;OWNING FORK,,DR11-B BLOCK ADDRESS
RS(CMALAE,CMAN) ;LAST AYDIN ERROR
RS(CMAERC,CMAN) ;AYDIN ERROR INFO
CMBUFN==:2 ;NUMBER OF IORBS/BUFFERS
MAXPPT==:20 ;MAXIMUM PAGES PER BUFFER
;.ALSO MAX PER DUMPI/O AND
;EQUALS SIZE OF UBA WINDOW
XRBLEN==:5+MAXPPT ;ALSO IN CMAPAR
CMXLST==:XRBLEN ;START OF TRANSFER LIST
CMIRBL==:CMXLST+MAXPPT+1 ;TOTAL LENGTH OF IORB
CMABFL==:CMAN*CMBUFN*CMIRBL ;STORAGE REQUIRED FOR IORB'S
RS(CMXORB,CMABFL) ;STORAGE FOR IORB'S
DRCHNN==:2 ;MAX DR11-B'S (ALSO IN CMAPAR)
DRBLEN==:21 ;ALSO IN CMAPAR
CMDRBL==:DRBLEN*DRCHNN ;STORAGE REQUIRED FOR DR11B BLOCKS
RS(CMADRB,CMDRBL) ;STORAGE FOR DR11-B BLOCKS
RS(DRBTAB,DRCHNN) ;ADDRESSES OF DR11-B BLOCKS
NR(CMANR1,CMAN) ;CURRENT,,LAST XORB
NR(CMANR2,CMAN) ;LAST TRANSFER WORD COUNT,,LAST
NR(CMANR3,CMAN) ;LAST FUNCTION,NUMBER OF XORB'S QUEUED
NR(CMANR4,CMAN) ;FREE XORB'S LIST FOR UNIT
;DUMP MODE IORB ADDRESS
NR(CMAPNM,CMAN) ;PROGRAM NAME
NR(CMAUDR,CMAN) ;USER DIRECTORY
> ;END OF IFG CMAN
COMMENT \
Remove this storage which is never referanced by the new LCS (really CISRV)
shared memory driver.
;STORAGE FOR LCS MEMORY DRIVER
MEMLOW==:2,,0 ;BOTTOM OF MEMORY
MEMHI==:2,,177000 ;TOP OF SHARED MEMORY
RS MEMBOT,1 ;BOTTOM OF SHARED MEMORY
RS MEMTOP,1 ;TOP OF SHARED MEMORY
RS NEWNOD,1 ;NUMBER OF NODES COUNT FOR NEW ARRIVING PORTS
RS OURNOD,1 ;HOLDS OUR SHARED MEMORY NODE NUMBER
RSI MMALRM,<.+1,0>,2 ;SHARED MEMORY ALARM
\;End COMMENT
SWAPCD
;STORAGE FOR DECNET
IFG DCN,< ;ONLY IF DECnet PRESENT
NDG NODNUM,100 ;DEFAULT NODE NUMBER
OBJMAX==:377 ;MAX # OF OBJECTS
DECOBJ==:177 ;MAX OBJECT # RESERVED TO DEC
NR OBJTBL,OBJMAX+1 ;GENERATE LOOK UP TABLE
NR LASTSK,1 ;WORD FOR GENERATING RANDOM TASK NAMES
NR BLKASG,1 ;AMOUNT OF SWAPPABLE STRING SPACE NOW ASSIGNED
; (left in under IFE FTNSPSRV for SYSDPY)
MCPRON==:.VNMCB ;MCB PROTOCOL IF DCN ASSEMBLED IN
NDG DCOPNM,4 ;MAX LINKS PER JOB FOR NO PRIVILEGES
RS DNASTA,1 ;DECNET STATUS WORD
RSI OURNAM,<ASCII /TOPS20/>,WPN ;SPACE TO HOLD LOCAL NODE NAME
RSI OURCNT,6 ;COUNT OF CHARS IN "OURNAM"
IFN FTNSPSRV,< ;ONLY IF RELEASE 6.0 OR EARLIER
RS RESNET,1 ;DECNET RESIDENT FREE SPACE THRESHOLD FLAG
; 0 = LOTS OF SPACE LEFT, 1 = WE'RE LOW ON SPACE
RS LLLLCK,1 ;LL TREE LOCK
MAXEXP==:7 ;EXP FOR MAXIMUM LL ADDRESS
MAXLNK==:1_<MAXEXP>-1 ;GENERATE LARGEST LL ADDRESS
RS OURNUM,1 ;LOCAL NODE NUMBER
NR ITSNAM,<DCN*2> ;MCB'S NODE NAME
LLBIT==:<MAXLNK+1+43>/44 ;WORDS IN LL ADDRESS BIT TABLE
NR LLBITS,LLBIT ;BIT TABLE FOR AVAILABLE LINK INDEXES
RS LLIDS,MAXLNK+1 ;THE LOGICAL LINK ADDRESS TABLE
RS LLNUM,1 ;NUMBER OF LINKS IN USE
NR NODLOK,1 ;LOCK ON NODTBL
AKLSTL==:12 ;LENGTH OF ACKLST
RS ACKLST,AKLSTL ;LIST OF NSP ACK BUFFERS
RS LLSRVQ,2 ;"LL NEEDS SERVICE" QUEUE HEAD AND TAIL
RS LSTLLS,1 ;LAST TIME LOGICAL LINKS WERE SERVICED BY SCHEDULER
RS NSSNTQ,1 ;NSP "SENT MESSAGE" TIMER QUEUE
RS INNSPT,1 ;"IN NSP TIMER" FLAG
RS INNSPI,1 ;"IN NSP INACTIVITY TIMER" FLAG
;RS OUTQUE,1 ;BACKGROUND TASK'S "OUTPUT REMAINING" QUEUE
;NR OUTLOK,1 ;LOCK ON OUTQUE
;RS OUTTIM,1 ;TIME TO RETRY BLOCKED OUTPUT
;NR OUTIVL,1 ;TIME INTERVAL BEFORE RETRYING BLOCKED OUTPUT
; NDG INIWAT,100 ; DEFAULT IS 300 MS.
RS NSPMCB,1 ;EACH BIT INDICATES A DED MCB PORT NUMBER (NSP)
RS RMSGQ,1 ;EXPENDED MESSAGE QUEUE
RS NEVNTS,1 ;NUMBER OF CURRENTLY QUEUED EVENTS
RS EVENTS,2 ;HEAD AND TAIL OF EVENTS QUEUE
MXEVNT==:^D10 ;MAXIMUM NUMBER OF EVENTS TO QUEUE
RS EVRFRK,1 ;PSI CHANNEL,,EVENT READER FORK
RS MSGQ,2 ;BACKGROUND TASK'S QUEUE HEAD AND TAIL
RS SMSGQ,2 ;SCHEDULER'S QUEUE HEAD AND TAIL
RS ULLCZQ,NTTMCB ;QUEUE OF LL IDS TO CLOSE BY NSPTSK
IFN SMFLG,<
RS NSPLPB,1 ;RH IS PORT FOR 2020 LOOPBACK TESTING
>
RS SEGSZ,1 ;NSP SEGMENT SIZE
BIGNOD==:^D255 ;MAX NUMBER OF DECNET NODES IN NETWORK
NR NODMAP,BIGNOD+1 ;SESSION CONTROL'S NODE NAME MAPPING TABLE
NR NMAPLK,1 ;LOCK FOR NODE NAME MAPPING TABLE
NRE NSSSLZ,BIGNOD+1 ;NSP - "SECONDS SINCE LAST ZEROED"
RSE NSBYTR,BIGNOD+1 ;NSP - "BYTES RECEIVED"
RSE NSBYTS,BIGNOD+1 ;NSP - "BYTES SENT"
RSE NSMSGR,BIGNOD+1 ;NSP - "MESSAGES RECEIVED"
RSE NSMSGS,BIGNOD+1 ;NSP - "MESSAGES SENT"
NRE NSCONR,BIGNOD+1 ;NSP - "CONNECTS RECEIVED"
NRE NSCONS,BIGNOD+1 ;NSP - "CONNECTS SENT"
NRE NSTIMO,BIGNOD+1 ;NSP - "TIMEOUTS"
NRE NSRCNE,BIGNOD+1 ;NSP - "CONNECT RESOURCE ERRORS"
RSE NSALNK,BIGNOD+1 ;NSP - "ACTIVE LINKS"
RS NSLDWS,1 ;LOCAL DELAY WEIGHT SETTING
NR NSLDFS,1 ;LOCAL DELAY FACTOR SETTING
NR NSTRYS,1 ;RETRANSMIT COUNT SETTING
RS NSINAC,1 ;NSP INACTIVITY TIMEOUT VALUE
RS LSTINT,1 ;TIME OF LAST INACTIVITY TIMER CHECK
RS LSTTMR,1 ;TIME OF LAST TIME OUT QUEUE CHECK
RS LNSSLZ,1 ;LINE COUNTER - SECONDS SINCE LAST ZEROED
RS LNBYTR,1 ; " " - BYTES RECEIVED
RS LNBYTS,1 ; " " - BYTES SENT
RS LNBLKR,1 ; " " - BLOCKS RECEIVED
RS LNBLKS,1 ; " " - BLOCKS SENT
NODTSZ==:<BIGNOD+21>/22 ;SIZE OF REACHABLE NODES TABLE
NR NODTBL,NODTSZ ;REACHABLE NODES TABLE
NTCMAX==:^D10 ;MAX # OF FORKS TO REMEMBER
NR NTCTAB,NTCMAX ;NETWORK TOPOLOGY CHANGE FORK TABLE
NR NSPMAX,DCN ;MAX SEG SIZE OF INTERCEPT NODE
NR ITSNUM,DCN ;MCB'S NODE NUMBER
NR ITSID,<DCN*^D9> ;MCB'S SYSVER STRING
RS NAKCNT,DCN ;COUNT OF NAK'ED SEGS
RS MCBDTE,DCN ;THE DTE # OF THE MCB FRONT END
>;END OF IFN FTNSPSRV
IFE FTNSPSRV,<
NTCMAX==:^D10 ;MAX # OF FORKS TO REMEMBER
RS NTCTAB,NTCMAX ;NETWORK TOPOLOGY CHANGE FORK TABLE
RS EVRFRK,1 ;PSI CHANNEL+1,,EVENT READER FORK
RS NMLPSI,1 ;GIVE EVENT PSI
RSI EV96.0,<0> ;If non-zero, generate CSSE event (96.0)
RSI EVSDRP,<-1> ;If non-zero, eavesdrop on routing messages
; when running as an endnode. This can be
; changed while the system is up if the
; Ethernet circuit is off while the change
; is made.
>;END IFE FTNSPSRV
>;END OF IFG DCN CONDITIONAL
NDG %RTBSZ,^D576 ;Default DECnet buffer size, ref'd in D36COM
IFE DCN,<MCPRON==:0> ;IF NO DCN, NO MCB PROTOCOL
;FOLLOWING IS A DUMMY FOR WHEN THERE IS NO DECNET. IT SHOULD NEVER BE EXECUTED
IFE DCN,<
NTCOFF::SETZRO FKNTC ;TURN OFF BIT THAT CAUSED US TO GET HERE
RETSKP
NR BLKASG,1>
;FOLLOWING IS A DUMMY FOR WHEN THERE IS NO NSPSRV-STYLE DECNET.
IFE KNIN,<
IF2,.LLMOP==:UJSYS0 ;No LLMOP% JSYS
IF2,.NI==:UJSYS0 ;No NI% JSYS
IF2,SETNIA==:MRETN## ;From JSYSA when no KLNI stuff loaded
SEARCH NIPAR ;Get definition of UNIFC%
DLLUNI::MOVX T1,UNIFC% ;Return invalid function for NISRV users
LLMINI:: ;LLMOP% initialization
LLMRJB:: ;[7173] LLMOP% job reset
LLMRFK:: ;[7173] LLMOP% fork reset
NIJKFK:: ;From RESET% and KSELF, NI% JSYS reset code
KNIJB0:: ;From MEXEC, Job 0 stuff for NISRV
LLMJB0:: ;From MEXEC, Job 0 stuff for LLMOP
XCKNI:: ;[7432]From APRSRV, SCHED, shutdown
RET
>
IFN FTNSPSRV,<
.NTINF::ITERR (ILINS2) ;If 6.0, NTINF% is undefined jsys
>
IFE NFT,<
.DAP:: MRETNG ;DAP% jsys
NODLUK::RETBAD (GJFX6) ;referenced in GTJFN, makes node names errors
NFTIDX==:0 ;referenced in GTJFN, dummy, never reached
NFTDTB==:777777 ;referenced in GTJFN, used in a CAIN, should
; always skip when NFT=0
DAPRST:: ;release all DAP% links belonging to this fork
DAPLGO:: ;release all DAP% resources for this job
DAPHND::RET ;the action routine referenced in SCHED
>
;DEFINITION FOR ATS
IFN ATS,<
NDG ATJBMX,10 ;MAXIMUM NUMBER OF HTN'S PER JOB
>
IFE ATS,<
NDG ATJBMX,0 ;NO HTN'S IF NO ATS
>
RS ATSTYM,1 ;ATS TIMER (NEEDED BY DUMMY ATSINI ALSO)
;STORAGE FOR KMC11'S
REPEAT 0,<
IFLE KDPN,< ;ONLY IF NOT PRESENT
KDPINI==:R
KDPTSK==:R
IFN SMFLG,<
.BOOT:: MCENT
JRST UJSYS0
>
>
IFN DCN,<
RS KDPFLG,1 ;SET NONZERO WHEN NEED KMCTSK
>
IFG KDPN,< ;ONLY IF PRESENT
KMCQLN==:4+2*4*KDPN ;LENGTH OF KMC11 INPUT QUEUE
RS KMCINQ,KMCQLN ;QUEUE OF INPUT FOR KMC11
; 1ST WORD IS PUTTER, 2ND WORD IS TAKER
; REST IS 2 WORD ENTRIES
RS KMCACS,20 ;INTERRUPT SAVE ACS
KMCSZ==:50 ;LENGTH OF KMC PDL
RS KMCIPL,KMCSZ ;INTERRUPT PDL FOR KMC
KMCPDL::IOWD KMCSZ,KMCIPL ;SETUP WORD FOR KMC PDL USE
RS KDPLIM,1 ;LH IS NEGATIVE NUMBER OF DUP11'S ON SYSTEM
; RH IS 0
RS KDPNLN,1 ;POSITIVE NUMBER OF DUP11'S
RS KDPPAG,KDPN ;UBA ADR OF PAGE,,OUR ADR OF PAGE
RS KDPXPC,10 ;XPCW BLOCK FOR KMC11 INTERRUPTS
>
> ;END OF REPEAT 0
;Dummy when there is no KLIPA driver
IFE FTKLIPA,<
CHKKLP==:R ;Make reload check say OK
>
;Storage for 2080 console routines
IFN KCFLG,< ;Only needed on the 2080
RS SECINP,5 ;Save CTY control words here on protocol switch
RS RSPCNT,1 ;Keep-alive time word
RS RSPLCK,1 ;Lock for command word
RS CPYCMD,1 ;Virtual address of diag output block
RS CMDCM1,1 ;Virtual address of diag input block
RS CEMSTS,1 ; Last seen EMM status
RS CEMLCT,1 ;EMM counts
RS CEMCTR,3 ;EMM running counts
EMMENB==:3 ;# OF EMMS
RS EMMINT,EMMENB ;Interrupt storage words for fork EMM
CNTERM==:5 ;Number of terminal lines of console
RS TTYOBK,CNTERM ;Output block addresses
RS TTYOPH,CNTERM ;Physical addresses of the blocks
RS CNLSTS,CNTERM
RS CPYKPA,1 ;Last RSP keep alive
RS CPYSTS,1 ;RSP status
CTYLEN==:^D15 ;Length of TTY output block
CTYBCT==:CTYLEN*4 ;Bytes in an output block
RS SCPNTR,1 ;"secondary protocol" output pointer
RS CNCTRL,1 ;control word for random bits
RSI KCMON,<0,JRST KCMONP> ;Enter secondary protocol
RSI KCPRI,<0,JRST KCPRIP> ;Enter primary protocol
> ;IFN KCFLG
;STORAGE FOR DTE'S
IFG DTEN,< ;DTE STORAGE
FEDSKL==:10 ;[7154] TABLE OF
RS FEDSKT,FEDSKL ;[7154] FRONT-END DISK SERIAL NUMBERS
RS UPFLAG,1 ;WORD TO GENERATE CONTINUED MESSAGE
NRP DTERBT,1000 ;PAGE TO DO -11 REBOOTS
EXTN <SVDTAC,INTDTE> ;NECESSARY EXTERNALS
RS LOAD11,1 ;IF AN -11 NEEDS TO BE LOADED
RS LODFRK,1 ;HANDLE OF MONITOR FORK DOING RELOADING
NQPKT==:^D20 ;NUMBER OF QUEUE PACKETS
QPKT==:5 ;SIZE OF A PACKET
RS(DTEDTE,1) ;CELL TO REMEMBER INTERRUPTING
; DTE
RS CTYUNT,1 ;FE PHYSICAL UNIT FOR TS TTY
RS DTEQS,DTEN ;SET UP DRIVER QUEUE HEADERS
RS NDTEMQ,DTEN ;COUNT OF MESSAGES QUEUED FOR EACH DTE
QPKT1==QPKT*NQPKT
RS(COMQ,QPKT1) ;SET UP PACKETS
RS(COMH,1) ;THE QUEUE HEADER
RS(DTESTS,DTEN) ;DTE STATUS WORD
RS(DTEST1,DTEN) ;SECONDARY STATUS WORD
RS(DTETMR,DTEN) ;TIMER VARIABLE
BUFSIZ==:^D34 ;TRANSFER BUFFER SIZE
BYTBUF==:BUFSIZ*4 ;BYTES PER BUFFER
RS(DTBFWD,DTEN) ;THE HEADER WORD FOR THE BUFFERS
IFN FTNSPSRV,DTESZ==:110 ;SIZE OF INTERRUPT STACK
IFE FTNSPSRV,DTESZ==:200 ;SIZE OF INTERRUPT STACK
RS(DTETRA,2) ;WORD FOR INTERRUPT RETURN
RS(DTESKP,DTESZ) ;THE LOCAL STACK
RS(DTEACB,20) ;BLOCK TO SAVE REGISTERS
RS(DTEIND,DTEN) ;STORAGE FOR INDIRECT FUNCTIONS
RS(DTEEND,DTEN) ;RESIDENT FREE SPACE DEBUGGING STORAGE
IFE FTNSPSRV,<
RS(DTEOBL,DTEN) ;POINTER TO SECTION ZERO "OUTPUT" BLOCK
RS(DTEIBL,DTEN) ;POINTER TO SECTION ZERO "INPUT" BLOCK
RS(DTEDID,DTEN) ;PLACE TO KEEP DRIVER (ROUTER'S) CIRCUIT ID
RS(DCNCID,DTEN) ;List of DTE callback ID's for DECnet
>;END IFE FTNSPSRV
PKTSIZ==:3 ;THE QUEUE PACKETS
PKTSZ1==PKTSIZ*DTEN
RS(PKTADR,PKTSZ1) ;ONE PER DTE
COMSIZ==:COMDAT+COMRGN ;SIZE OF THE "BASIC" COMM REGION
CMSZ==:COMSIZ*<DTEN+1>+COMRGN*DTEN
RS(COMBUF,DTEN+1) ;SIZE OF "VECTOR" FOR THE COMM REGION
RS(COMBAS,CMSZ) ;ALLOCATE COMMUNICATIONS REGION
RS ENDRGN,0 ;END OF COMM REGION
IEXSIZ==:CMSZ-<DTEN+1> ;INITIAL EXAMINE SIZE
IFN KLFLG!KCFLG,<
RS(TAD11,3) ;TIME FROM -11 CELL
> ;IFN KLFLG!KCFLG
RS(TO11TM,3) ;PACKET TO SEND TIME TO THE -11
KLISIZ==^D10 ;WORDS FOR KLINIK DATA BASE
KLIMAX==:<KLISIZ-1>*4 ;MAX NUMBER OF BYTES IN KLINIK DATABASE
RS (KLIDTA,KLISIZ) ;KLINIK DATABASE
RS RLDFRK ;SYSTEM WIDE HANDLE OF RELOAD FORK
RS SNGPK1,6 ;Single-packet-1 header
RS SNGPK2,6 ;Single-packet-2 header
;THIS MACRO GENERATES RESIDENT STORAGE AND CODE FOR EACH DTE.
;FOR EACH DTE, IT GENERATES A 4-WORD BLOCK FOR XPCW'S. THE TABLE
;DTETRP CONTAINS A PROTOTYPE XPCW FOR EACH DTE, WHICH POINTS TO
;THE 4-WORD BLOCK GENERATED HERE
DEFINE DTEPRO (UNIT)< ;MACRO TO GENERATE DTE INTERRUPT VECTOR
RS DTXPC'UNIT,4 ;MAKE PLACE FOR XPCW
DTEN'UNIT:JSR SVDTRJ ;;SAVE REGISTERS
MOVEI A,UNIT
DMOVE B,DTXPC'UNIT ;;GET INTERRUPT PC
DMOVEM B,DTETRA ;;TO COMMON TRAP CELL
CONI DTE'UNIT,F ;;GET DTE STATUS
JRST INTDTE ;;GO DO COMMON STUFF
>
;THIS MACRO GENERATES A PROTOTYPE XPCW FOR EACH DTE. THE VECTORS
;ARE STORED AT DTETRP AND COPIED AS NEEDED.
DEFINE DTEINN (UNIT)< ;;TO GENERATE INTERRUPT VECTOR
XPCW DTXPC'UNIT ;;THE XPCW
>
> ;END IFG DTEN
;THIS MACRO STORES IN THE XPCW BLOCK A POINTER TO THE CORRECT CODE
;FOR EACH DTE. THIS IN INVOKED IN THE STARTUP CODE AFTER RESIDENT
;STORAGE HAS BEEN CLEARED.
DEFINE DTXPCW (UNIT)< ;;TO STORE ADDRESS IN XPCW BLOCK
MOVEI T1,DTEN'UNIT ;;THE ROUTINE FOR THIS DTE
MOVEM T1,DTXPC'UNIT+3 ;;MAKE THE XPCW POINT TO THE RIGHT ROUTINE
>
;Definitions of the DTE communications region in the EPT
IFN DTFLG,<
;FIXED LOCATIONS FOR DTE #0, OTHER DTE'S IN FOLLOWING 8-WORD BLOCKS
DTEEBP==:KIEPT+140 ;TO -11 BYTE POINTER
DTETBP==:KIEPT+141 ;TO -10 BYTE POINTER
DTEINT==:KIEPT+142 ;INTERRUPT LOCATION
; 143
DTEEPW==:KIEPT+144 ;EXAMINE PROTECTION WORD
DTEERW==:KIEPT+145 ;EXAMINE RELOCATION WORD
DTEDPW==:KIEPT+146 ;DEPOSIT RELOCATION WORD
DTEDRW==:KIEPT+147 ;DEPOSIT RELOCATION WORD
;FIXED CORE ADDRESSES IN EPT FOR DTE PROTOCOL
DTEFLG==:KIEPT+444 ;OPERATION COMPLETE FLAG
DTECKF==:KIEPT+445 ;CLOCK INTERRUPT FLAG
DTECKI==:KIEPT+446 ;CLOCK INTERRUPT INSTRUCTION
DTET11==:KIEPT+447 ;TO 11 ARGUMENT
DTEF11==:KIEPT+450 ;FROM 11 ARGUMENT
DTECMD==:KIEPT+451 ;COMMAND WORD
DTESEQ==:KIEPT+452 ;DTE20 OPERATION SEQUENCE NUMBER
DTEOPR==:KIEPT+453 ;OPERATION IN PROGRESS FLAG
DTECHR==:KIEPT+454 ;LAST TYPED CHARACTER
DTETMD==:KIEPT+455 ;MONITOR TTY OUTPUT COMPLETE FLAG
DTEMTI==:KIEPT+456 ;MONITOR TTY INPUT FLAG
DTESWR==:KIEPT+457 ;CONSOLE SWITCH REGISTER
SDTE==:3 ;SHIFT VALUE FOR EPT DTE SET
> ;END IFN DTFLG
;Definitions of offsets in the EPT. Others are defined in APRSRV
IFN KCFLG,<
MSSPTB=:KIEPT+520 ;MONITOR SUPER SECTION TABLE
> ;END OF IFN KCFLG
MSECTB=:KIEPT+540 ;MONITOR SECTION TABLE
;CELLS IN EXEC PROCESS TABLE (EPT)
USECTO==:540 ;OFFSET IN PT FOR USER SECTION
MXSECN==:37 ;HIGHEST POSSIBLE SECTION NUMBER
EPTTPI=:KIEPT+420 ;TRAP INSTRUCTIONS
RSI CONOPG,,1 ;WORD FOR CONO PAG,@CONOPG (used before RS 0'ed)
EPTGBP=:KIEPT+700 ;OWGBP UCODE TABLE STORAGE
OWGBPN==:722-700+1 ;THE OWGBP UCODE USES EPT LOCS 700-722
RSI OWGBPV,<440606360607,300610220611,140612060613
000646441015,341016241017,141020041055
440722350723,260724170725,100726010762
441130331131,221132111133,001170442235
222236002275,000000000000,464750515253
626364656600,555657600000,707172730000
757600000000>,OWGBPN
;DTESRV STORAGE
NR BTLOCK ;LOCK ON BOOT PAGE (DTERBT)
;LINEPRINTER STORAGE
NDG NLPBF,400 ;DEFAULT BUFFER SIZE
RS(LPTTYP,LPTN) ;TYPE OF LPT VECTOR FOR DEVICE INDEPENDENCE
RS(LPTSTS,LPTN) ; Status word
RS(LPTST1,LPTN) ;SECOND STATUS WORD
RS(LPTST2,LPTN) ;THIRD STATUS WORD
RS(LPTST3,LPTN) ;YES
RS(LPTERR,LPTN) ; LAST ERROR WORD
RS(LPTCNT,LPTN) ; Buffer counter
NRP(LPTBUF,LPTN*2*NLPBF) ;2 BUFFERS
RS LPTCLS,LPTN ;LPTCHK CLOCK SWITCH
RS LPTCCW,LPTN ;BLKI/O PTR
RS LPTICT,LPTN ;INTERRUPT BYTE COUNT
RS LPTCKT,LPTN ;INTERVAL FOR LPTTIM
RS(LPTLCK,LPTN) ; Lock on opening lpt
RS (PGDATA,LPTN) ;PAGE COUNTER PLACED HERE TO SEND IT TO -11
NR (LPTOFN,LPTN) ;VFU,,RAM OFN'S TO PREVENT OPENS FOR WRITE
LPFLSZ==:^D28 ;NUMBER OF WORDS IN FILENAME BUFFERS
NR (VFUFIL,LPFLSZ*LPTN) ;ALLOCATE SWAPPABLE STORAGE FOR VFU FILE NAMES
NR (RAMFIL,LPFLSZ*LPTN) ;ALLOCATE SWAPPABLE STORAGE FOR RAM FILE NAMES
IFG FEN,< ;PRIVATE STORAGE FOR FE DEVICES
RS FEUDB0,FEN
RS FEUDB1,FEN
RS FEUDB5,FEN
RS FEUDB6,FEN
RS FEUDB7,FEN
RS FEUDB3,FEN
RS FEUDB4,FEN
RS FELOCK,1
> ;END OF FE STORAGE DEFINITIONS
;PHYSICAL CARD PUNCH STORAGE
IFG PCDPN,<
CDPBFZ==:41 ; Size of CDP buffer
RS(CDPBF1,CDPBFZ) ; First buffer
RS(CDPBF2,CDPBFZ) ; Second buffer
RS(CDPSTS) ; Status word
RS(CDPLCK) ; CDP open lock
RS(CDPCNT) ; Count of full buffers
RS(CDPITC) ; Count of items remaining in current buffer
RS(CDPPTR) ; Byte bointer for emptying current buffer
RS(CDPSIO) ; Saved ios during interrupt
> ;END IFG PCDPN
;PHYSICAL CARD READER STORAGE
IFG CDRN,<
CDRSIZ==:^D40 ;SIZE OF A CARD IMAGE
CDRLEN==:2*CDRSIZ ;SPACE IN CDRBUF FOR 1 CDR
RS CDRCT1,CDRN ;BUFFER COUNT
RS CDRCKT,CDRN ;WORD FOR SCHEDULER TEST
RS CDRSTS,CDRN ;THE STATUS WORD
RS CDRST1,CDRN ;THE SECOND STATUS WORD
RS CDRST2,CDRN ;THIRD STATUS WORD
RS CARDCT,CDRN ;COUNT OF CARDS READ
RS CARDER,CDRN ;NUMBER OF "HARDWARE" ERRORS
RS CDRLCK,1 ;THE CDR LOCK WORD
RS CDRCNT,1 ;COUNT OF CDR'S OPENED
NRP CDRBUF,1000 ;THE BUFFER PAGE
>
IFG MTAN,<
;Private storage for magtapes
RS(MTALCK,MTAN) ;Lock word
RS(MTASTS,MTAN) ;Status of unit
NR(MTANR1,MTAN) ;NON-RESIDENT STORAGE FOR MAGTAPE
NR(MTANR2,MTAN)
NR(MTANR3,MTAN)
NR(MTANR4,MTAN)
NR(MTANR5,MTAN)
NR(MTANR6,MTAN)
RS(MTARS1,MTAN) ;RESIDENT STORAGE FOR MAGTAPE
RS(MTPSFK,MTAN) ;PSI,,FORK # FOR ONLINE/OFFLINE INTERRUPTS ON TAPE
RS(MTCUTB,MTAN) ;CDB ,, UDB TABLE
;[9085] Because MAGTAP allows transfers of up to MAXPPB pages, the maximum
;words needed for CCWs is MAXPPB+2 (transfer doesn't have to start on a page
;boundry and zero word is needed at end of IOWD lists). Therefore MTABFL is
;the size of the rest of the IORB (MTIRTL+1) plus CCW space (MAXPPB+2).
MTBUFN==:2 ;NUMBER OF BUFFERS/IORB'S
MAXPPB==:20 ;MAXIMUM PAGES PER BUFFER
IRBLEN==:6 ;LENGTH OF AN IORB (ALSO IN PHYPAR)
MTIRSD==:IRBLEN ;START OF DEVICE SPECIFIC AREA
;SEE MAGTAP FOR DEFSTR'S OF THIS AREA
MTIRTL==:MTIRSD+2 ;START OF TRANSFER LIST
MTIRBL==:MTIRTL+1+MAXPPB+2 ;[9085] Total length of magtape IORB
MTABFL==MTAN*MTBUFN*MTIRBL ;[9085] Compute space for all IORBs
MTPBFL==MTBUFN*<MAXPPB+1>*MTAN ;[9085] +1 for non-page aligned DUMPI/O
RS(MTAPBF,MTPBFL) ;SPACE FOR BUFFER PAGE POINTERS
RS(MTIRBF,MTABFL) ;SPACE FOR IORB'S
RS(MTIOWD,MTAN) ;Iowd for next transfer
RS(MTBIOW,MTAN) ;BACKUP IOWD (FOR NEXT XFER)
RS(MTAOLS,MTAN) ;LENGTH OF LAST XFER,,
RS(MTARCE,MTAN) ;Total error count
RS(REWCNT) ;Number of rewinding units
RS(MTERAS) ;Rewrite erase counter
RS(MTPNTR) ;Iowd during transfer
RS(MTAUNT) ;Unit currently attached to controller
RS(MTERRC) ;Retry counter
RS(MTERFL) ;State of retry
RS(MTACOM) ;Cono word of current operation
RS(MTDINR) ;Return address from data interrupt
RS(MTACLS) ;Clock routine switch, 0 for no clock wanted
;PRIVATE STORAGE FOR MT (DUMMY TAPES)
RS (TLABBP,2*MTAN) ;PNTR TO LOCKED BUFFER PAGE
RS (TLABR0,MTAN) ;RESIDENT STORAGE FOR LABEL INFO
NR (TLABL0,MTAN) ;NON-RESIDENT STORAGE FOR TAPE
NR (TLABL1,MTAN) ; LABEL INFORMATION
NR (TLABL2,MTAN)
NR (TLABL3,MTAN)
NR (TLABL4,MTAN)
NR (TLABL5,MTAN)
NR (TLABL6,MTAN)
NR (TLABL7,MTAN)
NR (TLABL8,MTAN)
NR (TLABL9,MTAN)
NR (TLAB10,MTAN) ;PROTECTION FIELD, ETC
NR (TLAB11,MTAN) ;WORD TO HOLD OF MAGTAP PARAMS
NR (TLAB12,MTAN) ;HOLD VOL SET NAME IN HERE
NR (TLAB13,MTAN) ;HOLD EXP DATE HERE
NR (TLAB14,MTAN) ;SEQUENCE NUMBERS
NR (TPFCNT,MTAN) ;MT FILCNT (JFN)
NR (TPFBYN,MTAN) ;MT FILBYN (JFN)
NR (TPFLEN,MTAN) ;MT FILLEN (JFN)
NR (TPFLNX,MTAN) ;COUNT OF BYTES (OF FILLEN(JFN))
;WIICH ARE EXPECTED IN NEXT RECORD (SPANNED)
NR (TPSBYT,MTAN) ;SAVES POINTER TO WHERE SCW/SCW SHOULD GO
;WHEN RECORD IS COMPLETE, ALSO TPSCUP
> ;END IFG MTAN
IFE MTAN,<
MTCLVA:: ;DUMMY FOR MTA CLEAR ALL VALID VOLUME BITS
MTCLVL:: ;DUMMY FOR SINGLE CLEAR VALID VOLUME
MTAKFK::RET ;DUMMY FOR KILL PSI
> ;END IFE MTAN
RS(MTAJB0,1) ;JOB 0 FLAG FOR MTA UNIT CAME ON LINE
IFG PLTN,<
;PLOTTER STORAGE
PLTBFZ==:401 ; Size of plt buffer
RS(PLTBF1,PLTBFZ*PLTN) ; First buffer
RS(PLTBF2,PLTBFZ*PLTN) ; Second buffer
RS(PLTSTS,PLTN) ; Status word
RS(PLTLCK,PLTN) ; Plt open lock
RS(PLTCNT,PLTN) ; Count of full buffers
RS(PLTITC,PLTN) ; Count of items remaining in current buffer
RS(PLTFDC,PLTN) ; SPECIAL FUNCTION TO BE DONE
RS(PLTPTR,PLTN) ; Byte bointer for emptying current buffer
RS(PLTPWR,PLTN) ;PLOTTER HAS REMOTE POWER INDICATE
> ;END OF IFG PLTN
IFG PTPN,<
PTPBFZ==:41 ; Size of ptp buffer
RS(PTPBF1,PTPBFZ) ; First buffer
RS(PTPBF2,PTPBFZ) ; Second buffer
RS(PTPSTS) ; Status word
RS(PTPLCK) ; Ptp open lock
RS(PTPCNT) ; Count of full buffers
RS(PTPITC) ; Count of items remaining in current buffer
RS(PTPFDC) ; Count of lines of feed left to punch
RS(PTPPTR) ; Byte bointer for emptying current buffer
RS(PTPSIO) ; Saved ios during interrupt
> ;END IFG PTPN
IFG PTRN,<
PTRBFZ==:41 ; Size of ptr buffers
RS(PTRBF1,PTRBFZ) ; First buffer
RS(PTRBF2,PTRBFZ) ; Second buffer
RS(PTRSTS) ; Status word
RS(PTRLCK) ; Ptr open lock
RS(PTRCNT) ; Count of full buffers
RS(PTRITC) ; Count of room left in filling buffer
RS(PTRCHC) ; Count of items inserted in buffer
RS(PTRPTR) ; Byte pointer for filling buffers
RS(PTRSIO) ; Saved ios during int
> ;END IFG PTRN
IFG VBCN,<
RS(PENLOC,4) ;X,Y COORDINATE OF LAST PEN HIT
PENADR==:PENLOC+1 ;PROGRAM ADDRESS OF WHERE HIT OCCURED
ERRLOC==:PENLOC+2 ;X,Y COORDINATE OF FIRST ERROR SEEN
ERRADR==:PENLOC+3 ;ADDRESS OF WHERE ERROR OCCURED
RS(DISREL) ;8 BIT BOUNDRY OF FIRST LOCKED PAGE
RS(DISPRT) ;# OF 1K PIECES OF CORE LOCKED
RS(DISBEG) ;LH=PROTECTION AND RELOCATION FOR DISPLAY
;RH=STARTING ADDRESS OF DISPLAY PROGRAM
RS(VBCIOS) ;STATUS WORD
> ;END IFG VBCN
;Storage for TCP/IP Service
%NETS==:ANXN+IPNIN+IPCIN ;NUMBER OF IP INTERFACES
NINTIB==:^D20*%NETS ;NUMBER OF IP BUFFERS TO KEEP AROUND
IFN NETN,<
IFE IPNIN,<INTBSZ==:400> ;If no Ethernet small buffers
IFN IPNIN,<INTBSZ==:574> ;If Ethernet Larger buffers
IFN IPNIN,<RS BUFTIM,1> ;[8854] If Ethernet, need this for buffer tracking
NDG NHOSTS,^D9091 ;[9069]LENGTH OF HOSTN TABLE (MUST BE PRIME)
NDG NHOSTN,<NHOSTS*4> ;[7378]SIZE OF HOSTN TABLE
NDG NHSTN,<NHOSTS*12> ;[7378] LENGTH OF HOST NAME TABLE (TEXT)
IMPLBT==:10 ;LENGTH OF OLD BIT TABLE
NHSTST==:200 ;LENGTH OF OLD HOST STATUS TABLE
NDG NETHSZ,^D157 ;[9115] Size of network hash tables
RS IGDMSG,1 ;Last IMP going down message
RS IGDTIM,1 ;Time of last IMP going down message
RS IMINFB,1 ;BUFFERS MADE FREE BY PI ROUTINES
RS IMPGDM,1 ;LAST IMP GOING DOWN MSG
RS SIQNXT,1 ;TIME NEXT SPECIAL QUEUE MESSAGE EXPIRES
RS IBPTIM,1 ;TIME OF NEXT IMPIBP RUN
RS BF18BI,1 ;1822 BUFFER QUEUE INPUT
RS BF18BO,1 ;1822 BUFFER QUEUE OUTPUT
NR(MHOSTS,1) ;MINUS NUMBER OF HOSTS IN TABLE.
RSI BBNOK,<1> ;BBN CONNECTIONS ALLOWED
RSI DECOK,<1> ;DEC CONNECTIONS ALLOWED
;Some of the following tables are kept in INTSEC
..OFST==1000 ;STORAGE AFTER FIRST PAGE
;THE FOLLOWING ARE SWAPPABLE
NDG BF18SZ,20*ANXN ;[9115] Number of 1822 buffers
DEFWRD(BF1822,BF18SZ*INTBSZ) ;1822 BUFFER AREA
DEFWRD(HOSTN,NHOSTN) ;TABLE OF HOST FLAGS,,POINTERS TO NAMES.
DEFWRD(HOSTPN,NHOSTS) ;PRIMARY NAME FOR THIS HOST
DEFWRD(HSTNAM,NHSTN) ;TEXT TABLE OF HOST NAMES
BMNTLK==:..OFST ;FIRST LOCATION TO LOCK DOWN
DEFWRD(HOSTNN,NHOSTS) ;HOST NUMBERS
DEFWRD HSTSTS,NHOSTS ;DEAD HOST STATUS TABLE (18 BITS PER HOST)
;[8985] Don't let them shoot themselves in the foot
IFG <<HSTSTS+NHOSTS>-777777>,<PRINTX ?NHOSTS is too large. You must descrease it before attempting to build a monitor.>
EMNTLK==:..OFST ;LAST LOCATION TO LOCK DOWN
;The following parallel tables are used for looking up network numbers
RS(NETHTB,NETHSZ) ;Network number hash table
RS(NETGWY,NETHSZ) ;Path (interface of gateway) to a network
;These are part of the NETRDY GETAB Table
RS NETENT,1 ;Flags to drive NETSER etc.
;Storage for Multinet device drivers and NCTs
RESDT
BLOCK 5 ;**** TEMP *** trying to catch what's
;clobbering NCT0
.NCTS::
MKNCTS ;Make the actual NCTS
;NCT Vector table
NCTVT:: MKPTRS ;And the pointers thereto
;Interrupt storage
RS NUMNCP,1 ;Number of NCP Type nets up
RSI NETSUP,<0> ;Flag (-1) that MNTINI has completed
RESDT
RSI ANT3EN,<0> ;Type 3 messages 0 no, -1 enabled
NR BADPCT,1 ;Packets received with bad checksum, etc
NR GENCFL,1 ;General lock conflits counter
NR GWTAB,1 ;(Extended) pointer to gateway table
RS INETID ;Our Internet ID
RS INTABC,NTACWD ;Per fork count of ABORTed TCBs
RS INTBFF,NTWBWD ;Free wait bit indicators
RSI INTBYP,-1 ;Internet bypass 0 no, -1 ok
RSI INTCLS,<4B6,4B6,4B6,4B6,6B6,6B6,7B6,7B6> ;Network class mask
RS INTFLG,1 ;Flag to make the Internet fork run
RS INTFRI,1 ;Free input buffer list pointer
RS INTFRK,1 ;FORKX Running Internet
RSI INTHST,<77777777,77777777,77777777,77777777,177777,177777,377,0>
RS INTIBI,1 ;IMPPHY to Gateway input queue input pointer
RS INTIBO,1 ;IMPPHY to Gateway input queue output pointer
RSI INTLHX,<3> ;Maximum logical host value delivered to protocols
RSI INTNET,<37700000000,37700000000,37700000000,37700000000,37777600000,37777600000,37777777400,37777777777>
RS INTNFB,1 ;Empty output buffer list pointer
RS INTNFI,1 ;Free input buffer count
RS INTNIB,1 ;# of free input buffers desired (default 4*%NETS)
RS INTON,1 ;-1 If IP initialized, 0 if not
NR INTRAN,1 ;IP reassembly packet number
NR INTRAQ,1 ;(Extended) pointer to IP fragment ra queue (PKTQ)
NR INTRAT,1 ;TODLCK of next fragment to timeout (RCVFLS)
NR INTSCR,1 ;Set non-0 to run in secure mode
;exclusive of local leaders (max PIPL)
NR INTSVC,1 ;Count of scavenges of free storage
NR INTSVR,1 ;Flag to request a scavenge
NR INTSVT,1 ;TODCLK of most recent scavenge BUGINF
RS INTTIM,1 ;TODCLK when Internet fork should run next
RS INTTRC,1 ;Set to 0 to turn OFF packet trace
;N.B.
;Be very very carefull if you ever change any of INTBSZ, ..MXSZ, or INTXPW.
;They are all related and have been calculated exactly taking into account
;LCLPKT, MAXLDR, and the Ethernet CRC, with no extra bytes available.
RSI MAXWPM,<INTBSZ> ;Size of 1822 Buffers (including MAXLDR)
..MXSZ==<INTBSZ*4>-<4*MAXLDR>-4 ;Max number of bytes
RSI INTXPB,<..MXSZ> ;Maximum PIPL for all interfaces (bytes)
RSI INTXPW,<PKTELI+<<..MXSZ+3>/4>+1> ;# Words in max pkt bfr (+1) (PFSIZ=1)
IFN IPPDSW,< ;Packet Printer
NR PPBLCK,LOCKSZ ;Lock on PPB
NR PPBUF,PPBWDS ;Packet printer buffer
RESDT
TCPPFN: ASCIZ /PS:<OPERATOR>IPTRAC.BIN/ ;P777777
BLOCK 3
NR TCPPSJ,1 ;Jfn of Simulation file (containing PKTs)
NR TCPPSQ,1 ;Queue of PKTs read so far (maybe RXed)
RSI TCPPSA,<BYTE (4)0(8)^D10,0,0,^D79> ;DEC-2136
RSI TCPPTB,<INTSEC,,600> ;Defaults if not CALL TCPPIN
RSI TCPPTC,<INTSEC,,600> ;Current buffer pointer
RSI TCPPTE,<INTSEC,,730> ;Sav Dump <N,,garb>,N<data>
RSI TCPPTO,<0> ;IMP Dump <N>,<time>,N<data>
;IP Dump <adr,,N+1>,N<data>
> ;end of IFN IPPDSW
;Internet Free Storage
NR BULKST,1 ;START OF BULK STORAGE
NR BULKND,1 ;END OF BULK STORAGE
NR FRELCK,LOCKSZ ;LOCK ON THE FREE STORAGE AREA
INTBLS==:2 ;[9115] Header size
NR INTBLK,<NFIXED*INTBLS> ;[9115] Headers of free block lists
INTFRE==:EMNTLK+1 ;[9115] First internet free space location
INTFSZ==:777777-<EMNTLK+1> ;USE AS MUCH OF THIS SECTION AS POSSIBLE
NR INTFSP,1 ;AMOUNT OF FREE SPACE CURRENTLY AVAILABLE
NR MRGFLG,1 ;NON-0 IF A GARBAGE COLLECT MIGHT HELP
NR ODDBLK,INTBLS ;[9115] Odd length blocks list
;Internet Protocol Tables
; *** Do not separate
RESDT
DEFINE PCLTAB (NAM,PRT)<
.X=.
RELOC .X+.INTPC
XCDSEC,,NAM'CHK
RELOC .X+.INTPF
NAM'FLG::0
RELOC .X+.INTPI
XCDSEC,,NAM'INI
RELOC .X+.INTPQ
NAM'IPQ::0
RELOC .X+.INTPO
NAM'ON:: 0
RELOC .X+.INTPL
IFB <PRT>,<NAM'PCL:: .'NAM'FM>
IFNB <PRT>,<NAM'PCL:: PRT>
RELOC .X+.INTPP
XCDSEC,,NAM'PRC
RELOC .X+.INTPS
NAM'SID::0
RELOC .X+.INTPT
NAM'TIM::377777777777
RELOC .X+.INTPE
XCDSEC,,NAM'ICM
RELOC .X+.INTPZ
PURGE .X
>
INTPIX::-4,,.INTPZ ;-# protocols,,Table length
;Tables follow INTPIX
PCLTAB (TCP) ;TCP table
PCLTAB (ICM) ;ICMP table
;Internet User Queue table
;NOTE: This must be last since protocol -1 takes anything
PCLTAB (INQ,-1)
BLOCK .INTPZ ;Spare for tests
;*** End of do not separate
;Internet queue storage:
RSI INTQMX,<^D8> ;Max # of packets in RCVIN queue (INTSQP)
RSI INTQT0,<^D30000> ;Internet user queue (packet) timeout, msec (INTQTM)
NR INTQLK,LOCKSZ ;Lock on following queue tables
RS INTQFK,NIQ ;Forkx waiting for stuff on this queue (or -1)
;in LH,,RH is FORKX of owner
NR INTQHD,1 ;Pointer to INTSEC table of NIQ queue heads
NR INTQJB,NIQ ;Job owning this queue (Flags,,JOBN)
NR INTQM0,NIQ ;User queue mask for PIPRO (B24-31)
NR INTQM1,NIQ ;User queue mask for PIDH (B00-31)
NR INTQM2,NIQ ;User queue mask for PISH (B00-31)
NR INTQM3,NIQ ;User queue mask for for ports (l B0-15, f B16-31)
RS INTQSP,NIQ ;[9115] Number of messages on this queue
NR INTQTM,NIQ ;Timeout for this queue
NR INTQV0,NIQ ;User queue value for PIPRO (B24-31)
NR INTQV1,NIQ ;User queue value for PIDH (B00-31)
NR INTQV2,NIQ ;User queue value for PISH (B00-31)
NR INTQV3,NIQ ;User queue value for ports (l B0-15, f B16-31)
;Additional ICMP storage
RSI ICMTM0,<^D120000> ;ICMP check time, msec
RSI NETHT0,<^D<30*60*1000>> ;Interval to clear hash table, msec
RS NETHTM ;Time to re-init the network cache
RSI PINGT0,<^D37000> ;Ping interval, msec (prime to reduce interactions)
RS PINGTM ;Time of next gateway ping
RESDT
FKABCP::POINT ABTCBS,TCPABC ;Pointer to base of TCP abort counters
XSWAPCD
RS INTWTB,NTWBWD ;Scheduler wait bits. One per lock, buffer, etc
NR NXTLBL,1 ;Next packet label
RS STATF,1 ;Set non-0 to take statistics
NR TCBCNT,1 ;Count of TCBs now in use
NR TCBDQ,1 ;Head of dead TCB queue (SCAN:)
NR TCBH,1 ;TCB Hash table location
NR TCBHLK,LOCKSZ ;TCBH Lock
RS TCBHUC,1 ;TCBH Use Count
TCBMAX::MAXTCB ;Maximum number of TCBs allowed
RS TCPABC,NTACWD ;Abort counters
RS TCPBDQ,1 ;Buffer done queue
TCPBGT::^D30000 ;BG time interval, msec
TCPBYS::4400+17*4+17*4 ;Max local (bypass) packet size - 1 page + overhead
TCPCKT::^D10000 ;TCP check interval, msec
TCPDGT::^D30000 ;DG time interval, msec
TCPDTL::^D60 ;Default Time to live, seconds
TCPDXD::^D2 ;Default RX denominator
TCPDXI::^D3000 ;[9115] Default RX interval, milliseconds
TCPDXN::^D3 ;Default RX numerator
RS TCPIDQ,1 ;Head of IP's dead queue
RS TCPIFG,1 ;Set non-0 after TCP initialized
TCPISN::^D<<MAXSEQ/8>*<<24*60*60>/CYCTIM>> ;TCP sequence # per second
EXP 3 ;Scale factor (8 above) to prevent MUL overflow
TCPPTM::^D300 ;Maximum persistence time, seconds (send timeout)
TCPRA0::^D100 ;Msec to wait for RA to process input packet
TCPRX0::^D1500 ;[9115] Initial RX interval, msec (was 3000)
TCPRXF::0,,-6 ;[9115] Scale factor for TCPRXS & TCPRXV (was -4)
TCPRXN::^D200 ;[9115] Minimum RX interval, msec (was 1000)
TCPRXS::60 ;[9115] Adapt faster to changing conditions (was 15)
TCPRXV::140 ;[9115] Adapt faster to changing conditions (was 30)
TCPRXW::^D120000 ;RX probe into zero window, msec
TCPRXX::^D60000 ;Maximum RX interval, msec
TCPSY0::^D2000 ;Msec delay on re-synchronization attempts
RS TCPUS0,1 ;Saved TCP fork UPT pointer
NR PROC,1 ;Points to currently running "process" in TCP
;"Process" control blocks
NR BG,PROCSZ ;Background
NR DY,PROCSZ ;Delayed Actions Generator
NR IP,PROCSZ ;InputProcessor
NR PZ,PROCSZ ;Packetizer
NR RA,PROCSZ ;Reassembler
NR RX,PROCSZ ;Retransmitter
;TCP virtual terminals
RS TVMSTM,1 ;TVT sendall timer
RS TVTLSN,1 ;TVT listening JCN
RS TVTNOF,1 ;TCP output scan needed
NTVTQN==:<<NTTTVT/^D36>+1> ;[9115] Words in the bittable for TVTs
RS TVTSOQ,NTVTQN ;[9115] The bit table if TVTs needing output
RS TVTNTM,1 ;Time to check for over TVT negotiations
RS TVTPTR,1 ; AOBJN ptr over TCP Virtual terminals
TVTWTM::^D60000 ;Msec to wait when window filled
;Statistics area
NR STAT0,0 ;Marks first cell cleared by STSINI
NR BYTRCT,1 ;Bytes received counter
NR BYTSCT,1 ;Bytes sent counter
NR FINRCT,1 ;FINs received counter
NR FINSCT,1 ;FINs sent counter
NR RSTRCT,1 ;RSTs received counter
NR RSTSCT,1 ;RSTs sent counter
NR SYNRCT,1 ;SYNs received counter
NR SYNSCT,1 ;SYNs counter
NR DUPKCT,1 ;Count of duplicates received
NR IPPKCT,1 ;Packets handled by InputProcessor
NR OPPKCT,1 ;Packets output to the network
NR PZPKCT,1 ;Packets produced by Packtizer
NR RAPKCT,1 ;Packets processed by Reassembler
NR RXPKCT,1 ;Packets retransmitted
;Task counters
NR BGRNCT,1 ;Count of times Background has run
NR DGRNCT,1 ;Count of times Delay Action has run
NR IPRNCT,1 ;Count of times InputProcessor has run
NR OPRNCT,1 ;Count of times OutputProcessor has run
NR PZRNCT,1 ;Count of times Packetizer has run
NR RARNCT,1 ;Count of times Reassembler has run
NR RXRNCT,1 ;Count of times Retransmitter has run
NR TASKCT,1 ;Count of all tasks
IFN IPPDSW,<
NR ACDLAY,HISTSZ ; Delay histograms
NR IPDLAY,HISTSZ
NR OPDLAY,HISTSZ
NR PZDLAY,HISTSZ
NR RADLAY,HISTSZ
NR RXDLAY,HISTSZ
>
NR BGUSE,1 ; CPU Usage meters
NR DGUSE,1
NR IPUSE,1
NR OHUSE,1
NR OPUSE,1
NR PZUSE,1
NR RAUSE,1
NR RXUSE,1
NR TVUSE,1 ;[9115] TVT CPU usage
NR STATZZ,0 ; The last cell cleared by STSINI is ...
NR TIMPTR,1 ; Current timer. Points to one of the above
IFN ANXN,< ;Only if we have an AN20
RESDT
NDG NSQ,10 ;Number of special imp queues to handle
IMP8XS==:100*ANXN ;[9115] Size of irreg message buffer
NIMSTK==:24 ;Size of PI level stack
RS IMSTK,NIMSTK ;Stack storage area
DEFINE ANXPDP(NUM),<IMPDP'NUM':: IOWD NIMSTK,IMSTK> ;[9115] Macro to make stack
......==0 ;[9115] Counter for each one
REPEAT ANXN,< ;[9115] For each AN20
ANXPDP(\......) ;[9115] Make a stack
......==......+1 ;[9115] Count the counter of stacks
> ;[9115] End of REPEAT ANXN
RS SIQIBI,NSQ ;Special queues
RS SIQIBO,NSQ
RS SIQTIM,NSQ ;Time of first message on special queue
RS SIQSPC,NSQ ;Space occupied by special input q
RS SQJOB,NSQ ;Job to which special Q is assigned
RS SQVAL1,NSQ ;Values for up to 3 words of leader
RS SQVAL2,NSQ
RS SQVAL3,NSQ
RS SQMSK1,NSQ ;Masks for up to 3 words of leader
RS SQMSK2,NSQ
RS SQMSK3,NSQ
RS IIMBUF,3 ;Imp irreg msg buffer, for output side
RS IMPTIM,1 ;Time of next clock run down
RS IMP8XI,1 ;Irreg mes buffer in ptr
RS IMP8XO,1 ;.. .. out
RS IMP8XC,1 ;.. .. count
RS IMP8XB,3*IMP8XS ;Irreg mes buffer
NIMPIB==:4 ;Number of 1822 buffers to keep around
RSI IMPNIB,<NIMPIB*ANXN> ;Number of input buffers to keep on tap
RS IMPNFI,1 ;Count of free input buffers
RS SQLCK,1 ;Interlock for assigning special Q
RS IMPIBI,1 ;In buffers in ptr
RS IMPIBO,1 ;In buffers out ptr
RS NOIBFS,1 ;Flag that input buffer queue ran dry
RS IMPFRI,1 ;List of free input buffers
IFN IPPDSW,<
DBGNBF==:100 ;DBGIM JSYS Storage
RS(DBGFAC,1) ;Failure counter
RS(DBGSP,1) ;Store pointer
RS(DBGRP,1) ;Read pointer
RS(DBGNWD,1) ;Number of words in buffer
RS(DBGERR,1) ;Report 1822 errors
RS(DBGNCP,1) ;Report 1822 traffic
RS(DBGINT,1) ;Report IP traffic
NR(DBGBUF,DBGNBF) ;Debug buffer
> ;End of IFN IPPDSW
> ;end of IFN ANXN
IFE ANXN,< ;Only if we don't have an AN20
RESCD
SIQCHK:: ;Dummy siqchk for when no AN20
MOVX T1,<377777,,-1> ;A long time from now
IMINRB:: ;Dummies for when no AN20
IMPIN0::
IMICHK::
IMPSTS::
IMPCHK::
NETLGO::
IMPFPF::
CHKI7::
RET
.SNDIM::
.RCVIM::
.ASNSQ::
.RELSQ::
JRST UJSYS0
> ;End of IFE ANXN
IFN IPNIN,< ;If Ethernet TCP/IP is assembled
RESDT
NDG MAXNIH,^D128 ;Maximum number of hosts in GHT
RSI NIMAXH,MAXNIH ;Holds MAXNIH
RS NIPNCT ;NCT address (used by callbacks from NISRV)
RS IUNBLK ;UN block address
RS ICHNST ;Saves channel status
RS NIICNT ;Count of input errors
RS NIOCNT ;Count of output errors
RS NICNTP ;Posted buffer count
RS IPBLPC ;Occurances of possible IPIBLP buginfs
RS UNBNFI ;Free UN block count
RS UNBFRI ;Free UN block list pointer
RS NIPFRI ;Free input buffer list pointer
RS NIPNFI ;Free input buffer count
NDG NNIPIB,^D40 ;Number of receive buffers to keep around
NDG NNIPTH,^D20 ;Threshold before we will complain about buffers
RSI NIPNIB,NNIPIB ;Number of free input buffers desired
RS NIPSRQ ;Read NI portal counters request flag
RS NICTRS ;Pointer to portal counters block
RS NIPERR ;Save error code
RS TRLERR ;Save error code for trailer portals
NDG TRLSW,-1 ;Detecting trailers is on by default
RSI TRLENA,<TRLSW> ;Use ARP if it is on / We want ARP to be used
NDG ARPSW,-1 ;ARP is on by default
RSI ARPENA,<ARPSW> ;Use ARP if it is on / We want ARP to be used
RS ARPON ;ARP is enabled and on
RS NIPON ;NI portal has been opened
RS TRLON ;Trailer encapsulation detection is on
RS AHLENA ;Enable gateway control features
RS AUNBLK ;Address of UN block
RS ABUFFR ;Address of big buffer containing all ARP buffers
RS ARPFRI ;Pointer to next free ARP buffer
RS ARPNFI ;Number of ARP buffers on free list
RS GHTAR1 ;Address of Internet host # section of GHT
RS GHTAR2 ;Address of per host data section of GHT
RS GHTLOK ;[7450] GHT lock flag
RS GHTCNT ;Count of entries in GHT
RS GHTLEN ;Length of the table
RS ARPSRQ ;Read ARP portal counters request flag
RS ARPTRS ;Pointer to portal counters block
RS NIPRSF ;Flag that IPNI needs restarting
RS NIPSHT ;Request IPNI to shutdown due to error
RS NIPGTF ;Request NIHINV to invalidate all ght entries
RS PDBYTS,<<^D46-<5*4>>/4>+1 ;Padding bytes for short messages
>;END OF IFN IPNIN
IFE IPNIN,< ;Dummy routine for non-IPNI monitor
RESCD
NIPSRV::
ARPINI::
ARPKIL::
NIHINI::
NICTRS::
NIPSRQ::
ARPSRQ::
ARPTRS::
RET
NIPNCT::Z
> ;End of IFE IPNIN
IFN IPCIN,< ;If CI TCP/IP is assembled
RESDT
RS CIPNCT ;NCT address
RS CIOCNT ;Count of output errors
RS CIPFRI ;Free input buffer list pointer
RS CIPNFI ;Free input buffer count
NDG NCIPIB,^D30 ;Number of receive buffers to keep around
NDG NCIPTH,^D20 ;Threshold before we complain about lack of buffers
RSI CIPNIB,NCIPIB ;Number of free input buffers desired
RS CIPERR ;Save error code
RS CIPON ;CI portal has been opened
>;END OF IFN IPCIN
IFE IPCIN,<CIPSRV::RET> ;Dummy routine for non-IPCI monitor
> ;End of IFN NETN
;DUMMY ROUTINES FOR NON-ARPANET SYSTEMS
IFE NETN,<
RESCD
.IPOPR::
.TCOPR::
.ASNIQ::
.RELIQ::
.SNDIN::
.RCVIN::
.SEND::
.RECV::
.OPEN::
.CLOSE::
.SCSLV::
.ABORT::
.STAT::
.CHANL::
.GTHST::
.ASNSQ::
.SNDIM::
.RELSQ::
.FLHST::
.CVHST::
.ATNVT::
.RCVIM::
TATNVT::
JRST UJSYS0
RS TVTPTR,1
TCPDTB::
CHKNVT::
GTBHRT::
GIMLT1::
GIMLT2::
GIMLT3::
GIMLT4::
GNTLSK::
GNTBUF::
GNTSTS::
GNTBTC::
GNTBAL::
GNTFSK::
GHSTNM::
GNTRDY::
GTBHSS::
GHOSTN::
GNTAWD::
CHKNVT::
CHKTVT::
NETKFK::
MNTHLT::
IMICHK::
MNTCHK::
CHKIMP::
MNTINI::
IMPBEG::
ABTBUF::
HSTINI::
CHKNET::
IMPFPF::
INTLGO::
NETLGO::
INTBEG::
CHKTVT::
ABTJCS::
TVTSOF::
TVTMSG::RET
TCPIX==:0
NTBFIX==:0
IMPGTN==:0
IMPRDY==:0
IMPLBT==:0
NHSTST==:0
NHSTN==:0
HSTNAM==:0
NHOSTS==:0
NHOSTN==:0
HOSTN==:0
NSKT==:0
LSKT==:0
FSKT==:0
NETAWD==:0
NETBAL==:0
NETSTS==:0
NETBUF==:0
NETBTC==:0
NETHST==:0
NETFRK==:0
NETDAL==:0
IMPNLK==:0
IMPLT1==:0
IMPLT2==:0
IMPLT3==:0
IMPLT4==:0
IMPLT5==:0
> ; End of IFE NETN
;Dummy routines for DYNLB% and CTSOP%
IFE DYNFLG,<
.DYNLB::ITERR(ILINS2) ;Undefined JSYS
>
IFE CTSFLG,<
.CTSOP::ITERR(ILINS2) ;Undefined JSYS
>
;STORAGE FOR RS04 SERVICE
IFG DRMN,<
IFG RS04F,<
NTRK==:^D8 ;NUMBER OF TRACKS ON RS04
DRMSEC==:^D64 ;NO. OF DRUM SECTORS
;SWAP ALLOCATOR PARAMETERS
SWPSEC==:DRMSEC ;USE DISK PARAMETERS
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
SWPTRK==:NDST/SWPSEC ;..
SWPNUN==:1 ;..
IFN PHYIOF,<
NDRMEW==:1
RS DRMCFE,1
MAXDRM==:^D8 ;MAX NUMBER OF UNITS
;CAN BE GREATER THAN 8
RS DRMNUM,1 ;NUMBER OF DRUMS (COUNTED BY RS4INI)
RS DRMTAB,MAXDRM ;VIRTUAL TO PHYSICAL DRUM ADDRESSES
;CDB,,UDB
>;IFN PHYIOF
IFE PHYIOF,<
MAXDRM==:^D8 ;MAX NUMBER UNITS
NDRCCW==:10 ;NUMBER OF DRUM CCWS
DRMCCL==:50 ;TEMP UNTIL RH20 FIXED
NDRMEW==:5 ;NUMBER OF DRUM ERROR WORDS FOR GETAB
RS DRMCFE,5 ;DRM ERR BLOCK (NAME IS HISTORICAL) SEE DRMERP FOR DESCR
RS DRMEC,1 ;ERROR COUNT, THIS XFER
RS DRMERR,1 ;TOTAL NUMBER OF DRUM ERRORS
RS DRMNRE,1 ;DRM NON REC ERRS
RS DRMNRQ,1 ;NUMBER OF REQUESTS IN QUEUE OR IN PROGRESS
;PER CHANNEL DATA (WILL LIVE IN CCB EVENTUALLY)
RS RHPBAR,1 ;CURRENT BAR - ALSO USED AS ACTIVE FLG
RS RHPTCR,1 ;CURRENT TCR
RS RHPUCB,1 ;UCB CORRESPONDING TO ABOVE
RS RHPCCW,1 ;WILL POINT TO BEG OF PRI. CCW LIST
RS RHSBAR,1 ;SBAR
RS RHSTRC,1 ;STCR
RS RHSUCB,1 ;UCB FOR ABOVE
RS RHSCCW,1 ;WILL POINT TO BEG OF SEC CCW LIST
RS RHCNI,1 ;CONI ON LAST INTERRUPT
;PER UNIT DATA - UCB OFFSETS
RHURI==:0 ;READ Q INPUT PTR
RHURO==:RHURI+DRMSEC ;READ Q OUTPUT PTR
RHUWI==:RHURO+DRMSEC ;WRITE Q INPUT PTR
RHUWO==:RHUWI+DRMSEC ;WRITE Q OUTPUT PTR
RHUSEC==:RHUWO+DRMSEC ;NEXT AVAILABLE SECTOR ON UNIT
RHUERR==:RHUSEC+1 ;ERR REG,,TOTAL ERR COUNT
RHUNRE==:RHUERR+1 ;ERR REG,NON REC ERRS
RHUNRQ==:RHUNRE+1 ;NUMBER OF REQUESTS TO THIS UNIT
RHUUNI==:RHUNRQ+1 ;DRIVE NUMBER
RHUODT==:RHUUNI+1 ;TIME WHEN UNIT REQUEST IS OVERDUE
RHUSTS==:RHUODT+1 ;UNIT STATUS:
; B0 - OFFLINE
UCBLEN==:RHUSTS+1
RS UCBDAT,UCBLEN*MAXDRM ;STORAGE AREA FOR UCBS
RS RH0UTB,MAXDRM ;LH INDEX BY PHYS UNIT #, RH INDEX BY LOG UNIT #
RS DRMACS,5 ;AC0-4 DURING DRUM INTERRUPT
RS DRMACP,1 ;AC P DURING INTERRUPT
RS DRMP12,2 ;INTERRUPT ACS P1&P2
NDRMPD==:25 ;PDL SIZE FOR DRM PD LISTS
RS DRMPDL,NDRMPD ;PDL FOR DRUM INTERRUPT SERVICE
RS DRMSPP,1 ;SAVED P AT NON INT LEVEL
RS DRMPD1,NDRMPD ;PDL FOR NON PI LEVEL
RS RHXIOA ;IO ADDRESS OF MBC
RS RHXICO ;INITIAL CONO
RS RHXATN ;CONI ATTN BIT
RS RHXRAE ;REG ACCESS ERR IN CONI
RS RHXENB ;CONO ENABLE BITS NEEDED TO SEE ALL CONI BITS
RS RHXCRE ;MACHINE INSTR. NEEDED TO CLEAR RAE
RS RHXERR ;CONI ERROR BITS
RS RHXBAR ;LH OF BLOCK ADDR REG LOAD DATAO
RS RHXTCR ;LH OF TRANSFER CONTROL REG LOAD DATAO
RS RHXCIJ ;CHANNEL INITIAL JUMP
RS RHXCHL ;CHANNEL HALT
RS RHXCWC ;CHANNEL WORD COULD
RS RHXLIA ;DATAO TO LOAD INT VECOTR
>;END IFE PHYIOF
>;END IFG RS04F
> ;END IFG DRMN
;STORAGE FOR RC10 DRIVER
IFG DRMN,<IFG RC10F,<
NTRK==:^D90/2 ;NUMBER OF TRACKS PER DRIVE
DRMSEC==:^D15 ;NO. OF DRUM SECTORS
MAXDRM==:^D4 ;MAX NUMBER UNITS
;SWAP ALLOCATOR PARAMETERS
SWPSEC==:DRMSEC ;USE DRUM PARAMETERS
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
SWPTRK==:NTRK ;..
SWPNUN==:MAXDRM ;..
DRMPST==:^D60 ;NUMBER OF PHYSICAL SECTORS PER TRACK
DRMNWS==:^D64 ;NUMBER OF WORDS PER DRUM SECTOR
DRMNSP==:PGSIZ/DRMNWS ;NUMBER OF DRUM SECTORS PER PAGE
RS DRMRI,DRMSEC*MAXDRM ;DRUM READ QUEUE INPUT POINTER
RS DRMRO,DRMSEC*MAXDRM ;DRUM READ QUEUE OUTPUT POINTER
RS DRMWI,DRMSEC*MAXDRM ;DRUM WRITE QUEUE INPUT POINTER
RS DRMWO,DRMSEC*MAXDRM ;DRUM WRITE QUEUE OUTPUT POINTER
RS DRMCCL,2 ;COMMAND LIST FOR DF10
RS DRMEC,1 ;ERROR COUNT, THIS XFER
RS DRMACT,1 ;DRUM IS ACTIVE IF NON-0
RS DRMDAO,1 ;LAST DATAO TO DRUM
NDRMEW==:4 ;NUMBER OF DRUM ERROR WORDS FOR GETAB
RS DRMCFE,1 ;COUNT OF CFM ERRORS
RS DRMLER,3 ;LAST ERRONEOUS DRUM COMMAND AND ERROR BITS
>> ;END IFG DRMN & RC10F
;STORAGE FOR DUMMY DRUM DRIVER
IFE DRMN,<
DRMSEC==:0 ;NO SECTORS...
NTRK==:0 ;NO TRACKS...
MAXDRM==:0 ;NO UNITS...
SWPSEC==:^D95 ;USE DISK PARAMETERS
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
SWPTRK==:NDST/SWPSEC ;..
SWPNUN==:1 ;..
REPEAT 0,< ;[7.1117] No longer used
NDRMEW==:1 ;NUMBER OF DRUM ERROR WORDS FOR GETAB
RS DRMCFE,1 ;COUNT OF ERRORS
> ;[7.1117] No longer used
IFN PHYIOF,<
RS DRMNUM,1 ;PHONEY NUMBER OF DRUMS (0)
RS DRMTAB,1
>;IFN PHYIOF
>;IFE DRMN
;STORAGE FOR SWAP ALLOCATOR -- MUST FOLLOW ALL DRUM DRIVER DECLARATIONS
NDG SWDST,NDST ;IF NOT ALREADY DEFINED, THIS IS DEFAULT
DRMMXB==:SWPNUN*SWPTRK ;MAX NUMBER OF BANDS POSSIBLE
DRMBSZ==:<SWPSEC+^D35>/^D36 ;NUMBER OF BIT WORDS PER TRACK
;PARAMETERS FOR SWAPPING STRUCTURE
RS NPDRMS,1 ;NUMBER OF PHYSICAL DRUMS, SET BY DRMIOI
RS MAXDRA,1 ;NUMBER OF PAGES OF PHYSICAL DRUMS
;FOLLOWING VARIABLES ARE FOR "LOGICAL" DRUM, I.E. SWAPPING SPACE
;RESERVED ON DISK
RS DRMBND,1 ;NUMBER OF DRUM TRACKS
RS MDRMBD,1 ;MINUS DRMBND
RS DRMTPG,1 ;TOTAL NUMBER OF PAGES ON DRUM
;STORAGE
RS DRMBBT,DRMMXB*DRMBSZ ;BIT TABLE - DRMMXB GROUPS OF DRMSEC BITS
RS DRMCNT,DRMMXB ;FREE PAGE COUNT FOR EACH TRACK
RS DRMBN0,1 ;TRACK NUMBER OF LAST ADDRESS ASSIGNED
RS DRMFRE,1 ;TOTAL FREE PAGE COUNT FOR DRUM
;STORAGE FOR SYSERR FACILITY
RS SEBQIN,1 ;JOB 0 QUEUE - IN PTR
;SEBQOU IS IN A FIXED PLACE IN LOWER CORE
RS SEBJFN,1 ;JFN FOR SYSERR.LOG FILE
RS SECHKF,1 ;FLAG TO WAKE JOB 0 SYSERR FORK
RS SEIETM,1 ;TIME AFTER WHICH FAILING SEBOFI TRIED AGAIN
RS SERCNT,1 ;Counter
RS SPRFLG,1 ;Flag that says if SPRCNT needs initialization
;SPRCNT IS IN A FIXED PLACE IN LOWER CORE
RS ALCLST,1 ;*** TEMP *** metering values for lossage
RS BUGLST,1
RS SYELST,1
;STORAGE COMMON TO ALL DRUM DRIVERS
RS DSTLOC ;CONTAINS ADDRESS OF DST
;* * * *
;This can be removed when PAGEM is fixed
; * * * *
DST==:0 ;EXTENDED. DST WILL BE IN SEPARATE SECTION
;SWAPPER PAGES RESERVED IN PROCESSOR-PRIVATE AREA
DEFINE ASNPPG (P,N)<
.PSECT PPVAR
P'A:: BLOCK N*PGSIZ
P==:P'A_-PGSFT
.ENDPS PPVAR
...CNT==...CNT+N
>
...CNT==0
ASNPPG CSWPG,1 ;SWAPPER TEMP
ASNPPG FITPG,1 ;PRELOAD/POSTPG TEMP
ASNPPG PRLPG,1 ;PRELOAD/POSTPURGE TEMP
ASNPPG PIPG,1 ;FOR REAL-CORE REFS AT PI LEVEL
NRSPG==:...CNT
;STORAGE AND CODE BOUNDARIES
;JOB-COMMON AREA
DEFINE ASNJSB (P,N)<
JSV (P'A,N*PGSIZ)
P=:P'A_-PGSFT>
;JSB FREE PAGES
IFE DEBUG,< ;[7.1222] If not debugging...
NDG NJSBPG,^D50 ;[7.1222] Number of free JSB pages
> ;[7.1222] End IFE DEBUG
IFN DEBUG,< ;[7.1222] If debugging...
NDG NJSBPG,^D45 ;[7.1222] Number of free JSB pages
> ;[7.1222] End IFN DEBUG
ASNJSB JSBPG,2 ;[7.1042]JSB IS FIRST PAGE IN JOB-COMMON AREA
ASNJSB JFNPG,5 ;[7.1042]5 PAGES FOR JFNS
ASNJSB JSJFN,0 ;END OF THE JFN STORAGE AREA
ASNJSB JTBPG,2 ;JSYS TRAP BLOCKS. FIRST WORD USED BY
; NEWJTB
JTBFRE=:JTBPGA ; Free JTB bit table (jffo)
JTBIFR==:777777,,770000 ; initial contents of JTBFRE
JTBOFF==:JTBPGA+1 ; address of 0th JTB
ASNJSB FREJP,NJSBPG ;JOB FREE STORAGE. MUST BE LAST
; DEFINITION IN JOB AREA
ASNJSB JSLST,0 ;END OF JSB. MUST BE LAST.
;JOB STORAGE BLOCK ASSIGNMENTS
;JSB STORAGE
DEFINE JS(T,N)<
T=:JSBPGA+JSBLOC
IFB <N>,<
JSBLOC==JSBLOC+1>
IFNB <N>,<
JSBLOC==JSBLOC+N>
>
;[7.1042]Move location counter to JFN area. This macro is used below
;[7.1042]to start the JFNs on JFNPG.
DEFINE SETJFN <JSBLOC==JFNPGA-JSBPGA> ;[7.1042]
JSBLOC==0 ;INITIAL VALUES
JS(JOBMAP,<<JSLSTA-JSBPGA>/PGSIZ>) ;OBJECT MAP FOR JOB-COMMON AREA
JOBM0==:JOBMAP-JSBPG ;BEG OF JOBMAP RELATIVE TO VIR PG 0
NUFKS==:30 ;MAX NUMBER FORKS/JOB
JS SYSFK,NUFKS ;JOB FORK INDEX TO SYSTEM FORK INDEX
JS CTTAB,NUFKS ;rh: -1 or controlling terminal number
;lh: vacant!
JS FKJTB,NUFKS ; Address of Jsys Trap Block
JS FKPTRS,NUFKS ;FORK POINTERS (STRUCTURE)
JS FKPSIE,NUFKS ;TERM INTERRUPT ENABLED WORD
JS FKDPSI,NUFKS ;DEFERRED TERM INTERRUPTS MASK
JS FREJFK,1 ;FREE JOB FORK SLOT LIST
JS FKLOCK,1 ;LOCK FOR FORK STRUCTURE MODIFICATION
JS FLKCNT,1 ;NEST COUNT FOR FORK LOCK
JS FLKOWN,1 ;FORK THAT LOCKED THE FORK LOCK
JS FKTIMW,1 ;TIMER WORD
NDG FLKTMV,^D120000 ;DEFAULT FLKTIM TIMER
JS FKCNT,1 ;COUNT OF ACTIVE FORKS IN THIS JOB
JS LSTLGN,1 ; Last interactive login D&T
JS NLDLGN,1 ;[9041] Last non-interactive login D&T
JS SRTTIM,1 ;DATE AND TIME THIS JOB WAS INITIALIZED
JS ARDFRT,1 ; Job default for retrievals
JS CTRLTT,1 ;LINE NUMBER OF CONTROLLING TTY
JS GBLJNO,1 ;GLOBAL JOB NUMBER
JS TTSPSI,1 ;CODE ENABLED ANYWHERE IN THIS JOB
JS TTSDPS,1 ;TERM INT CODE DEFERRED
JS TTJTIW,1 ;TERMINAL INTERRUPT ENABLE MASK
JS JBFLTM,1 ;Time of last PW failure
JS JBFLCT,1 ;Count of PW failures in the interval
NDG MINTVL,^D180000 ;Three minutes
NDG MXFLCT,3 ;[7334] Max password fails before BREAKI
NDG MXLOGO,^D6 ;[7334] Count before LOGOUT
JS (CONSTO,1) ;CONSOLE TIME ON (TODCLK UNITS)
JS (CTIMON,1) ;CONNECT TIME ON (GTAD UNITS)
JS (CONCON,1) ;CONSOLE CONNECT TIME (FOR USAGE)
JS (JBRUNT,1) ;JOB RUN TIME (FOR USAGE)
JS (JBNODE,1) ; NODE NAME (SIXBIT)
JS (JBBNAM,1) ; BATCH JOB NAME (SIXBIT)
JS (JBBSEQ,1) ; BATCH SEQUENCE NUMBER
JS (ACCTSL,1) ;LENGTH OF ACCTSR
JS (ACCTSR,MAXLW) ;ACCOUNT STRING
JS (ACCTSX,1) ;EXPIRATION DATE OF ACCTSR
JS (CSHACT,MAXLW) ;MOST RECENTLY VALIDATED ACCOUNT
JS (CSHUSR,1) ;USER FOR WHOM CACHED ACCOUNT WAS VALIDATED
JS (CSHACX,1) ;CSHACT EXPIRATION DATE
JS (CSHCLS,1) ;CLASS OF CACHED ACCOUNT
JS (LLSR,WPN) ;LOGICAL LOCATION (I DON'T UNDERSTAND WHY SOME OF THESE HAVE "+1")
JS (JSSRM,MAXLW+1) ;SESSION REMARK
JS (USRNAM,MAXLW+1) ;USER NAME STRING
JS(JFNLCK) ; Lock to prevent tampering with jfn's
JS(MAXJFN)
JS(ENQLST,2) ; BACKWARD AND FORWARD POINTERS TO Q-BLOCKS
; FOR THIS JOB
JS(ENQQOT) ; LH - QUOTAS AND COUNTS
; RH - RESERVED
JS(TIMALC) ; TIMER clocks limit
JS(LNTABP) ; POINTER TO LOGICAL NAME TABLE
JS(LNMLCK) ; LOCK FOR LOGICAL NAME DATA BASE
JS NPRIVP,1 ;NUMBER OF PRIVATE PAGES IN JOB
JS(JOBUNT) ; CONNECTED DSK UNIT
JS JBCLCK,1 ; LOCK FOR ASGPAG
JS(JBCOR,4) ; Page allocation bit table
IJSFRE==:JSBFSZ
JS(JSBFRE,7) ; Job area free storage header
JS(JSFREE,IJSFRE) ; Free storage area in job block
JS(JSBSDN) ; CONNECTED STRUCTURE UNIQUE CODE,,DIRECTORY #
JS(JSBCDS) ;POINTER TO CONNECTED DIR NAME STRING
JS(MODES) ; DDBMOD WORD FROM LOGIN
JS(GROUPS) ; GROUPS TO WHICH LOGIN USER BELONGS
JS RSCNPT,1 ;RESCAN POINTER
JS RSCNBP,1 ;POINTER TO RSCAN BUFFER
RSCMXC==:777 ;MAX SIZE OF RSCAN BUFFER
JS JBINFO,1 ;PID OF PRIVATE [SYSTEM]INFO FOR JOB
JS JSCDR,1 ;SPOOLED CDR INFORMATION
;LH = NEXT VERSION NUMBER - 1
;RH = ADDRESS OF SPOOL SET STRING
JS JSMTA1,1 ;DEFAULT DENSITY, MODE, AND RECORD SIZE
; FOR MAGTAPES BEING USED BY THIS JOB
JS JBFLAG,1 ;LH = FLAGS SENT TO SPOOLER ON CLOSE
; OF SPOOLED FILE AND LOGOUT
;RH = GENERAL JOB WIDE FLAGS (SEE PROLOG)
;RH = GENERAL JOB WIDE FLAGS (SEE PROLOG)
JS JSLOPD,1 ;PID TO GET LOGOUT MESSAGE, FROM CRJOB.
JS JSLOJB,1 ;JOB NUMBER OF WHO DID LGOUT TO ME
JS JSFSTK,JSSTDL ;DESCRIPTOR FOR STACK OF THINGS TO BE
;DONE ON FORK CLEAN-UP
JS JSFLCK,1 ;THE LOCK FOR THE JSFSTK STRUCTURE
JS CRJFLG,1 ;FLAG THAT THIS IS A CRJOB STARTUP.
; USED BY MEXEC AND LOGIN
JS DCNCNT,1 ;NETWORK LINK QUOTA,,COUNT
JS JSSRTM,1 ;Runtime at start of this accounting session
JS JSSCTM,1 ;Console time at start of this session
JS JSSCTI,1 ;[7456] Universal date time at start of session
JS JSATCT,1 ;ATS HTN QUOTA,,COUNT
JS JOBSKD,1 ;SPECIAL JOB SCHEDULING PARAMETER
JS BATSTF,1 ;BATCH STREAM NUMBER AND FLAGS WORD
JS BATRID,1 ;[7259]Batch request ID
JS JSBDAP,1 ;addr of DAPPT table for DAP%
;[7.1042]Any new entries to the JSB should be placed before JSSTRT so
;[7.1042]that they appear on the first page of the JSB. This is
;[7.1042]because this is the only page that is locked in core and
;[7.1042]SKDPF1 BUGHLTs will result if the scheduler tries to touch
;[7.1042]the second page.
;[7.1042]STRUCTURE TABLES, 4 WORDS PER STRUCTURE. DATA INCLUDES
;[7.1042]STRUCTURE NUMBER
JSSTMX==:4 ;NO ENTRIES PER STRUCTURE
JS JSSTRT,JSSTMX*STRN ;[7.1042]4 WORDS PER STRUCTURE
JSSTRF==:0 ;OFFSET FOR (FLAGS,,STRUCTURE UNIQUE CODE)
JSGRPS==:1 ;OFFSET FOR (AOBJN POINTER TO LIST OF GROUPS)
JSADIR==:2 ;OFFSET FOR (UNUSED,,ACCESSED DIRECTORY NUMBER)
JSFKMT==:3 ;OFFSET FOR FORK-MOUNT BIT WORD
IFG NUFKS-44,<PRINTX ?ONLY ONE WORD HAS BEEN ALLOCATED FOR FORKS IN JSFKMT>
JS JSSTLK,1 ;LOCK ON THE JSSTRT BLOCK
IFE FTNSPSRV,<
JS JSBSJB,1 ;ADDRESS OF DECNET SJB
>
IFN NETN,<JS JOBUNI,1> ;JOB UNIQUE NUMBER for ports
IFN NETN,<JS JCNTCB,MAXJCN> ;POINTER TO TCB FOR EACH JCN
;JFN BLOCK - EACH JFN USES BLOCK OF N WORDS, JFNS CAN GROW
;BEYOND END OF JSB INTO SUCCESSIVE PAGES.
; *** THIS MUST BE LAST STORAGE DEFINED IN JSB ***
;NAMES DEFINED WITH 0 OVERLAY THE NAME FOLLOWING. POSSIBLE
;BECAUSE THEY ARE USED ONLY DURING GTJFN
SETJFN ;[7.1042]Start on page JFNPG
JS(JFN0,0) ; FIRST JFN
JS(FILTMP,0) ; Lh -0 ptr to temp string block for default
; Rh -0 point to temp string block
JS (FILBFI,0) ;NEW IO - BP TO CURRENT INPUT BUFFER
JS(FILBYT) ; Byte pointers to current window
JS (FILBFO) ;NEW IO - BP TO CURRENT OUTPUT BUFFER
JS(FILPRT,0) ; Pointer to protection string or protection #
JS (FILBNI,0) ;NEW IO - INPUT BYTE NUMBER OF CURRENT BYTE
JS(FILBYN) ; Byte number of current byte
JS (FILBNO) ;NEW IO - OUTPUT BYTE NUMBER OF CURRENT BYTE
JS(FILACT,1) ; Pointer to account string or account number
JS(FILLEN) ; Total length of file in bytes
JS (FILBCI,0) ;NEW IO - BYTES REMAINING IN CURRENT INPUT BUFFER
JS(FILCNT) ; Bytes remaining in current buffer
JS (FILBCO) ;NEW IO - BYTES REMAINING IN CURRENT OUTPUT BUFFER
JS(FILLCK) ; File lock word
JS(FILSKT,0) ;ARPANET CONNECTION NUMBER,,UNUSED
JS(FILOPT,0) ; Byte pointer to store string in gtjfn
JS(FILWND) ; Lh - current page number
; Rh - location of current window
JS(FILSTS) ; Lh - file status bits
; RH - STATUS, AND MODE IN BITS 32-35
JS (FILST1) ;MORE STATUS
JS(FILDEV) ; Device dependent information
IFN ATS,<
JS (FILATB,0) ; FOR ATS, POINTER TO DATA NOT IN JOB SPACE
>
JS (FILLLB,0) ; FOR DECNET, POINTER TO LL BLOCK
JS (FILNLP,0) ; For DECnet-36, link parameters and quotas
JS (FILMTP,0) ; FOR MT ,HOLD PROTECTION WORD
JS (FILTCB,0) ; FOR TCP POINTER TO TCB FOR THIS JFN
JS(FILOFN) ; Lh - ofn for this file
; Rh - ofn of long file pt table
JS(FILLNM,0) ; RH - POINTER TO LOGICAL NAME CHAIN
; LH - POINTER TO RDTXT BUFFER
JS(FILLFW) ; LH - COUNT OF PAGES MAPPED
; Rh - location of page table table
JS(FILDDN) ; Lh - pointer to device string block
; Rh - directory number
JS(FILDNM) ; LH - DIR NAME STRING
; RH - POINTER TO ATTRIBUTE LIST (FILATL)
PFXMSK==:777 ;UP TO 512 POSSIBLE PREFIXES
NOATRF==:1B18 ;THIS ATTRIBUTE DOES NOT HAVE A VALUE
.PFACT==:1 ;ACCOUNT STRING ATTRIBUTE
.PFPRT==:2 ;PROTECTION ATTRIBUTE
.PFCOP==:3 ;SPOOLED FILE COPIES
.PFFRM==:4 ;SPOOLED FILE FORMS
.PFALC==:5 ;PREALLOCATE FILE SPACE
.PFBLK==:6 ;MAGTAPE BLOCK LENGTH
.PFEXP==:7 ;MAGTAPE EXPIRATION DATE
.PFFMT==:10 ;MAGTAPE RECORD FORMAT
.PFPOS==:11 ;MAGTAPE POSITION
.PFRLN==:12 ;MAGTAPE RECORD LENGTH
.PFUDT==:13 ;NETWORK USER I.D.
.PFPWD==:14 ;NETWORK ASCII PASSWORD
.PFBPW==:15 ;NETWORK BINARY PASSWORD
.PFACN==:16 ;NETWORK ACCOUNT STRING
.PFOPT==:17 ;NETWORK OPTDATA FIELD
.PFBOP==:20 ;NETWORK BINARY OPTDATA
.PFACC==:21 ;MAGTAPE ACCESS
.PFEXP==:22 ;MAGTAPE EXPIRATION DATE
.PFOFL==:23 ; OFFLINE file attribute
.PFTCN==:24 ;TCP CONNECTION
.PFTPR==:25 ;TCP PERSIST
.PFTTM==:26 ;TCP TIMEOUT
.PFTTS==:27 ;TCP TYPE OF SERVICE
.PFTSC==:30 ;TCP SECURITY
.PFTCM==:31 ;TCP COMPARTMENTS
.PFTHR==:32 ;TCP HANDLING RESTRICTIONS
.PFTTC==:33 ;TCP TRANMISSION CONTROL
.PFTLH==:34 ;TCP LOCAL HOST
.PFTFH==:35 ;TCP FOREIGN HOST
JS(FILNEN) ; Lh - pointer to file name string block
; Rh - pointer to extension string block
JS(FILVER) ; Lh - fork number of originator of this jfn
; Rh - version number
JS(FILMS1) ; LH- DIRECTORY WILD MASK
; RH- NAME WILD MASK
JS(FILIDX,0) ; RH - INDEX INTO DEVICE TABLES FOR THE
; ORIGINAL DEVICE GTJFN'ED. I.E.
; DOES NOT CHANGE DURING SPOOLING
JS(FILMS2) ; LH- EXTENSION WILD MASK
JS (FILBCT,0) ;FOR DECNET, POINTER TO COUNTS
JS(FILFDB) ; ADDRESS OF THE FDB IN THE DIRECTORY
JS(FILCOD) ;C(LH) := STRUCTURE UNIQUE CODE
;C(RH) := PT0 OFN FOR LONG FILE
JS FILNND,1 ; DECNET PORT # ,, PTR TO NODE NAME STRING
JS FILZZZ,0 ;END OF JFN BLOCK
MLJFN==:FILZZZ-JFN0 ; # OF WORDS PER JFN BLOCK
MJFN==:<<JSJFNA-JFNPGA>/MLJFN> ;[7.1042]MAX NUMBER OF JFNS
RJFN==:MJFN*MLJFN ;ACTUAL SPACE USED BY JFNS
;GLOBAL job defintions
; IFN CFSCOD,<
JBPCKT==:^D32 ;Jobs in a packet
LCLPKT==:2 ;[7.1220] Number of packets for jobs initially
MXGLBS==:^D511 ;Max global jobs
JBWDS==:<MXGLBS+^D35>/^D36 ;Words of bits needed
MXPKTS==:MXGLBS/JBPCKT ;Max packets
RS GBLCNT,1 ;[7.1220] Count of global jobs we are using
RS JOBMBT,JBWDS ;Allocate the table
RS JOBGLB,<MXGLBS+2>/3 ;Length of global to local table
RSI GLBPTR,<<POINT ^D12,JOBGLB>> ;Inital byte pointer (to global job 1)
; > ;IFN CFSCOD
;PROCESS-PRIVATE AREA
DEFINE ASNPSB (P,N)<
PSV (P'A,N*PGSIZ)
P=:P'A_-PGSFT>
ASNPSB PSSPS,0 ;START OF PSB SPECIAL PAGES,MUST BE FIRST
ASNPSB CXBPG,1 ;SWAPPER, MAP TEMP
ASNPSB CPTPG,1 ; ..
ASNPSB CPYPG,1 ; ..
ASNPSB PSSPE,0 ;END OF PSB SPECIAL PAGES
ASNPSB FPG0,1 ;FORK UTILITY PAGES
ASNPSB FPG1,1 ;[7433]NOTE: FPG1 and FPG2 must be
ASNPSB FPG2,1 ;[7433] contiguous for SETJSB in FORK.MAC
ASNPSB FPG3,1 ; ..
NPSIPG==:2 ;# OF PAGES FOR PI STORAGE
ASNPSB PSIPG,NPSIPG ;PSI IN PROGRESS STORAGE
;* * * * *
;These can be removed after other modules are fixed
; * * * * *
NIDXPG==:^D16 ;NUMBER OF PAGES FOR THE INDEX
ASNPSB IDXPG,0 ;Start of index table
NDG DRMASZ,0 ;Size of directory
ASNPSB DIRPG,DRMASZ ;DIRECTORY WINDOW
NDDTPG==:3 ;NUMBER OF PAGES FOR MDDT
ASNPSB DDTPX,NDDTPG ;MDDT PRIVATE SEGMENT
;DDTPGA is defined in POSTLD as an arbitrary place in the symbol section.
;FROM HERE TO THE END OF THE PSB ARE MAGIC PAGES. THEY NEED TO LIVE
;TOGETHER AT THE END.
ASNPSB UPTPG,1 ;USER SECTION 0 PAGE TABLE
ASNPSB HWPT,0 ;HARDWARE VARIABLES IN PSB
ASNPSB PSBPG,1 ;PROCESS CONTEXT VARIABLES
ASNPSB PS2PG,1 ;PSB ADDITION (STACK AND WS), MUST BE LAST
PSBMSZ==:<<PS2PGA-PSSPSA>_-PGSFT>+1 ;SIZE OF PSB (PAGES)
;MACROS FOR DECLARATION OF STORAGE
;PSB STORAGE
DEFINE TS(T,N)<
T=:PSBPGA+TSBLOC
IFB <N>,<
TSBLOC==TSBLOC+1>
IFNB <N>,<
TSBLOC==TSBLOC+N>
>
;PROCESS STORAGE BLOCK ASSIGNMENTS
TSBLOC==0 ;INITIAL VALUES
TS UACB,NUACB ;MONITOR-CALL AC STACK
TS EUACB,0 ;END
TS JOBNO,1 ;JOB NUMBER TO WHICH THIS FORK BELONGS
TS JOBBIT,1 ;SCHEDULER CONTROL BITS
TS FNPMAX,1 ;MAX NUMBER PAGES IN WS FOR THIS FORK
TS JOBCK0,1 ;VARIABLES FOR SCHEDULER TIME QUARANTEE
TS JOBCK1,1 ; ..
TS RUNT2,1 ;RUNTIME FRACTIONAL PARTS OF A MILLISECOND
NLFKS==:NUFKS ;MAX NUMBER FORK HANDLES/PROCESS
TS FKTAB,NLFKS/2 ;LOCAL FORK HANDLE TO JOB HANDLE TABLE
TS FORKN,1 ;JOB FORK NUMBER OF TOP FORK,,THIS FORK
TS FKRT,1 ;FORK RUN TIME
TS PRARGP,1 ;POINTER TO PROCESS ARGUMENTS
TS MPP,1 ;MONITOR SAVED STACK POINTER AT LAST MENTR
TS(PRIMRY,1) ; Primary io indirection pointers
TS SLOWF,1 ;SLOW MON ROUTINE FLAG
TS INTDF,1 ;DEFER INTERRUPTS IF .GE. 0
TS INTDFF,1 ;SOS INTDF OR JSYS PSISV1
TS MJRSTF,1 ;JRSTF @FPC OR JRST PSISV0
TS ACBAS,1 ;CURRENT AC STACK POINTER
TS ITFFL,1 ;FLAGS ON INTERRUPT TO MEXEC ***MUST STAY WITH ITFPC
TS ITFPC,1 ;PC ON INTERRUPT TO MEXEC
TS TRPID,1 ;IDENT OF PT OR PAGE CAUSING TRAP
TS TRPPTR,1 ;STORAGE ADDRESS OR POINTER CAUSING TRAP
TS UAC,20 ;USER AC'S (FROM BLOCK 1)
TS PAC,20 ;PROCESS AC'S
TS PFL,1 ;PROCESS FLAGS ***MUST STAY WITH PPC
TS PPC,1 ;PROCESS PC
TS NSKED,1 ;NO-SCHEDULE WORD
TS RSKED,1 ;NO-SCHEDULE TRAP
NTSK==:133 ;SIZE OF PAGER TRAP STACK
TS TRAPSK,NTSK ;STACK USED DURING PAGER TRAPS
TS TRAPAP,1 ;PAGE TRAP SAVED P
TS TRAPC,1 ;PAGER TRAP RECURSION COUNT
TS UTRSW,1 ;SAVED PAGE FAIL WORD FOR USER
TS UTRPCT,1 ;COUNT OF PAGER TRAPS FOR THIS PROCESS
TS USWPCT,1 ;COUNT OF SWPINW CALLS FOR THIS PROCESS
TS PTTIM,1 ;TIME SPENT IN PAGER TRAPS
TS LSTXGR,1 ;TIME (FKRT) OF LAST XGC
TS FKTLST,1 ;LOST TIME WHILE CLOCK TURNED OFF
TS CRSKED,1 ;IN CRITICAL SECTION IF NON-0
TS SKDFL,1 ;SCHEDULER TEMP (RETURN FLAGS)
TS SKDPC,1 ;SCHEDULER TEMP (RETURN) **MUST STAY WITH SKDFL
TS MONBK,1 ;INTERRUPT TO MONITOR IF NON-0
TS LSTIPC,1 ;PC OF LAST JSP T2,ITRAP1
TS PSIPT,1 ;PSI STORAGE LIST POINTER
TS PIOLDS,1 ;FKSTAT PRIOR TO PSI IF WAS WAITING
TS LEVCHN,1 ;LEVEL TABLE,,CHANNEL TABLE ADDRESSES
TS PSISYS,1 ;NON-0 IF PSI SYSTEM OFF
TS MONCHN,1 ;CHANNELS RESERVED BY MONITOR
TS PSICHA,NTERMI/6 ;CHANNEL ASSIGNED TO TERM CODE
TS PIMSK,1 ;PSI REQUEST WORD BEING PASSED TO PSI SERVICE
TS PSIBW,1 ;BREAK WAITING WORD
TS FORCTC,1 ;CHANNEL WHICH CAUSED FORCED FORK TERMINATION
TS PSICHM,1 ;CHANNEL ENABLED WORD
TS SUPCHN,1 ;CHANNELS RESERVED BY SUPERIOR
TS ENSKR,4 ;SCHEDULER TEMP (RETURN)
;LEAVE ROOM FOR HARDWARE STORAGE
;Definition of offsets in the UPT
;WARNING: THESE VARIABLES MUST BEGIN AT OFFSET 420. THE CURRENT
;DEFINITIONS THAT PRECEDE THIS WARNING CREATE 420 WORDS. NO WORDS
;MAY BE ADDED WITHOUT MOVING AN EQUAL NUMBER BEYOND OFFSET 600
IFN TSBLOC-420,<PRINTX ?PSB STORAGE NOT ALIGNED TO HDWR BOUNDARY>
;CELLS IN USER PROCESS TABLE (UPT)
IFN KLFLG,<
UPTPPM=:HWPTA+400 ;PER-PROCESS MAP ORIGIN
NPPMPG==40 ;NUMBER OF ENTRIES (2/WORD) IN PP MAP
UPTTPI=:HWPTA+420 ;TRAP INSTRUCTIONS
KLLUUO=:HWPTA+420 ;LUUO TRAP ADDRESS
UPTOVI=:HWPTA+421 ;OVERFLOW TRAP INSTRUCTION
KIMUFL=:HWPTA+424 ;MUUO FLAGS
KIMUPC=:HWPTA+425 ;MUUO PC
KIMUEF=:HWPTA+426 ;EFFECTIVE ADDRESS
KIMPCW=:HWPTA+427 ;PROCESS CONTEXT WORD
UPTPCW=:HWPTA+427 ;PROCESS CONTEXT WORD
UPTDSP=:HWPTA+430 ;DISPATCH VECTOR-UUO NEW PC WORDS
USECTB=:HWPTA+540 ;USER SECTION TABLE
UPTPFW=:HWPTA+500 ;PAGE FAIL WORD
TRAPS0==:UPTPFW ;PAGE FAIL WORD USED DIRECTLY
UPTPFL=:HWPTA+501 ;PAGE FAIL OLD FLAGS WORD
UPTPFO=:HWPTA+502 ;PAGE FAIL OLD PC WORD
UPTPFN=:HWPTA+503 ;PAGE FAIL NEW PC WORD
TRAPFL==:UPTPFL ;GENERIC LOCATION FOR OLD FLAGS
TRAPPC==:UPTPFO ;GENERIC LOCATION FOR OLD PC
> ;END OF IFN KLFLG
IFN KCFLG,<
UPTPPM=:HWPTA+400 ;PER-PROCESS MAP ORIGIN
NPPMPG==40 ;NUMBER OF ENTRIES (2/WORD) IN PP MAP
UPTTPI=:HWPTA+420 ;START OF AREA COPIED TO NEW PROCESS
KLLUUO=:HWPTA+420 ;LUUO TRAP ADDRESS
UPTOVI=:HWPTA+421 ;FIRST OVERFLOW TRAP INSTRUCTION
KIMUFL=:HWPTA+424 ;MUUO OLD FLAGS
KIMUPC=:HWPTA+425 ;MUUO OLD PC
KIMUEF=:HWPTA+426 ;MUUO EFFECTIVE ADDRESS
KIMOAC=:HWPTA+427 ;MUUO OP CODE AND AC
KCPFCD=:HWPTA+451 ;PAGE FAIL CODE
KCPFVA=:HWPTA+452 ;PAGE FAIL VIRTUAL ADDRESS
KCPFPA=:HWPTA+453 ;PAGE FAIL PHYSICAL ADDRESS
KCPFD1=:HWPTA+454 ;PAGE FAIL ADDITIONAL DATA 1
KCPFD2=:HWPTA+455 ;PAGE FAIL ADDITIONAL DATA 2
KCPFOF=:HWPTA+456 ;PAGE FAIL OLD FLAGS WORD
KCPFOP=:HWPTA+457 ;PAGE FAIL OLD PC WORD
KCPFNF=:HWPTA+460 ;PAGE FAIL NEW FLAGS
KCPFNP=:HWPTA+461 ;PAGE FAIL NEW PC WORD
USSPTB=:HWPTA+520 ;USER SUPER SECTION TABLE
USECTB=:HWPTA+540 ;USER SECTION TABLE
TRAPFL==:KCPFOF ;GENERIC LOCATION FOR OLD FLAGS
TRAPPC==:KCPFOP ;GENERIC LOCATION FOR OLD PC
> ;END OF IFN KCFLG
FFL==:KIMUFL ;MENTR-MRETN PC
FPC==:KIMUPC ;MENTR-MRETN PC
TSBLOC=600 ;END OF RESERVED SLOTS
;More of the PSB, below the UPT locations
TS PIOLD2,1 ;FKSTA2 PRIOR TO PSI IF WAS WAITING
TS PSIBIP,1 ;BREAK IN PROGRESS WORD (LEVELS)
TS ADRBRK,1 ;ADDRESS BREAK INFO
TS ADRBK1,1 ;ADDRESS OF INSTRUCTION CAUSING ADDR BREAK
TS ADRBAD,1 ;LAST BREAK REFERENCED THIS ADDRESS
IFN KCFLG,<
TS ADRBUP,1 ;UPPER BOUND ADDRESS FOR ADDRESS BREAK
> ;END OF IFN KCFLG
TS FRKNOP,1 ;CONTAINS A NOP OR MDDT BREAKPOINT
;TS MONFL,1 ;TEMP MONITOR PC AND FLAGS
;TS MONPC,1 ;MUST STAY TOGETHER ****
TS PIFL,1 ;SAVED FLAGS MUST STAY WITH PIPC *****
TS PIPC,3 ;SAVED PC DURING INITIAL PI SERVICE
; CALLED WITH XPCW
TS FKTOFF,1 ;TIME AT WHICH CPU CLOCK TURNED OFF
TS NWSCE,1 ;NUMBER OF ENTRIES IN WS CACHE
TS LSTXGT,1 ;TIME (TODCLK) OF LAST XGC
TS UMUUOW,2 ;SAVE MUUO WORD FOR USER
TS KIMUU1,2 ;LAST UUO WORD FROM USER
TS PSLEVT,1 ;ADDRESS OF USER'S LEVEL TABLE
TS PSCHNT,1 ;ADDESS OF USER'S CHANNEL TABLE
TS PSBITS,1 ;MISCELLANEOUS PER PROCESS BITS
TS TRPDSP,1 ;DISPATCH FOR MON ILLEG MEM REF
TS HPSWRN,1 ;TIME TO FLAG EXCESSIVE HP SCHEDULING
TS DDPFRK,1 ;1=) This is DDMP fork
TS PSBSAB,1 ;ADDRESS OF DECNET SAB INDIRECT TABLE
IFN <FTKLIPA>,<
TS SCSTMQ,1 ;Head pointer for SCS% message queue
TS SCSBMQ,1 ;Tail pointer for SCS% message queue
TS SCSTDQ,1 ;Head pointer for SCS% datagram queue
TS SCSBDQ,1 ;Tail pointer for SCS% datagram queue
TS SCSTXQ,1 ;Head pointer for SCS% DMA xfer queue
TS SCSBXQ,1 ;Tail pointer for SCS% DMA xfer queue
TS SCSTEQ,1 ;Head pointer for SCS% event queue
TS SCSBEQ,1 ;Tail pointer for SCS% event queue
TS SCSPS0,1 ;PSI channels for msg avail,,dg available
TS SCSPS1,1 ;PSI channels for DMA avail,,events
TS SCSTCQ,1 ;Head pointer for CB queue
TS SCSBCQ,1 ;Tail pointer for CB queue
TS SCSTXN,1 ;Head pointer for list of DMA buffer names
TS SCSBXN,1 ;Tail pointer for list of DMA buffer names
>
; ** KEEP EVLNTH/EVADDR TOGETHER IN ORDER
TS EVLNTH,1 ;ENTRY VECTOR LENGTH
TS EVADDR,1 ;ENTRY VECTOR ADDRESS
; ** KEEP EVLNTH/EVADDR TOGETHER IN ORDER
TS PATLEV,1 ;PA1050 ENTRY VECTOR LENGTH
TS PATADR,1 ;10/50 COMPATABILITY ENTRY VECTOR
; ** KEEP PATLEV/PATADR TOGETHER IN ORDER
TS PATU40,1 ;WHERE TO STORE C(40), SETUP AS UMOVEM 1,XX
TS PATUPC,1 ;WHERE TO STORE PC, SETUP AS UMOVEM 1,YY
TS DMSLEV,1 ;RMS (FORMERLY DMS) ENTRY VECTOR LENGTH
TS DMSADR,1 ;RMS (FORMERLY DMS) ENTRY VECTOR
; ** KEEP DMSLEV/DMSADR TOGETHER IN ORDER
TS DMSU40,1 ;WHERE TO STORE C(40) ON DMS CALL
TS DMSUPC,1 ;WHERE TO STORE PC OF DMS CALL
IFN CLEQIN,< ;[7.1072] If cluster ENQ support present
TS(ENQWRD,1) ;[7.1072] Word used for cluster ENQ/DEQ
EQ%ENA==:1B0 ;[7.1138] If set, .ENECL was done by process
> ;[7.1072]
TS(CAPMSK,1)
TS(CAPENB,1)
TS(SNPPGS,1) ; PAGES LOCKED DOWN FOR SNOOPING
; XWD COUNT ,, PAGE # OF FIRST PAGE
TS(SNPLST,1) ; XWD FLAGS ,, LINK TO 1ST BP FOR FORK
TS(LSTERR,1) ; Last error number
TS (PDVS,1) ; Pointer to PDV block
NERRSV==:4 ; NUMBER OF ERROR PARAMETERS
TS(ERRSAV,NERRSV) ; Block of error parameters
TS(PSBMAP,PSBMSZ) ;MAP FOR PROCESS AREA
PSBM0=:PSBMAP-PSSPS ;BEG OF PSBMAP RELATIVE TO VIRT P G 0
PPLOW==:<PSBMAP-PSBPGA>+<PSSPEA-PSSPSA>/PGSIZ ;LOWEST NON-SPECIAL PAGE IN PP AREA
PPHI==:<PPLOW+<UPTPGA-PSSPEA>/PGSIZ>-1 ;HIGHEST NONSPECIAL PAGE
; STORAGE ASSOCIATED WITH JSYS TRAPS
TS JTBLK,1 ; FKJTB+forkn for this fork
TS JTLCK,1 ; Lock on jsys traps to monitor (this)
; fork; protects JTTRW and allows only
; one jsys trap interrupt at a time to
; this monitor
TS JTTRW,1 ; Jsys Trap Trap Word
; (set by interrupting fork)
; Contains trapping instruction
TS JTTFK,1 ; Forkn of trapping fork
TS JTMNW,1 ; Jsys Traps Monitor fork Word
; B12-B17: monitor's PSI channel,
; 77 means don't PSI this montior
; RH: forkn of mon interrupted (PSI'd)
TS PNSKDC,1 ;NOSKED'S DONE BY DIAG AND OTHER
; RESOURCE MONGERS
TS ARTHTR,1 ;USER-SPECIFIED ARITHMETIC TRAP
TS PDOVTR,1 ;ADDRESS OF USER'S BLOCK FOR PDL OVERFLOW
TS CRTRGN,1 ;FLAG TO INDICATE CODE NOW
; IN CRITICAL REGION OF MONITOR.
; INHIBITS REMOVAL FROM BALSET
TS STRWRD,1 ;FLAGS,,# OF STRUCTURES MOUNTED BY FORK.
; THIS NUMBER MAY NOT BE ACCURATE AS IT
; IS NOT DECREMENTED WHEN A DRIVE IS
; REMOVED FROM THE SYSTEM, AND THE FORK
; HAS NOT DECREMENTED IT. THE COUNT IS
; USED AT KSELF TIME TO SEE IF IT IS
; NECESSARY TO GO THRU EXTRA STRUCTURE
; CODE.
TS FKXORA,1 ;FORK IDXORA DURING CREATION OF STRUCTURE
TS LOKHI,1 ;INDEX OF HIGHEST LOCK HELD AT THIS TIME
; Variables in psb associated with DIRECTORIES
TS(DRLOC,1) ;LOCATION IN DIR DURING SEARCHES
TS(DRINP,1) ;POINTER TO INPUT NAME DURING LOOKUP
TS(DRINL,1) ;LENGTH OF INPUT STRING
TS(DRMSK,1) ;MASK OF 0 BITS IN LAST WORD OF STRING
TS(DRSCN,1) ;POINTER TO FDB LINK DURING LOOKUPS
TS(DRREC,1) ;[7.1014] Count of recognized characters for partial recignition
TS(DROFN,1) ;RH = OFN OF LAST DIRECTORY MAPPED
;LH = LAST FDB CHECKED
TS(DRMAP,1) ;ADDRESS OF MAP PAGE WHEN SEC2
TS (DIRCAD,1) ;CACHE ADDRESS OF LAST MAPDIR
TS(IDXMAP,1) ;ADDRESS OF IDX TABLE PAGE MAP WHEN EXTENDED ADDRESSING
TS(STRINF,1) ;FILE STRUCTURE INFORMATION
FTDYN <
TS CTSSBK,1 ;Pointer to Canonical Terminal Support (CTS)
; State Block
> ;End of Conditional Assembly
IFN KNIN,<
TS UPLIST,1 ;Pointer to portal list block for NI% JSYS
>
IFG TSBLOC-1000,<
PRINTX ?PSB STORAGE OVERFLOWS ONE PAGE>
TSBLOC=1000 ;PUT WS CACHE AT START OF SECOND PAGE
WSCNCW==:200 ;SIZE OF WS CACHE - MUST MATCH VALUES IN PAGEM
TS WSCSH,WSCNCW ;WORKING SET CACHE
;PSI STACK AND ACS
NPIPDL==:55 ;SIZE OF PSI STACK
;*** NOTE, THIS VALUE SHOULD BE
;GREATER THAN THE VALUE NUFKS.
;HOW MUCH GREATER IS VARIABLE, BUT
;IT SHOULD BE AT LEAST 2 MORE.***
TS PIPDB,NPIPDL ;PSI ROUTINES STACK
TS PIAC,20 ;SAVED USER AC'S DURING BREAK START
NUPDL==:400 ;SIZE OF MONITOR CALL STACK
UPDL=:PSBPGA+2*PGSIZ-NUPDL ;PUT UPDL AT TOP OF STACK PAGE
IFL <2*PGSIZ-NUPDL-TSBLOC>,<PRINTX ?PSB Variables and Stack Conflict>
;SWAPPABLE PATCH AREA:
SWAPCD ;PUT SWPF IN SWAP MONITOR CODE
SWPF2::
SWPF1::
SWPF:: XLIST
REPEAT 100,<0>
LIST
;THIS IS THE PATCH SPACE FOR THE RESIDENT MONITOR.
RSI FFF2,<>,0
RSI FFF1,<>,0
RSI FFF,<>,FFFSZE
;THE FOLLOWING MUST BE THE FIRST RESIDENT CODE LOADED
RESCD
;ASSEMBLE THE COPYRIGHT NOTICE SO THAT IT WILL BE SEEN IF
;ANYONE DUMPS THE EXE FILE OR MEMORY
DEFINE $ASCIZ (TEXT)<
ASCIZ /TEXT/>
CPYRYT ($ASCIZ) ;CALLS ITS ARG WITH NOTICE TEXT
;PARAMETER DEPENDENT DEVICE CODE
;DTE
PROFLG::1 ;IF 0 DON'T GO INTO PRIMARY PROTOCOL
DTSCNW::0 ;HOLD CONO WORD FOR MASTER DTE
MSTRDT::0 ;ID OF MASTER DTE
IFG DTEN,< ;DTE STORAGE
PWRFLE::CALL DTEPWF ;TELL MASTER -11 OF POWER FAIL
RS FEFLG,1 ;USE 2ND PROTOCOL UNITL FURTHER NOTICE
RS FEDBSW,1 ;FE DEBUG SWITCH
RS FEDBST,1 ;FE DEBUG STATE, TOGGLED BY .DFDBG MSG
RSI SVDTRJ,<0,JRST SVDTAC> ;DOES A JSR TO HERE
QQ==0 ;GENERATE INT VECTOR
DTETRP::REPEAT DTEN,<DTEINN \QQ ;DO ONE
QQ==QQ+1> ;DO ALL DTE'
QQ==0 ;NOW DO INTERRUPT CODE
REPEAT DTEN,<DTEPRO \QQ ;DO ONE
QQ==QQ+1> ;AND DO ALL
QQ==0
CNDO:: REPEAT DTEN,<CONO DTE0+QQ,
QQ==QQ+4> ;DO ALL DTE'S
QQ==0
DATO:: REPEAT DTEN,<DATAO DTE0+QQ, ;THE DATAO TABLE
QQ==QQ+4> ;DO ALL DTE'S
DTESTK::IOWD DTESZ,DTESKP ;DTE LOCAL STACK
>
IFE DTEN,< ;IF NO DTE
PWRFLE::JFCL ;NO SPECIAL POWER FAIL CODE
>
IFE DCN,< ;IF NO DECNET SUPPORT
SCSWJF::RET ;SWJFN% hook, called from JSYSF
IFN FTNSPSRV, DEDMCB::
IFN FTNSPSRV, NSPSPC::
NSPQ:: BUG.(HLT,NSPUDF,STG,SOFT,<Unsupported network function>,,<
Cause: If the monitor is not built for DECnet (DCN is 0), and a DECnet
utility routine is called, this BUGHLT will occur. Invoking the
following routines will cause this BUGHLT: DEDMCB (shut links to dead
MCB), NSPSPC (get a network buffer), and NSPQ (put a message in the
scheduler queue).
Action: Use a monitor built for DECnet.
>)
IFN FTNSPSRV,<
NODINI::
NSPINI::RET ;NOTHING TO DO
;ROUTINE TO INITIALIZE NODE NAME TO NULL FOR NON-DECNET SYSTEM
NAMINI::SETZM OURNAM ;NO NODE NAME
SETZM OURCNT ;NO CHARACTERS IN NAME
RET
XSWAPCD ;[7.1203]
.NODE:: XJRST [MSEC1,,UJSYS0] ;[7.1203]UNDEFINED IF NO DECNET SUPPORT
RESCD ;[7.1203]
>
IFE FTNSPSRV < ;.NODE jsys for 6.1, needed for LAT and GALAXY
; The NODE% jsys when DCN is = 0 supports only functions .NDSLN and .NDGLN,
; i.e. set and read DECnet host name. These functions are needed for LAT and
; GALAXY.
XSWAPCD ;[7.1203]
.NODE:: MCENT ;JSYS entry
UMOVE T1,1 ;Get function code
CAIN T1,.NDSLN ;Set local name?
JRST NODSLN ; -yes, go set it
CAIN T1,.NDGLN ;Get local name?
JRST NODGLN ; -yes, go get it
ITERR (ARGX02) ;Neither, return error
;NODSLN - set local host name
NODSLN: MOVE T1,CAPENB ;Privs required
TXNN T1,SC%WHL!SC%OPR ;WHEEL or OPERATOR
ITERR (CAPX1) ; -too bad
UMOVE T2,2 ;GET ADDRESS OF USER'S ARGUMENT BLOCK
UMOVE T1,.NDNOD(T2) ;GET POINTER TO STRING IN USER SPACE
MOVEI T2,OURNAM ;WE'LL WRITE PARSED NAME TO OURNAM
CALLX (MSEC1,PARNDU) ;[8853] Make sure node name is kosher
ITERR() ;[9115] Failed, tell caller why
MOVEM T2,OURCNT ;REMEMBER LENGTH OF OURNAM
CALL CLNODC ;[9036] (/) Now let everyone in the cluster know
MRETNG ;Give good return
;NODGLN - get local host name
NODGLN: MOVE T1,[POINT 7,OURNAM] ;Get bp to node name
MOVE T2,OURCNT ;Count of bytes
UMOVE T3,2 ;GET USER'S POINTER TO ARG BLOCK
UMOVE T3,.NDNOD(T3) ; FROM WHICH GET HIS BYTE POINTER
TLC T3,-1 ;IS LH OF DESTINATION PTR -1?
TLCN T3,-1
HRLI T3,(POINT 7,) ;YES, RESOLVE IT
DO. ;LOOP
ILDB T4,T1 ; Get next byte
JUMPE T4,ENDLP. ; Exit loop if null byte
XCTBU [IDPB T4,T3] ; Deposit byte into user space
SOJG T2,TOP. ; Loop back if more bytes to do
SETZ T4, ; otherwise end with a null byte
ENDDO.
MOVE T2,T3 ;Get user byte pointer (dont destroy T3)
XCTBU [IDPB T4,T2] ;Write null byte
UMOVE T1,2 ;GET USER'S POINTER TO ARG BLOCK
UMOVEM T3,.NDNOD(T1) ;SAVE ADJUSTED DESTINATION POINTER
MRETNG ;Give good return
RESCD
>
.NTMAN::JRST UJSYS0 ; "
DCOPNM==:0 ;DEFAULT OF 0 IF NO DECNET
EVRKIL:: ;DECNET DUMMY ROUTINES
DIMLNK::RET
RSI OURNAM,<ASCII /TOPS20/>,WPN ;SPACE TO HOLD LOCAL NODE NAME
RSI OURCNT,6 ;COUNT OF CHARS IN "OURNAM"
IFE FTNSPSRV,< ;Dummys for DCN=0 and 6.1
NSPCG::
NSPJB0::
NSPCR::
RTRSEC::
SCTSEC::
SCLGOU::
OBJINI::
CTHINI::
MCSRV::
REQNS::
RELSAB::RET
TNUKIL::RETSKP
CTHNGU::
SCTINI::
SCJINI::
RTRON::
DTIPPI::
CTHTXT::
XJRST [MSEC1,,.+1] ;In case we arent in section 1
BUG.(CHK,NODCN,STG,SOFT,<No DECnet>,,<
Cause: The monitor is built without DECnet, and a function that should never
be called was called. This is a software bug.
Action: If this BUGCHK can be reproduced, change it to a BUGHLT and submit an
SPR along with instructions on reproducing the problem.
>,R)
> ;End of IFE FTNSPSRV
> ;END OF IFE DCN
IFE MTAN,< ;IF NO MAGTAPES (YOU LUCKY DEVIL)
RELMT::RET> ;DUMMY ROUTINE
IFE ATS,< ;IF NO APPLICATIONS TERMINAL SERVICE
ATSINI::HRLOI T1,377777 ;SET ATS TIMER NOT TO GO REQUIRE WAKEUP
MOVEM T1,ATSTYM
DOATSQ::RET ;FOR NSPTSK - DON'T DO ANYTHING
CKATSQ:: ;FOR NSPTST - DON'T WAKEUP
CHKATS::RETSKP ;DUMMY CHKATS - INDICATES NOT AN ATS JFN
.SINM:: JRST UJSYS0 ;UNDEFINED IF NO ATS SUPPORT
.SOUTM::JRST UJSYS0 ;UNDEFINED IF NO ATS SUPPORT
>
IFE FTNSPSRV,< ;BEGINNING OF LARGE CONDITIONAL
;Define dummy symbols for TTYSRV when a particular
;line type is not turned on.
DEFINE TLAB (TDLST),<
XLIST ;DON'T BE VERBOSE IN LISTING
IRP TDLST,<...TLB TDLST> ;DO GROUPS IN THE CALL
LIST ;LISTING BACK TO NORMAL
>
DEFINE ...TLB(TDLST),<..TLAB (TDLST)> ;BREAK IT DOWN INTO 2 ARGS
DEFINE ..TLAB(TYLST,LAB),<IFE .'TYLST'FLG,<LAB::>> ;DEFINE THE DUMMY SYMBOL
;Dummy TDCALL labels
TLAB <<FE,BIGST2>,<PT,CHKPTA>,<CH,CHRRH>,<MC,CKMCOU>>
TLAB <<PT,CKPTOU>,<CH,CTHCKI>,<CH,CTHCLI>,<CH,CTHEXF>>
TLAB <<CH,CTHFOU>,<CH,CTHLGO>,<CH,CTHNRT>,<CH,CTHOOE>>
TLAB <<CH,CTHPPC>,<CH,CTHSBM>,<CH,CTHSLN>,<CH,CTHSFM>,<CH,CTHSOF>>
TLAB <<CH,CTHSPR>,<CH,CTHOBS>,<CH,CTHSSP>,<CH,CTHSTO>> ;[7.1024]
TLAB <<CH,CTHSWD>,<CH,CTHTCI>,<CH,CTHTYP>,<FE,FEDABL>>
TLAB <<CH,CTHASC>,<CH,CTHBIN>,<CH,CTHTID>>
TLAB <<FE,FENTM>,<FE,FESTRO>,<LH,LHRRH>,<LH,LTCOBF>>
TLAB <<LH,LTEXF>,<LH,LTHNGU>,<LH,LTSALL>,<LH,LTSOF>>
TLAB <<LH,LTSTRO>,<LH,LTTCOU>,<MC,MCCKSA>,<MC,MCCOBF>>
TLAB <<MC,MCEXF>,<MC,MCHNGU>,<MC,MCLNON>,<MC,MCRRH>>
TLAB <<MC,MCSBEF>,<MC,MCSTRO>,<MC,MCSXON>,<MC,NRTSOF>>
TLAB <<PT,PTYCTM>,<FE,SNDXN2>>
TLAB <<FE,SNDXO2>,<PT,STPAR5>,<PT,STRTO2>,<PT,TCIPTY>>
TLAB <<CH,TTC7MC>,<MC,TTC7MC>,<PT,TTC7S2>,<TV,TTC7SN>>
TLAB <<FE,TTCHI3>,<FE,TTCHNL>,<FE,TTCOB4>>
TLAB <<FE,TTEXF>,<FE,TTHU2>,<FE,TTMSAL>>
TLAB <<PT,TTMSNO>,<FE,TTMSSN>,<FE,TTSBEF>,<FE,TTSETF>>
TLAB <<FE,TTSNT1>,<FE,TTSSP2>,<FE,TTTOBL>>
TLAB <<FE,TTXON1>,<TV,TVMSNT>,<TV,TVRRH>,<TV,TVTCOB>>
TLAB <<TV,TVTCSO>,<TV,TVTDET>,<TV,TVTDTS>,<TV,TVTIGA>,<TV,TVTPAR>>
;This instruction must follow the last TLAB def for all
;dummy TDCALLs labels
JRST TTBUGH ;IF WE REACH HERE, BADTTY BUGHLT
IFE .MCFLG,<
TTMCNU::RETSKP
NRTINI::RET
>;END IFE .MCFLG
IFE .FEFLG,< ;DUMMY SYMBOLS FOR FE
CKNOIS::
TTTOBL::RET
>
>;END OF LARGE IFE FTNSPSRV
;BUFFER ADDRESSES
LPTRLP::
XX==0
REPEAT LPTN,<
-NLPBF,,LPTBUF+XX
XX=XX+2*NLPBF>
;TTYSRV
IFL NTTBL1-NTTBL,<PRINTX ?NTTBL IS GREATER THAN NTTBL1. THAT IS AN ERROR.>
; Wake #InBufs #OutBfs MaxInChars MaxOutChars
IBFRC:: EXP <^D20>B7 +<NTTBL>B11+<NTTBL>B15 +<NTTBL*NCHBF-1>B25+<NTTBL*NCHBF-2>B35
IBFRC1::EXP <^D100>B7+<NTTBL>B11+<NTTBL1>B15+<NTTBL*NCHBF-1>B25+<NTTBL1*NCHBF-2>B35
OVRBCT==:1 ;NUMBER OF EXTRA BUFFERS FOR HIGH SPEED LINES
;GLOBAL CONTROL FLAGS
DRUMP:: DRMN ;1 = SWAP ON DRUM, 0 = SWAP ON DSK,
;-1 = DO NOT SWAP
NSWPGS::SWDST ;NUMBER OF SWAP PAGES TO ALLOCATE
RSI PRELDF,0 ;NO PRELOADING IF 0
SWRSAF::1 ;REASSIGN SWAP ADDRESSES IF .G. 0
POSPGF::1 ;POST PURGE IF .G. 0
SMLKF:: 0 ; .G 0 MEANS LOCK SWPMON IN CORE,
; .E 0 MEANS DEMAND PAGE SWPMON
CTYTYP::TYPCTY ;LINE TYPE FOR CTY
RS KLILNO,1 ;KLINIK LINE NUMBER
PSNAM:: 'PS ' ;NAME OF THE PUBLIC STRUCTURE
LPSNAM::0 ;LOGICAN NAME IF OTHER THAN PS
;DISK QUOTA ENFORCEMENT FLAG AND VALUE
NDG USRSCF,-1 ;INITIAL CONTENTS OF USRSPC (NON-0 TO PREVENT
; WRITE OPENF IF USER OVER ALLOCATION)
USRSPC:: USRSCF ;TRUE = DON'T ALLOW WRITE OPEN IF USER EXCEEDS
;DIRECTORY DISK ALLOCATION
SYSSPC:: SYSSCF ;DON'T ALLOW WRITE OPEN IF SYSTEM FREE PAGE
;COUNT IS .L. C(SYSSPC)
RS APRFLW,1 ;[7363] APRID word goes here
RS APRSER,1 ;APR SERIAL NUMBER
; * * * *
;These will be removed
; * * * *
EXADFL::1B21 ;EXTENDED ADDRESSING FLAG 1=MODEL B MACHINE
EXADF1::1B21 ;MUUO/PAGE FAIL FLAG 1=MODEL B MACHINE
SMFLAG::0 ;VALUE OF SMFLG (0=NON SM10 1=SM10)
EXADDR::-1 ;DIRECTORY FLAG 0=SEC 0 740000
;+>= SEC 2 MAX SIZE 30 PGS
;- = SEC 2 MAX SIZE 256. PGS
SYSTAD::0 ;SYSTEM LOAD DATE/TIME
SWCEND::NRCODL ;END OF SWAPPABLE MONITOR+BUGSTRINGS+BUGPOINTERS
;POINTER TO BUGPOINTER TABLE
NBUGP==:BGPTRZ-BGPTR+1
RSI BUGTP,<<SYMSEC,,BGPTR>> ;ADDR,LENGTH OF BUGPTR TABLE
RSI BUGTL,NBUGP
;SPT cutoff levels
SPC0:: EXP <SSPT-NOFN-3*NFKS> ;SPT LEVEL FOR USING INDIRECT PTRS
SPC1:: EXP SSPT-NOFN-100 ;SPT LEVEL FOR NO NEW JOBS
SPC2:: EXP SSPT-NOFN-10 ;SPT LEVEL FOR NO NEW FORKS
;CANONICAL POINTERS
IFN KLFLG,<
IMMPTR::FLD(IMMCOD,PTRCOD)+PTWR+PTCACH
SHRPTR::FLD(SHRCOD,PTRCOD)+PTWR+PTCACH
INDPTR::FLD(INDCOD,PTRCOD)+PTWR+PTCACH
>
IFN KCFLG,<
IMMPTR::FLD(IMMCOD,PTRCOD)+PTWR
SHRPTR::FLD(SHRCOD,PTRCOD)+PTWR
INDPTR::FLD(INDCOD,PTRCOD)+PTWR
>
;BOUND PAIRS, CONTAINING FIRST PAGE ADDR,,LAST PAGE ADDR
;USED AS ARGUMENTS TO BSMGG/BSMGP
RSVABP::RSVAR,,RSVARZ ;RESIDENT VARS
INCOBP::INCOD,,INCODZ ;INIT CODE
RSDABP::RSDAT,,RSDATZ ;RESIDENT DATA, NON-ZEROED
IFN FTNSPSRV <
SYTBBP::BLOCK 1 ;SYMBOL TABLE - FILLED IN BY POSTLD
>
SWPMBP::NRCOD,,NRCODZ ;SWAPPABLE MONITOR
;BOUNDARY TO ARTIFICIALLY LIMIT CORE
NLOWPG:: 0 ;Pages below here considered NXM
IFE KLFLG,<NMAXPG:: MAXCOR-1> ;Pages above here are considered NXM
IFN KLFLG,<
;N.B.
;The KL10 CPU has a problem which causes channel detected parity errors
;in the last possible (22-bit) quadword of memory. It is easier to not
;use the last possible page of memory than to fix the hardware or
;generate special case code to prevent channel IO to the last page.
IFE <MAXCOR-20000>,<NMAXPG:: MAXCOR-2>
IFN <MAXCOR-20000>,<NMAXPG:: MAXCOR-1>
> ;Pages above here are considered NXM
;ADMINISTRATIVE LIMIT OF PROGRAM (FORK) SIZE. ACTUAL LIMIT MAY BE LOWER
;IF INSUFFICIENT CORE. SYSTEM ADMINISTRATOR MAY ADJUST THIS PARAMETER
;TO LIMIT SIZE OF LARGE JOBS THEREBY ALLOWING MORE IN CORE.
PGMMAX:: MAXFKS ;FORK SIZE LIMIT SPECIFIED IN PARAMS
IPTIM:: IPTIMF ;FLAG FOR PAGE TRAP TIME FROM PARAMS
NRPMX:: NFKSPP+2 ;RPLQ MIN, SHOULD BE .G. MINNR
MONCOR::<INCOD>_-PGSFT ;NUMBER PAGES OF RES MON
;SYSTEM LOGICAL NAME INITIAL VALUES
.PSECT RSDAT
;WHEN SIX SPACES PRECEDE THE COLON, SLNINI INSERTS THE NAME OF THE PRIMARY
;STRUCTURE INTO THAT LOCATION
SYNMTB::XWD [ASCIZ/SYS/],[ASCIZ/ :<SUBSYS>/]
XWD [ASCIZ/HLP/],[ASCIZ/SYS:/]
XWD [ASCIZ/SYSTEM/],[ASCIZ/ :<NEW-SYSTEM>, :<SYSTEM>/]
XWD [ASCIZ/EDITOR/],[ASCIZ/SYS:EDIT.EXE/]
XWD [ASCIZ/ACCOUNT/],[ASCIZ/ :<ACCOUNTS>/]
XWD [ASCIZ/DEFAULT-EXEC/],[ASCIZ/SYSTEM:EXEC.EXE/]
XWD [ASCIZ/PS/],[ASCIZ/ :/]
XWD [ASCIZ/POBOX/],[ASCIZ/ :/]
XWD [ASCIZ/BS/],[ASCIZ/ :/] ;[7.1112]
XWD [ASCIZ/SPOOL/],[ASCIZ/ :<SPOOL>/] ;[7.1112]
XWD [ASCIZ/SERR/],[ASCIZ/ :<SYSTEM-ERROR>/] ;[7.1112]
XWD [ASCIZ/TGHA-DATA/],[ASCIZ/ :<SYSTEM>/] ;[7.1112]
SYNMCT==:.-SYNMTB
ERRPT:: ASCIZ / :<SYSTEM>ERROR.REPORT/
LCKTAB:: 0 ;MUST BE HERE
ALLOKS
;TERMINAL TYPE TABLES
; B0, B1, B2, B3, B4-7, B8-11, B12-15, B16-19
; FF,TAB, LC, --, CRPD, LFPAD, TABPAD, FF PAD
;NORMAL MODE IS LOWERCASE BIT ON, MOST DEVICES WILL PRINT LC CHAR
;AS UC. FF AND TAB PADDING IS SPECIFIED FOR TTYS IN CASE
;FF OR TAB BIT TURNED ON MANUALLY
DEFINE TY(BB,CRPD,LFPD,TBPD,FFPD,WID,LEN)<
^D<<BB>B2+<CRPD>B7+<LFPD>B11+<TBPD>B15+<FFPD>B19+<WID>B27+<LEN>B35>
>
RESCD
TTYPE0::TY(0,0,0,2,12,72,66) ; 0 - MOD 33
TY(6,0,0,2,12,72,66) ; 1 - MOD 35
TY(1,0,0,2,12,72,66) ; 2 - MOD 37
TY(1,10,0,0,0,80,66) ; 3 - TI
0 ; 4 - RESERVED FOR CUSTOMER
0 ; 5 - " " "
0 ; 6 - " " "
0 ; 7 - " " "
TY(1,6,6,2,12,72,66) ; 8 - DEFAULT: MAX PADDING, ETC.
TY(7,0,0,0,0,0,0) ; 9 - 'IDEAL' TERMINAL, NO FILL INF SIZ
TY(2,0,4,0,12,72,20) ; 10 - VT05
TY(2,0,0,0,0,80,12) ; 11 - VT50
TY(0,6,6,2,12,80,66) ; 12 - LA30
TY(1,0,0,0,0,80,30) ; 13 - GT40 (WITH SMALL CHAR STRAPPING)
TY(1,0,0,0,0,132,66) ; 14 - ;LA36. SAME AS VT50 BUT WIDER
TY(3,0,0,0,0,80,24) ; 15 - VT52
TY(3,0,0,0,0,80,24) ; 16 - VT100
TY(3,0,0,0,0,132,66) ; 17 - LA38
TY(7,0,0,0,0,132,66) ; 18 - LA120
0 ; 19 - RESERVED FOR CUSTOMER
0 ; 20 - " " "
0 ; 21 - " " "
0 ; 22 - " " "
0 ; 23 - " " "
0 ; 24 - " " "
0 ; 25 - " " "
0 ; 26 - " " "
0 ; 27 - " " "
0 ; 28 - " " "
0 ; 29 - " " "
0 ; 30 - " " "
0 ; 31 - " " "
0 ; 32 - " " "
0 ; 33 - " " "
0 ; 34 - " " "
TY(3,0,0,0,0,80,24) ; 35 - VT125
TY(3,0,0,0,0,84,24) ; 36 - VK100
TY(3,0,0,0,0,80,24) ; 37 - VT102
TY(3,0,0,0,0,80,24) ; 38 - H19
TY(3,0,0,0,0,80,24) ; 39 - VT131
TY(3,0,0,0,0,80,24) ; 40 - VT200-SERIES
0 ; 41 - RESERVED FOR CUSTOMER
0 ; 42 - " " "
0 ; 43 - " " "
0 ; 44 - " " "
0 ; 45 - " " "
0 ; 46 - " " "
0 ; 47 - " " "
0 ; 48 - " " "
0 ; 49 - " " "
0 ; 50 - " " "
0 ; 51 - " " "
TY(3,0,0,0,0,80,24) ; 52 - VT300-SERIES [7423]
0 ; 53 - RESERVED FOR DEC
0 ; 54 - " " "
0 ; 55 - " " "
0 ; 56 - " " "
0 ; 57 - " " "
0 ; 58 - " " "
0 ; 59 - " " "
0 ; 60 - " " "
0 ; 61 - " " "
0 ; 62 - " " "
NTTYPS==:.-TTYPE0
FTCTS <
;Terminal Type to Name Table
DEFINE TTNAM (NAM) < ;Define MACRO for Terminal Type Names
IFB <NAM>,<EXP 0> ;If no name, zero the entry
IFNB <NAM>,<[ASCIZ /NAM/]> ; else place address of name string
>
SWAPCD ;Place table in swappable storage
TTYNAM::TTNAM (TTY33) ; 0 - MOD 33
TTNAM (TTY35) ; 1 - MOD 35
TTNAM (TTY37) ; 2 - MOD 37
TTNAM (TI-EXECUPORT) ; 3 - TI
TTNAM () ; 4 - RESERVED FOR CUSTOMER
TTNAM () ; 5 - " " "
TTNAM () ; 6 - " " "
TTNAM () ; 7 - " " "
TTNAM (DEFAULT) ; 8 - DEFAULT: MAX PADDING, ETC.
TTNAM (IDEAL) ; 9 - 'IDEAL' TERMINAL, NO FILL INF SIZ
TTNAM (VT05) ; 10 - VT05
TTNAM (VT50) ; 11 - VT50
TTNAM (LA30) ; 12 - LA30
TTNAM (GT40) ; 13 - GT40 (WITH SMALL CHAR STRAPPING)
TTNAM (LA36) ; 14 - ;LA36. SAME AS VT50 BUT WIDER
TTNAM (VT52) ; 15 - VT52
TTNAM (VT100) ; 16 - VT100
TTNAM (LA38) ; 17 - LA38
TTNAM (LA120) ; 18 - LA120
TTNAM () ; 19 - RESERVED FOR CUSTOMER
TTNAM () ; 20 - " " "
TTNAM () ; 21 - " " "
TTNAM () ; 22 - " " "
TTNAM () ; 23 - " " "
TTNAM () ; 24 - " " "
TTNAM () ; 25 - " " "
TTNAM () ; 26 - " " "
TTNAM () ; 27 - " " "
TTNAM () ; 28 - " " "
TTNAM () ; 29 - " " "
TTNAM () ; 30 - " " "
TTNAM () ; 31 - " " "
TTNAM () ; 32 - " " "
TTNAM () ; 33 - " " "
TTNAM () ; 34 - " " "
TTNAM (VT125) ; 35 - VT125
TTNAM (VK100) ; 36 - VK100
TTNAM (VT102) ; 37 - VT102
TTNAM (H19) ; 38 - H19
TTNAM (VT131) ; 39 - VT131
TTNAM (VT200) ; 40 - VT200-SERIES
TTNAM () ; 41 - RESERVED FOR CUSTOMER
TTNAM () ; 42 - " " "
TTNAM () ; 43 - " " "
TTNAM () ; 44 - " " "
TTNAM () ; 45 - " " "
TTNAM () ; 46 - " " "
TTNAM () ; 47 - " " "
TTNAM () ; 48 - " " "
TTNAM () ; 49 - " " "
TTNAM () ; 50 - " " "
TTNAM () ; 51 - " " "
TTNAM (VT300) ; 52 - VT300-SERIES [7423] [7425]
TTNAM () ; 53 - RESERVED FOR DEC
TTNAM () ; 54 - " " "
TTNAM () ; 55 - " " "
TTNAM () ; 56 - " " "
TTNAM () ; 57 - " " "
TTNAM () ; 58 - " " "
TTNAM () ; 59 - " " "
TTNAM () ; 60 - " " "
TTNAM () ; 61 - " " "
TTNAM () ; 62 - " " "
RESCD ;Continue to place other table is Resident
; Storage
> ;End of Conditional Assembly
;SECOND PARALLEL TYPE INFORMATION TABLE
;BIT 0 OF TTYPE1 (TT1PRQ in TTYSRV) INDICATES WHETHER TERMINAL TYPE
;AUTOMATICALLY ENABLES XON AND XOFF PROCESSING.
DEFINE TY1 (DPTAB,PGM)<
DPTAB>
TTYPE1::
REPEAT ^D10,< ;TYPES 0-9 ARE NOT DISPLAYS
TY1 (0,0)
>
TY1 (VT05TB) ; 10 - VT05
TY1 (VT50TB) ; 11 - VT50
TY1 (0) ; 12 - LA30
TY1 (0) ; 13 - GT40
TY1 (0) ; 14- LA36
TY1 (VT52TB) ; VT52
TY1 (VT100T,1) ; VT100
TY1 (0) ; 17 - LA38
TY1 (0,1) ; 18 - LA120
REPEAT ^D16,< ;TYPES 19-34 ARE NOT DISPLAYS
TY1 (0)
>
TY1 (VT125T,1) ; 35 - VT125
TY1 (VK100T,1) ; 36 - VK100 - GIGI
TY1 (VT102T,1) ; 37 - VT102
TY1 (H19TBL,1) ; 38 - H19
TY1 (VT131T,1) ; 39 - VT131
TY1 (VT200T,1) ; 40 - VT200-SERIES
REPEAT ^D11,< ;TYPES 41-51 ARE NOT DISPLAYS
TY1 (0)
>
TY1 (VT300T,1) ; 52 - VT300-SERIES [7423]
REPEAT ^D10,< ;TYPES 53-62 ARE NOT DISPLAYS
TY1 (0)
>
IFN <.-TTYPE1>-NTTYPS,<PRINTX %TERM TYPE TABLES OF DIFFERENT LENGTHS>
;CURSOR CONTROL TABLES. TABLE FOR EACH TERMINAL TYPE, INDEXED
;BY FUNCTION.
.STP==:377 ;STOP CODE
;VT05 TABLE AND FUNCTION INDEX DEFINITIONS
VT05TB::
PHASE 0
.CURUP::!Z [BYTE (8)32,0,0,0,0,.STP]
.CURDN::!Z [BYTE (8)13,0,0,0,0,.STP]
.CURBK::!BYTE (8).CHBSP,.STP
.CURFW::!BYTE (8)30,.STP
.CURHM::!Z [BYTE (8)35,0,0,0,0,.STP]
.CURES::!Z [BYTE (8)37,0,0,0,0,.STP]
.CUREL::!Z [BYTE (8)36,0,0,0,0,.STP]
DEPHASE
VT300T:: ; [7423] VT300 TBALE SAME AS VT102
VT200T:: ; VT200 TABLE SAME AS VT102
VT131T:: ; VT131 TABLE SAME AS VT102
VT102T:: ; VT102 TABLE
BYTE (8).CHESC,"[","A",.STP ;UP
BYTE(8).CHESC,"[","B",.STP ;DOWN
BYTE(8).CHESC,"[","D",.STP ;BACK
BYTE(8).CHESC,"[","C",.STP ;FORWARD
BYTE(8).CHESC,"[","H",.STP ;HOME
BYTE(8).CHESC,"[","J",.STP ;ERASE TO END OF SCREEN
BYTE(8).CHESC,"[","K",.STP ;ERASE TO END OF LINE
VK100T:: ; VK100 TABLE
BYTE(8).CHESC,"[","A",.STP ;UP
BYTE(8).CHESC,"[","B",.STP ;DOWN
BYTE(8).CHESC,"[","D",.STP ;BACK
BYTE(8).CHESC,"[","C",.STP ;FORWARD
BYTE(8).CHESC,"[","H",.STP ;HOME
;ERASE TO END OF SCREEN
Z [BYTE(8).CHESC,"P","p","s","(","e",")",.CHESC,"\",.STP]
BYTE(8).CHESC,"[","K",.STP ;ERASE TO END OF LINE
VT125T:: ; VT125 TABLE
VT100T:: ; VT100 TABLE
BYTE (8).CHESC,"[","A",.STP ;UP
BYTE(8).CHESC,"[","B",.STP ;DOWN
BYTE(8).CHESC,"[","D",.STP ;BACK
BYTE(8).CHESC,"[","C",.STP ;FORWARD
BYTE(8).CHESC,"[","H",.STP ;HOME
BYTE(8).CHESC,"[","J",.STP ;ERASE TO END OF SCREEN
BYTE(8).CHESC,"[","K",.STP ;ERASE TO END OF LINE
;VT50 TABLE - USES ESCAPE SEQUENCES
H19TBL:: ; H19 TABLE SAME AS VT52
VT52TB::
VT50TB::BYTE (8).CHESC,"A",.STP ;CURSOR UP
Z [BYTE (8).CHLFD,0,0,0,0,.STP] ;CURSOR DOWN
BYTE (8).CHBSP,.STP ;CURSOR BACK
BYTE (8).CHESC,"C",.STP ;CURSOR FORWARD
BYTE (8).CHESC,"H",.STP ;CURSOR HOME
BYTE (8).CHESC,"J",.STP ;ERASE SCREEN
BYTE (8).CHESC,"K",.STP ;ERASE LINE
SWAPCD
; NAME OF FILE INTO WHICH ACCOUNTING INFO IS WRITTEN
USGFIL::ASCIZ /ACCOUNT:SYSTEM-DATA.BIN/
CKPFIL::ASCIZ /ACCOUNT:CHECKPOINT.BIN.1/
;ACCOUNTING SYSTEM DATA-BASE
NR USGJFN,1 ;JFN OF USGFIL
NR USGEOF,1 ;END OF FILE FOR USAGE FILE
NR USGBEG,1 ;HEAD OF QUEUE FOR JOB 0
NR USGEND,1 ;TAIL OF QUEUE FOR JOB 0
NR USQCNT,1 ;COUNT OF ITEMS ON USAGE QUEUE
NR CKPJFN,1 ;JFN OF CKPFIL
NR CKPINV,1 ;CHECKPOINT INTERVAL (SETTABLE)
NR CKPTIM,1 ;CHECKPOINT TIMER CELL
NR CKPDTL,1 ;DATE/TIME OF LAST CHECKPOINT
NR USGMUP,1 ;TIME SINCE LAST RELOAD
RS USGLOK,1 ;LOCK ON USAGE FILE
NR ASCTIM,1 ;Next automatic accounting shift change time
; relative to TODCLK
NR ASCPTR,1 ;AOBJN pointer to accounting shift change times block
NR ASCFLG,1 ;Flag -1 if accounting shift change, 0 if checkpoint
NR ASCLOK,1 ;Lock on ASCPTR
RESCD
;PHYSIO STORAGE
IFG PHYIOF,<
;TABLE OF KNOWN CHANNEL DISPATCH ROUTINES
PHYCHT::
IFG RH20F,< XWD .CTRH2,RH2DSP>
IFG RH11F,< XWD .CTRH2,RH2DSP>
IFG FTKLIPA,< XWD .CTCI,KLPDSP>
IFG KNIN,< XWD .CTNI,KNIDSP>
PHYCHL==:PHYCHT-. ;NEGATIVE LENGTH OF TABLE
;TABLE OF KNOWN UNIT DISPATCH ROUTINES
PHYUNT::
IFG RS04F,< XWD .UTRS4,RS4DSP>
IFG RP04F,< XWD .UTRP4,RP4DSP>
IFG TM02F,< XWD .UTTM2,TM2DSP>
IFG DX20AF,< XWD .UTDXA,DXADSP>
IFG DX20BF,< XWD .UTDXB,DXBDSP>
IFG TM78F,< XWD .UTTM7,TM8DSP>
PHYUNL==:PHYUNT-. ;NEGATIVE LENGTH OF TABLE
RS CHNTAB,CHNN ;TABLE FOR CDB POINTERS
RS MAXCHN ;HIGHEST NUMBERED CHANNEL IN USE
RS ZSEND ;CURRENT END OF PAGE ZERO STORAGE
RS PHYSEC ;PHYSIO MINUTE COUNTER
;CI-20 U-CODE VERSION
NDG KLPVER,711 ;[7132] THE VERSION THIS MONITOR EXPECTS TO LOAD
RSI KLPVWD,KLPVER ;CELL CONTAINING EXPECTED VERSION
;RESIDENT STORAGE FOR DIAG
RS(DIAGLK) ;LOCK ON DIAG
RS(DIAGFK) ;TEMP PAGE,,FORK WHO HAS DIAG LOCK
RS DIAGAR,1 ;AR/ARX INTERCEPT LOCATION
RS DIAGCW ;ADDRESS OF CCW LIST
RS DIAGWT ;FLAG THAT ANOTHER FORK IS WAITING FOR DIAG
RSI CNTLCK,<-1>,1 ;LOCK FOR PERFORMANCE COUNTER READ OF KLIPA
RSI CNTFLG,<-1>,1 ;PERFORMANCE COUNTER READ DONE FLAG
RS CNTTIM,1 ;OVERDUE TIMER FOR PERFORMANCE COUNTER READ
RS CNTBUF,.PKPDD+1 ;TIME OF READ AND PERFORMANCE COUNTER DATA
RS MAITIM,1 ;OVERDUE TIMER FOR CI MAINTENANCE DATA READ/WRITE
RS MAIFLG,1 ;ERROR OR DONE FLAG FOR CI MAINT. DATA READ/WRITE
RS MAICLF,1 ;CLOSE BUFFER DONE FLAG FOR DIAG%
RS MAICLN,1 ;BUFFER NAME FOR CLOSE BUFFER FUNCTION FOR DIAG%
RS MAICLT,1 ;OVERDUE TIME FOR THE CI MAINTENANCE CLOSE BUFFER
RSI MACLOT,<^D1000>,1 ;OVERDUE TIME CONSTANT TO SET UP MAICLT (TODCLK+MACLOT)
RSI MAIOTC,<^D3000>,1 ;OVERDUE TIME CONSTANT TO SET UP MAITIM (TODCLK+MAIOTC)
;UDSKIO STORAGE
RS UIOLST ;FREE LIST FOR UDSKIO IORBS
RS UDIORB,<NUIORB*UIOLEN> ;POOL FOR UDSKIO IORBS
;SAVE AREAS AND PDLS
RS PHYACS,20 ;INTERRUPT SAVE ACS
RS PHYPDL,LPHYPD ;PRIVATE PDL FOR REQUESTS
RS PHYSVP ;CALLERS PDL
RS PHYIPD,LPHIPD ;INTERRUPT PDL
> ;END IFG PHYIOF
IFN RP04F,<
;RESIDENT TABLES OF SIZE DATA FOR DISKS BASED ON TYPE. DSKSIZ IS
;PARALLEL TO DSKUTP (DEFINED IN PHYSIO), WHICH CONTAINS CODES FOR THE
;KNOWN DISK TYPES. WHEN AN ENTRY IS ADDED TO DSKUTP, A CORRESPONDING
;ENTRY MUST BE ADDED TO DSKSIZ TO POINT TO THE CORRECT SIZE DATA FOR
;THAT TYPE OF DISK. DO NOT CHANGE THE ORDER OF THE SIZE DATA, SINCE
;THE MSTR JSYS USES A BLT TO COPY IT FOR THE .MSRNU FUNCTION.
;MACRO TO DEFINE DISK PARAMETERS. THE ARGUMENTS ARE USED TO GENERATE
;A TABLE OF DERIVED QUANTITIES FOR EACH DISK, AND ALSO TO DEFINE GLOBAL
;OFFSETS FOR REFERENCING THE TABLES. ALL ARGUMENTS ARE IN DECIMAL.
;
;SEPPG NUMBER OF SECTORS PER PAGE (ASSUMED TO BE A POWER OF 2 IN DSKALC)
;SEPSU NUMBER OF SECTORS PER SURFACE (TRACK)
;SUPCY NUMBER OF SURFACES PER CYLINDER
;CYPUN NUMBER OF CYLINDERS PER UNIT
;LATUNI MICROSECONDS PER LATOPT SECTOR UNIT
DEFINE DSKTAB(SEPPG,SEPSU,SUPCY,CYPUN,LATUNI,TSECPP),<
.INDX.==0 ;INITIALIZE OFFSET
;** THE ORDER OF THESE ENTRIES MUST NOT CHANGE WITHOUT FIXING MSTR **
DSKDAT (SECPAG,<SEPPG>,<SECTORS PER PAGE>) ;** MUST BE A POWER OF TWO **
DSKDAT (SECCYL,<<<SEPSU*SUPCY>/SEPPG>*SEPPG>,<SECTORS PER CYLINDER>)
DSKDAT (PAGCYL,<$SECCYL/$SECPAG>,<PAGES PER CYLINDER>)
DSKDAT (CYLUNT,<CYPUN>,<CYLINDERS PER UNIT>)
DSKDAT (SECUNT,<$SECCYL*$CYLUNT>,<SECTORS PER UNIT>)
DSKDAT (BTWCYL,<<$PAGCYL+35>/36>,<NUMBER OF BIT WORDS PER CYLINDER IN BITTABLE>)
DSKDAT (LPPCYL,<SEPSU*SUPCY-$SECCYL>,<LOST SECTORS PER CYLINDER>)
DSKDAT (MINFPG,<$PAGCYL/3>,<MINIMUM FREE PAGES FOR FREE CHOICE>)
DSKDAT (MAXFPU,<$PAGCYL*CYPUN>,<MAXIMUM FREE PAGES BEFORE TURNING POINT>)
DSKDAT (SECSRF,<SEPSU>,<SECTORS PER SURFACE>)
DSKDAT (USSECU,<LATUNI>,<MICROSECONDS PER LATOPT SECTOR UNIT>)
DSKDAT (TRECPP,<TSECPP>,<TRUE SECTORS PER PAGE>) ;WARNING!! THIS IS ONLY SUPPORTED FOR HSC DISKS!!
;IT ALSO MUST = SECPAG OR 4* SECPAG
;NO OTHER VALUES!!!!
IFG <MXSTRU*$PAGCYL*$CYLUNT-MXPGUN>,< ;;MAXIMUM PAGES IN STRUCTURE INCREASED?
MXPGUN==:<MXSTRU*$PAGCYL*$CYLUNT>> ;;YES, DEFINE VALUE LARGER
IFGE <MXPGUN*$SECPAG-DSKAB>,< ;;BUT SEE IF SECTOR ADDRESS TOO LARGE
MXPGUN==:<<DSKAB-1>/$SECPAG>> ;;YES, REDUCE SO SECTOR ADDRESS FITS
>
MXPGUN==:0 ;DEFINE INITIAL VALUE
;HOME BLOCK DUMMY BUFFER
RS HOMSKP,160 ;BUFFER USED TO STORE UNNECESSARY HOME BLOCK DATA
RS FESER,1 ;BUFFER TO INDICATE FE GAVE US THE FRONT-END DISK SERIAL NUMBERS
RS CFSSTS,C%SBLL ;BUFFER TO SAVE THE STATUS OF THE REMOTE CFS CONNECTIONS
;MACRO USED TO DO ACTUAL WORK. IT DEFINES THE OFFSET FOR THIS DATA,
;REMEMBERS THE VALUE OF THIS DATA FOR USE IN LATER EXPRESSIONS, AND
;DUMPS THE DATA.
DEFINE DSKDAT(NAME,VALUE,TEXT),<
NAME==:<.INDX.==.INDX.+1>-1 ;;DEFINE OFFSET INTO TABLES
$'NAME==^D<VALUE> ;;CONDENSE THE EXPRESSION
EXP $'NAME ;NAME - TEXT
>
;NOW DUMP OUT THE TABLES FOR EACH KIND OF DISK:
DSKSZ0::DSKTAB (4,20,19,400,13,4) ;DATA FOR RP04 AND RP05
DSKSZ1::DSKTAB (4,20,19,800,13,4) ;DATA FOR RP06
DSKSZ2::DSKTAB (4,43,32,629,7,4) ;DATA FOR RP07
DSKSZ3::DSKTAB (4,30,5,820,8,4) ;DATA FOR RM03
DSKSZ4::DSKTAB (1,6,30,1119,8,1) ;DATA FOR RP20
DSKSZ5::DSKTAB (1,7,28,273,13,4) ;DATA FOR RA80
DSKSZ6::DSKTAB (1,161,1,1248,13,4) ;DATA FOR RA81
DSKSZ7::DSKTAB (1,38,1,2382,13,4) ;DATA FOR RA60
DSKSZ8::DSKTAB (1,1,1,1,1) ;DATA FOR RA82
DSKSZ9::DSKTAB (1,1,1,1,1) ;DATA FOR RA62
>
;BREAK POINT PAGE ASSIGNMENTS
SNPBPS==:1000 ;LEN OF BREAK POINT PAGE (MUST BE 1000)
NRP (SNPBPP,SNPBPS) ;BREAK POINT PAGE
;*** SNPDPC <= 36. SINCE SNPFTB BITTABLE IS 1 WORD
IFE DEBUG,<
SNPDPC==:^D12 ;[7.1016][7.1018] NUMBER OF PAGES FOR USER CODE
>
IFN DEBUG,<
SNPDPC==:^D14 ;[7.1222] More pages when debugging
>
SNPDPS==:1000*SNPDPC ;LENGTH OF SNOOP VIRTUAL AREA
NRP (SNPDAT,SNPDPS) ;DATA PAGES FOR USER CODE
;CAUTION: SNPBPP AND SNPDAT MUST BE CONTIGUOUS FOR SCHED TEST. (CHKSNP)
;SNOOP BREAK POINT LABEL DEFINITIONS
REPEAT 0,<
BP$000 1 MILLISECOND INTERVAL
RUNS AT APR INTERRUPT LEVEL WITH NO STACK SET UP.
ALL ACS MUST BE SAVED AND RESTORED
BP$001 POWER LINE FREQUENCY INTERVAL (50 OR 60 CYCLES)
RUNS AT APR INTERRUPT LEVEL WITH NO STACK SET UP.
ALL ACS MUST BE SAVED AND RESTORED.
BP$002 1 SECOND INTERVAL
RUNS AT APR INTERRUPT LEVEL WITH NO STACK SET UP.
ALL ACS MUST BE SAVED AND RESTORED.
BP$003 BREAKPOINT FOR OPEN NEW FILE
ASSUMPTIONS: JOB CONTEXT, STACK, OFN IN T1
OFFSET FOR JOB'S JFN TABLE IN 11
THESE ASSUMPTIONS HOLD FOR BP$003-BP$009
BP$004 BREAKPOINT FOR OPEN EXISTING FILE
SEE ASSUMPTIONS FOR BP$003
BP$005 BREAKPOINT FOR GET EXISTING PTT
SEE ASSUMPTIONS FOR BP$003
BP$006 BREAKPOINT FOR MAKE NEW PTT FOR LONG FILE
SEE ASSUMPTIONS FOR BP$003
BP$007 BREAKPOINT FOR PT-0 OF LONG FILE
SEE ASSUMPTIONS FOR BP$003
BP$008 BREAKPOINT FOR MAKE NEW PT IN LONG FILE
ASSUMES PT-NUMBER IN -2(P); ALSO:
SEE ASSUMPTIONS FOR BP$003
BP$009 BREAKPOINT FOR GET EXISTING PT IN LONG FILE
ASSUMES PT-NUMBER IN 0(P); ALSO:
SEE ASSUMPTIONS FOR BP$003
BP$010 (AT DASOFN) BREAKPOINT TO RELEASE OFN
ASSUMES JOB CONTEXT, OFN IN T1, STACK
BP$011 (AT REMFP2) BREAKPOINT FOR DELETE PAGE IN CORE
ASSUMES CST-INDEX IN T1
BP$012 (BELOW BKUP3) BREAKPOINT FOR WRITE TO DISC
ASSUMES CST-INDEX IN T1
BP$013 (BELOW BKUP3) BREAKPOINT FOR WRITE TO RPLQ
ASSUMES CST-INDEX IN T1
BP$014 (BELOW SWPO2) BREAKPOINT FOR WRITE TO DRUM
ASSUMES CST-INDEX IN T1
BP$015 (BELOW BKUP0) BREAKPOINT FOR WRITE TO RPLQ (DRUM ADDR)
ASSUMES CST-INDEX IN T1
BP$016 (AT SWPI5) BREAKPOINT FOR READ FROM DEVICE
ASSUMES [STG-ADDR] IN T4, [IDENT] IN T1 (I.E., [SPTN,,PN])
BP$017 (BELOW TRP0C) BREAKPOINT FOR READ FROM RPLQ
ASSUMES STACK. WILL CALL GETPHA TO IDENTIFY PAGE
BP$018 (BELOW WCPY) BREAKPOINT FOR COPY-ON-WRITE
ASSUMES TARGET [SPTN,,PN] IN T1, SOURCE CST-INDEX IN 0(P)
BP$019 (BELOW .CFORK) BREAKPOINT FOR CREATE SUB-FORK
ASSUMES FORK-INDEX OF CREATED FORK IS IN 7
BP$020 (BELOW LOGI1) BREAKPOINT FOR CREATE MAIN FORK
ASSUMES FORKX HAS FORK-INDEX, FKJOB(FORK-INDEX) HAS JOBNO
BP$021 (AT KSELF) BREAKPOINT FOR KILL FORK.
ASSUMES FORKX HAS SUICIDAL FORK INDEX
BP$022 (AT MAPDI1-1 IN DIRECT) BREAKPOINT FOR ASOFN FOR DIRECTORIES
ASSUMES DIRECTORY# IN T1, OFN IN DROFN USUALLY, BUT IN STRRDO
IF T1=ROOTDN
>
;Define home block I/O page. This page is used by fsiini and
;fsibat as a work page for home block I/O during system startup.
NRP(HOMPGA) ;[7271] GIVE HOMPGA ITS OWN PAGE
HOMPG==:HOMPGA/1000 ;DEFINE THE PAGE NUMBER AS WELL
;SCHEDULER TESTS - HERE BECAUSE NO OTHER RESIDENT CODE IN DIRECT
EXTN <MLDTAB,NLDTAB> ;DEFINED IN DIRECT
LKDTST::HRRZ T1,Q3 ;GET FORK INDEX
IDIVI T1,^D36 ;COMPUTE BIT ADDRESS
MOVE T2,BITS(T2)
TDNE T2,LCKDBT(T1) ;STILL WAITING?
JRST 0(T4) ;YES
JRST 1(T4) ;NO, WAKEUP
LKDSPT::MOVE T1,MLDTAB ;GET LIMIT OF TABLE
CAIL T1,NLDTAB ;FULL?
JRST 0(T4) ;YES
JRST 1(T4) ;NO
;LOWER CORE DEFINITIONS - NOT CLEARED AT STARTUP
SCTLW==:20 ;SCHEDULER HALT REQUEST WORD
LOC 25 ;DOWN TO LOWER CORE
MMAPWD: EXP MMAP ;POINTER TO MMAP FOR SETSPD
LOC 66 ;[7.1021] DOWN TO LOW CORE
CLDWRD::BLOCK 1 ;[7.1021] Word used for cluster dump facility.
;[7.1021] If 1, node will KLPDMP BUGHLT instead
;[7.1021] of KLPCVC BUGINF when a node goes down.
CLDREQ::BLOCK 1 ;[7.1021] Word used to invoke cluster dump.
;[7.1021] When 1, the scheduler will call CFSDMP
;[7.1021] to force a cluster dump.
PWRTRP::BLOCK 1 ;EXECUTED ON POWER-FAIL AUTO RESTART
RLDADR::BLOCK 1 ;FE EXECUTE'S THIS ON CERTAIN RELAODS
EDDTF ;FORMERLY EDDTF
CRSTAD::BLOCK 1 ;TOD OF LAST CRASH
.JBDDT::DDTZ ;JOBDDT
BLOCK 1 ;75 RESERVED - .JBHSO
DBUGSW ;THIS CELL FORMERLY DBUGSW
DCHKSW ;THIS CELL FORMERLY DCHKSW
BLOCK 10 ;100 THROUGH 107 RESERVED FOR
; FE COMMAND LANGUAGE FUNCTIONS
;CELLS NOT CHANGED DURING DISK RELOAD OF RES MON
STSBLK::BLOCK 1 ;110-111: STATUS BLOCK POINTER
BLOCK 1 ;NEXT WORD TO HOLD PHYSICAL ADDRESS
.JBEDV::MONEDV ;112 - POINTER TO EXEC DATA VECTOR
SPRCNT::EXP 0 ;113 - RUNNING COUNT OF SPEAR BLOCKS QUEUED
;IF THE POSITION OF THIS WORD IS MODIFIED,
;SETSPD MUST BE MODIFIED TO REFLECT ITS NEW
;POSITION, AS IT READS THIS VALUE FROM THE
;DUMP. SETSPD SETS THIS NONNEG TO GET THINGS
;ROLLING
BUGNAM::EXP 0 ;[7.1081] 114 - SIXBIT name of BUG
;[7.1081] This location is also read by
;[7.1081] SETSPD to construct the name of
;[7.1081] the CPY file. If the position
;[7.1081] of the word changes, SETSPD will
;[7.1081] have to be notified.
;[7.1081] There are no locations in low core still free in both the
;[7.1081] TOPS-10 and TOPS-20 monitors. If one is be needed for EDDT
;[7.1081] or whatever you are just out of luck.
;Inter-section breakpoint blocks for KDDT and MDDT
EDDBLK=:400
MDDBLK=:500
RELOC ;BACK TO NORMAL
CRSTD1=:27 ;CRASH TIME AND DATE SAVED WHILE RELOADING
BUGHAD=:26 ;BUGHLT AND CHK ADDRESSES SAVED WHILE RELOADING
;FORMERLY DBUGS1...NOW MMAPWD
SEBQOU=:24 ;OUTPUT PTR FOR SYSERR BLOCKS
;IN A FIXED PLACE SO JOB 0 CAN QUEUE UP
;BUGHLT BLOCK AFTER A CRASH.
CRSHTM=:23 ;INITIAL TIME FOR RELOADS. -1 INDICATES NOT SETUP YET
NPISK==24 ;SIZE OF STACK FOR PI LEVELS
NPISK6==NPISK*<IFE KNIN,<1>>+200*<IFN KNIN,<1>>
;* * N O T E W E L L * *
;Locations 21 and 22 are used by BOOT during LOADing and
;DUMPing. Their contents are meaningless in a monitor dump.
;* * E N D N O T E W E L L * *
;MONITOR'S EXEC DATA VECTOR. EDDT REFERS TO THIS BLOCK BY THE OFFSET
;NAMES. THE MONITOR USES THE NAMES OF THE INDIVIDUAL ENTRIES.
RSI MONEDV,<<'EDV',,.EDSEC+1>,0,0,0,0,0> ;EXEC DATA VECTOR: .EDCNT, etc.
;MONPDV points to the monitors PDV. If MONPDV is zero, then there is no
; PDV (always in pre-6.1 monitors). MONPDV is set up by POSTLD and used
; by EDDT/MDDT.
RSI MONPDV,<0> ;Address of monitor PDV
IFE FTNSPSRV <
;All of the following symbols are set by POSTLD
RSI PDVECT,<.PVSYM+1,[ASCIZ /MONITR/],0,0,SVNM,0,SYMBLK>
RSI SYMBLK,<^D7,0,0,0,0,0,0>
RSI PDVSYM,<0> ;Address of 'defined symbols' symbol block
RSI PDVUSY,<0> ;Address of 'undefined symbols' symbol block
RSI SYMLEN,<0> ;Length of both symbol tables combined
RSI SYMSTA,<0> ;Start of symbol table area in SYMSEC
RSI SYMEND,<0> ;End of symbol table in SYMSEC
RSI PLDRUN,<0> ;Set to -1 when POSTLD has run
>
;Lock used by MDDT to prevent more than one MDDT from using MDDBLK at
;the same time.
RSI MDDLCK,<-1> ;AOSE LOCK
RS MDDFX,1 ;FORKX of locker when MDDLCK .ne -1
;ORIGIN OF MANUAL START TRANSFER VECTOR
SVECT=:140
;MANUAL START TRANSFER VECTOR
LOC SVECT
EVDDT:: JRST DDTZ ;EDDT
JRST SYSDDT ;RESET AND GO TO EDDT
EVDDT2::JRST DDTZ ;COPY OF EDDT IN CASE OTHER CLOBBERED
EVSLOD::JRST SYSLOD ;INITIALIZE DISK FILE SYSTEM
EVVSM:: JRST SYSVSM ;VERIFY SWAPABLE MONITOR ON STARTUP.
EVRST:: JRST SYSRST ;RESTART
EVLDGO::JRST SYSGO ;RELOAD AND START
EVGO:: JRST SYSGO1 ;START
DDTPRS::-1 ;DDT PRESENT IF NON-0, INITIALLY IS PRESENT
LOC 237 ;LOWCORE STUFF FOR NEW SETSPD
SPTWD:: EXP SPT ;LOCATION OF THE SPT
MSCWD:: EXP MSECTB ;LOCATION OF MONITOR'S SECTION MAP
TMPSMM==:500 ;TEMP SWPMON MAP DURING RESTART
RELOC
;PTR TO END OF RES VARS
ZROEND::RSVARZ
;NAME TO SAVE THE MONITOR IMAGE AFTER POSTLD AS
MONSNM::
IFN KLFLG,<IFN NETN,< ASCIZ /AMONITR.EXE/>>
IFN KCFLG,<IFN NETN,< ASCIZ /TMONITR.EXE/>>
IFN KLFLG,<IFE NETN,< ASCIZ /MONITR.EXE/>>
IFN KCFLG,<IFE NETN,<ASCIZ /CMONITR.EXE/>>
DEFINE ECALL (DEV)<
IFG DEV'N,<
CALL DEV'CHK
RSI (DEV'TIM,<EXP 0>,1)>>
;SCHEDULER DEVICE-DEPENDENT CALLS
LV8CHK::ECALL VBC
IFN KNIN,<
SKIPE NIJFLG ;Any jiffy service needed?
CALL NIJJIF ; NI% JSYS Jiffy service.
> ; End of IFN KNIN
IFN LAHFLG,<CALL LARSCH> ;LAT HOST SCHEDULER SERVICE
IFG CHFLG,<
SETZ CX, ;find out if CTERM host output needs service
EXCH CX,CTMWAG ;get flag
IORM CX,CTMATN ;put where the CTERM MDISMS will notice
> ; End of IFG CHFLG
IFN DCN,< ;These calls must be in ascending layer order
;to assure adequate input performance.
IFN FTNSPSRV,<CALL NSPCH7> ;DO DECNET MESSAGES
IFE FTNSPSRV,<
SKIPE @DNDINQ ;Anything in the queue for Router?
CALL @[XCDSEC,,DNDJIF] ; Yes, call the data link layer (DNADLL)
CALL @[XCDSEC,,NSPJIF] ;NSP LAYER (LLINKS)
SKIPE NMLPSI ;NETWORK EVENT QUEUE PSI?
CALL @[XCDSEC,,NMLEVT] ;YES. INFORM THE NETWORK WATCHER
>;END IFE FTNSPSRV
>;END IFN DCN
RET
;TABLE OF CALLS FOR SECOND LEVEL CLOCKS
CLK2CL::
RSI (CLK2TM) ;SYMBOL OF FIRST CLOCK CELL IN TABLE
CALL WTCHK ;CHECK NON-SPECIAL WAITING FORKS
RSI (WTTIM,<EXP 0>,1)
CALL JB0CHK ;CHECK Job 0 functions: DDMP, CHKR
RSI (JB0TIM,<EXP 0>,1)
IFE PHYIOF,<
ECALL DSK ;DISK RE-QUEUE CHECK
ECALL DRM ;DRUM TIMEOUT CHECK
> ;END IFE PHYIOF
IFN PHYIOF,<
CALL PHYCHK ;PHYSIO TIMER ROUTINE
RSI (PHYTIM,<EXP 0>,1)
> ;END IFN PHYIOF
IFG KNIN,<
CALL LLQCHK ;[7454] LLMOP PSI queue check
RSI (LLQTIM,<EXP 0>,1) ;[7454] LLMOP PSI queue timer
ECALL KNI ;Device KNI checks
>
IFN <FTKLIPA>,< ;SCS% clock
CALL MSCCHK ;MSCP POLLER
RSI (MSCTIM,<EXP 0>,1)
CALL SCSCLK ;Clock check routine
RSI (SCSTIM,<EXP 0>,1) ;Timer
CALL SC.CLK ;Routine to call on SCA clock tic
RSI (SCATIM,<EXP 0>,1) ;Clock loc for SCA periodic events
> ;End IFN <FTKLIPA>
; IFN CFSCOD,< ;CFS clocks
CALL CFSCHK ;Do the check
RSI (CFSTIM,<EXP 0>,1) ;Timer word
; >
IFN FTSVMSCP,<
CALL MSSCHK ;CHECKER ROUTINE
RSI (MSSTIM,<EXP 0>,1) ;CLOCK FOR MSCP SERVER
>
IFN KCFLG,< ;IF THE 2080
CALL RSPCHK ;CHECK OUT RSP STUFF
RSI (RSPTIM,<EXP 0>,1) ;WORD FOR CLOCK
>
ECALL DTE ;DO POLLER
ECALL KDP ;CHECK KDP (KMC11/DUP11)
ECALL PTP ;PAPER TAPE PUNCH
IFG PLTN,<
ECALL PLT ;PLOTTER
>
IFG PCDPN,<
CALL CDPCHK ;CARD PUNCH
RSI (CDPTIM,<EXP 0>,1)
>
ECALL DTA ;DECTAPE
IFN LPTN,<
CALL LPTCHK ;PHYSICAL LPT
RSI (LPTTIM,<EXP 0>,1)
>
ECALL CDR ;THE CARD READER
ECALL DLX ;DL10
CALL TIMSCM
RSI (TMMLTM,<EXP 0>,1) ; Millisecond TIMER Q (elapsed time)
CALL TIMSCD
RSI (TMDTTM,<EXP 0>,1) ; D&T TIMER Q
IFE FTNSPSRV,<
EXTN <DCNSEC>
CALL DCNSEC ;DECNET'S ONCE-A-SECOND CHECK
RSI (DCNTIM,<EXP 0>,1) ;ALLOCATE TIMER WORD
>
IFN LAHFLG,<
EXT LATXMC
CALL LATXMC ;CALL ROUTINE TO PERIODICALLY MULTICAST LAT
RSI (LATMCT,<EXP <200000,,0>>,1) ;LAT Host Multicast Timer
EXT LATXPR ;[7.1120]
CALL LATXPR ;[7.1120]Call routine to handle LAT5.1
RSI (LATCMT,<EXP <1000>>,1) ;[7.1120]LAT command message timer
>
N2CLKS==:.-CLK2CL ;Number of entries in clock table
;DEVICE INITIALIZATION AFTER SWPMON LOADED
SWAPCD
DEFINE INICLL (DEV)<
IFG DEV'N,<
CALL DEV'INI>>
INIDEV::
INICLL MTA
IFG LPTN,< IFG LPTN-FELPTN,<
INICLL LPT
>>
IFG CDRN,< IFG CDRN-FECDRN,<
INICLL CDR
>>
IFG PLTN,< INICLL PLT>
IFG PCDPN,< INICLL CDP> ;CARD PUNCH
INICLL PTP
INICLL PTR
INICLL DTA
INICLL VBC
RET
;DEVICE DEPENDENT ROUTINES USED ON KFORK
DEVKFK::
RET
;DEVICE INITIALIZATION FOR FRONT END DEVICES
INIDV1::
INICLL FE
IFG CDRN,<IFG FECDRN,<
INICLL CDR
>>
IFG LPTN,<IFG FELPTN,<
INICLL LPT
>>
RET
;GENERATE THE PROTOCOL DEVICE DISPATCH TABLE
RESCD
IFG DTEN,< ;ONLY IF A DTE EXISTS
DEFINE DTV (DEV)<
IFG DEV'N,<
DEV'DTV ;DISPATCH ADDRESS
>
IFE DEV'N,<
0 ;NO DISPATCH
>>
MINDEV==:.FECTY ;FIRST KNOWN DEVICE
DTEDTV::
BLOCK MINDEV ;RESERVE SPACE FOR UNKNOWN DEVICES
REPEAT 4,<TTYDTV> ;THE CTY,DL11,DH11, AND DLS DEVICES
IFG FELPTN,< ;FRONT END LPT'S?
DTV LPT> ;YES
IFE FELPTN,< ;BA10 LPT?
0> ;YES
IFG FECDRN,<
DTV CDR> ;THE CDR
IFE FECDRN,< ;IF NO CRD
0> ;RESERVE SPACE ANYWAY
0 ;UNKNOWN
DTV FE ;THE FE DEVICE
MAXDEV==:.-DTEDTV+MINDEV-1 ;LAST KNOWN DEVICE
> ;END OF PROTOCOL TRANSFER VECTOR LOGIC
;Keep these cells together. The ARPA GETAB% .LHOSTN requires this
RSI (NOHOST,<-1>,<%NETS+1>) ; OLD FORMAT HOST NUMBER
RSI (NVTPTR,<1>) ; -NUMBER OF NVT'S,,FIRST NVT
RS DEFADR ; DEFAULT HOST ADDRESS TO USE
RS NETFLD ; "DEFAULT" NETWORK NUMBER, SHIFTED
RS DEFNET ; DEFAULT NETWORK NUMBER
RS PRFADR ; PREFERRED LOCAL HOST ADDRESS FOR GTHST%
RS PRFNFD ; PREFERRED NETWORK NUMBER, SHIFTED
RS PRFNET ; PREFERRED NETWORK FOR GTHST%
RESDT
NLHOST:: REPEAT <%NETS+1>,<-1>
EXP 0
RESCD
;RESET ALL AND GO TO EDDT
SYSDDT: XCT PIRST
XCT IORST
DDTZ: IFN FTNSPSRV <
SKIPN MONEDV+.EDSYM ;MONEDV SETUP?
JRST DDTY ;NO
MOVEM T1,.JBUSY ;SAVE AN AC
MOVE T1,MONEDV+.EDSYM ;RESTORE SYMTAB POINTERS
MOVEM T1,.JBSYM
MOVE T1,MONEDV+.EDUSY
EXCH T1,.JBUSY
DDTY:>
MOVEM T1,USRDFG ;SAVE AC
JSP T1,.+1 ;GET FLAGS
TXNE T1,VSECNO ;NON-0 SECTION?
XSFM T1 ;YES, USE XSFM
LSH T1,^L<UMODF> ;SHIFT IT TO SIGN BIT
EXCH T1,USRDFG
SKIPGE USRDFG ;EXEC MODE?
JRST DDTU ;NO, USER MODE
CONSO PAG,PGTPEN ;PAGING ON?
JRST DDTX ;NO, JUMP TO PHYSICAL DDT LOC
SKIPN MONEDV+.EDSEC ;SYMSEC SETUP?
JRST DDTX ;NO, USE PHYSICAL
XJRST [SYMSEC,,DDTX] ;YES, JUMP TO SYM SEC
RSI USRDFG,,1 ;TEMP FOR ABOVE
RESCD (INIT)
IFN FTNSPSRV <
;These exit/entry points map certain psects from section 1 to
;section zero, for ease of monitor patching
;Here prior to entering EDDT in user mode
DDTU: SKIPN MONEDV+.EDSYM ;Are we running pre POSTLD?
JRST DDTX ;Yes
;Map NRCOD to section 0
MOVE T1,[.FHSLF,,NRCODP+<MSEC1*1000>]
MOVE T2,[.FHSLF,,NRCODP]
MOVE T3,[PM%RD!PM%WR!PM%EX!PM%CNT!<<NRCODL-NRCODP>+1>]
PMAP
JRST DDTX ;JUMP TO DDT LOC
;Here after exiting EDDT in user mode with ^Z
DDTCZ:: SKIPN MONEDV+.EDSYM ;Are we running pre POSTLD?
JRST DDTX ;Yes
SETOM T1 ;Unmap NRCOD from sec 0
MOVE T2,[.FHSLF,,NRCODP]
MOVE T3,[PM%CNT!<<NRCODL-NRCODP>+1>]
PMAP
HALTF
JRST EVDDT ;INCASE OF CONTINUE
>
IFE FTNSPSRV <
;DDTU - called on entry to EDDT in user mode.
;
;Essentially, a runtime environment is built to ease patching.
;This means the following:
; 1. Copy the symbol tables into section PCDSEC (37)
; Update the symbol table pointers PDVSYM and PDVUSY in the
; monitor PDV.
; Also, unmap the pages that were used by the symbol table.
; 2. Create section SYMSEC and XCDSEC
; 3. Map ERCOD (EDDT) and ENCOD (MDDT) into section SYMSEC
; 4. Map NRCOD into section 0
; 5. Map resident psects (page 0, RSCOD, SZCOD, INCOD, RSDAT) into
; XCDSEC.
; 6. Map RSDAT into SYMSEC (so FFF is mapped there).
; 7. Map XRCOD and XNCOD into XCDSEC.
; 8. Put an indirect pointer to page 0 in SYMSEC
; 9. Start EDDT in user mode in SYMSEC
DDTU: SKIPN PLDRUN ;Has POSTLD run?
XJRST [SYMSEC,,DDTX] ; -no, jump to EDDT in SYMSEC
;Set up a local stack pointer. Use page 777 of section 0 for the stack -
; nothing else will be there
MOVE P,[IOWD 1000,777000] ;Load stack pointer
;Note: "symbol block" refers a data structure that appears as:
;Defined symbol table
;Undefined symbol table
;Fixed expansion area for symbol tables (length = SYMPAD)
STKVAR <SYMADR,TOPADR,NEWADR>
;STKVAR LEGEND
; SYMADR True address of the symbol block (lower limit)
; TOPADR True address of the symbol block (upper limit+1)
; NEWADR Temporary address of the symbol block (lower
; limit) while in KDDT user mode. The upper
; limit is the section boundary.
;Create a section for the symbol block (PCDSEC)
MOVEI T1,PCDSEC ;Section 'PCDSEC'
CALL UDDTCS ;Create section
;Calculate limits of symbol block
MOVE P1,PDVSYM ;Get address of defined-symbol record
LDB T2,[POINTR .STLEN(P1),SY%LEN] ;Get length of defined symbol table
ADD T2,.STPTR(P1) ;Add origin
MOVEM T2,TOPADR ;Save upper limit (+1) of symbol block
SUB T2,SYMLEN ;Subtract length of symbol block
MOVEM T2,SYMADR ;Save lower limit
;Copy symbol block into another section (PCDSEC). (Must copy since we will
; overlay the section 0 location of the symbol block with NRCOD).
MOVE T1,SYMLEN ;# of words to copy
MOVE T2,SYMADR ;Get origin of symbol block
HRLOI T3,PCDSEC ;Get sec,,-1
SUBI T3,-1(T1) ;Calculate new lower limit for symbol block
MOVEM T3,NEWADR ;Save it
EXTEND T1,[XBLT] ;Move symbol block to high end of PCDSEC
SETO T1, ;Prepare for unmap of the symbol block
MOVE T2,SYMADR ;Get starting address of symbol block again
LSH T2,-PGSFT ; and make # of pages
HRLI T2,.FHSLF!FH%EPN ;Ourselves, extended page #'s
MOVE T3,SYMLEN ;Get symbol block length
ADDI T3,<PGSIZ-1> ; and make sure we get all pages it occupies
LSH T3,-PGSFT ; and make # of pages
HRLI T3,(PM%EPN!PM%CNT) ;Extended pages, count
PMAP%
HRLZI T1,PCDSEC+1 ;Get new upper limit plus one
CALL UDDTSP ;Update PDVUSY/PDVSYM
;Create SYMSEC and XCDSEC
MOVEI T1,SYMSEC ;Runtime symbol table section
CALL UDDTCS ;Create it
MOVEI T1,XCDSEC ;Extended code section
CALL UDDTCS ;Create it, too
;Map ERCOD and ENCOD into SYMSEC
MOVEI T1,ERCOD ;Get ERCOD offset in section 0
MOVEI T2,ERCODZ ; and end of ERCOD
MOVX T3,ERCOD ; to its runtime location (in SYMSEC)
CALL UDDTMC ;Move ERCOD
MOVE T1,[MSEC1,,ENCOD&777777] ;Get POSTLD start of ENCOD
MOVE T2,[MSEC1,,ENCODZ&777777] ; and POSTLD end of ENCOD
MOVX T3,ENCOD ; to its runtime location
CALL UDDTPM ;Map the pages there
;Map NRCOD from section 1 into section 0
MOVE T1,PNRCOD ;Get NRCOD's location in the POSTLD image
MOVE T2,PNRCOD ; and make
ADDI T2,<NRCODZ-NRCOD> ; ending address
MOVEI T3,NRCOD ;Destination
CALL UDDTPM ;Map NRCOD into its runtime location in sec 0
;Map resident psects into XCDSEC
SETZ T1, ;From page 0
MOVEI T2,RSDATZ ; till end of RSDAT
MOVSI T3,XCDSEC ; into XCDSEC,,0
CALL UDDTPM ;Map
;Map RSDAT into SYMSEC
MOVEI T1,RSDAT ;From
MOVEI T2,RSDATZ ; upto
MOVE T3,[SYMSEC,,RSDAT] ; into
CALL UDDTPM ;Map
;Map XRCOD and XNCOD into XCDSEC
MOVE T1,[MSEC1,,XRCOD] ;From 1,,XRCOD
MOVE T2,[MSEC1,,XNCODZ] ; upto end of XNCOD
MOVX T3,XRCOD ; into runtime location
CALL UDDTPM ;Map
;Indirect pointer to page 0 in SYMSEC
SETZ T1, ;From page 0
MOVEI T2,<PGSIZ-1> ; upto end of page 0
MOVSI T3,SYMSEC ; into SYMSEC,,0
CALL UDDTPM ;Map
;Tell EDDT it's now in section SYMSEC
CALL UDDTSE ;Set EDDT environment
;Start EDDT at SYMSEC,,DDTX
XJRST [SYMSEC,,DDTX]
;DDTCZ - called on ^Z from EDDT in user mode
;
;DDTCZ undoes what DDTU did:
; 1. Unmap NRCOD in section 0
; 2. Unmap all pages in SYMSEC and XCDSEC and delete the sections
; 3. Move the symbol tables back from PCDSEC, and unmap PCDSEC.
; Update PDVSYM and PDVUSY.
; 4. Unmap the stack page (page 777)
DDTCZ:: SKIPE PLDRUN ;Did POSTLD run?
IFSKP. ; -no,
HALTF% ; just exit
JRST EVDDT ; and restart DDT on continue
ENDIF.
SETO T1, ;Prepare for unmap
MOVE T2,[.FHSLF!FH%EPN,,<NRCOD/PGSIZ>] ;NRCOD
MOVEI T3,<NRCODZ-NRCOD+PGSIZ>/PGSIZ ;# of pages to unmap
HRLI T3,(PM%CNT!PM%EPN) ;Count, extended page #'s
PMAP% ;Unmap
MOVX T1,ERCOD ;ERCOD start address (in SYMSEC)
MOVX T2,ERCODZ ;ERCOD ending address (in SYMSEC)
MOVEI T3,ERCOD ;ERCOD dest (in section 0)
CALL UDDTMC ;Move it
MOVEI T1,SYMSEC ;SYMSEC
CALL UDDTDS ; - unmap all pages and delete section
MOVEI T1,XCDSEC ;XCDSEC
CALL UDDTDS ; - unmap all pages and delete section
MOVE T1,SYMLEN ;# of words in symbol block
MOVE T2,NEWADR ;Get address of symbol block in PCDSEC
MOVE T3,SYMADR ; to section 0
EXTEND T1,[XBLT] ;Copy
MOVE T1,TOPADR ;Get the old symbol-block upper limit
CALL UDDTSP ;Update symbol-table pointers
MOVEI T1,PCDSEC ;PCDSEC
CALL UDDTDS ; - unmap all pages and delete section
JSR FAKDDT ;EDDT is now back in section 0
SETO T1, ;Prepare for unmap
MOVE T2,[.FHSLF!FH%EPN,,777] ;Page 777
MOVX T3,PM%EPN ;Extended page #'s
PMAP% ;Unmap stack page
HALTF% ;All done, exit
JRST EVDDT ;Go restart on continue
ENDSV.
;UDDTCS - create a section for user mode EDDT
;
;Call: T1/ sec #
; CALL UDDTCS
; +1 always
UDDTCS: MOVE T2,T1 ;Section # into place
SETZ T1, ;Create a section
HRLI T2,.FHSLF ; for ourselves
MOVEI T3,1 ;Just a single section
SMAP%
RET
;UDDTDS - unmap all pages and delete a section for user mode EDDT
;
;Call: T1/ section #
; CALL UDDTDS
; +1 always
UDDTDS: MOVE Q1,T1 ;Save section #
SETO T1, ;Unmap
MOVE T2,Q1 ;Get section #
LSH T2,PGSFT ;Make page #
HRLI T2,.FHSLF!FH%EPN ;Ourselves
MOVX T3,PM%CNT!PM%EPN!1000 ;All of the section
PMAP% ;Go
SETO T1, ;Delete section
MOVE T2,Q1 ;Get section #
HRLI T2,.FHSLF!FH%EPN ;Ourselves
MOVEI T3,1 ;Just 1 section
SMAP%
RET
;UDDTPM - map a sequence of pages for user EDDT
;
;Call: T1/ starting address
; T2/ last address to move
; T3/ destination address
; CALL UDDTPM
; +1 always
UDDTPM: SUB T2,T1 ;Get # of words (-1) to move
ADDI T2,1+PGSIZ ;# of pages to move
EXCH T2,T3 ;Put into place
LSH T1,-PGSFT ;Page #
HRLI T1,.FHSLF!FH%EPN ; from ourselves
LSH T2,-PGSFT ; to page #
HRLI T2,.FHSLF!FH%EPN ; and ourselves
LSH T3,-PGSFT ;# of pages
HRLI T3,(PM%CNT!PM%RD!PM%WR!PM%EPN) ;RD/WR..
PMAP%
RET
;UDDTMC - move (by BLT) a psect. Move by way of XBLT, and unmap source
; area after the copy.
;
;Call: T1/ starting address of src
; T2/ ending address of src
; T3/ dest address
; CALL UDDTMC
; +1 always
UDDTMC: STKVAR <LEN,ADR>
EXCH T1,T2 ;Get end address into T1, src addr to T2
SUB T1,T2 ;Get length - 1
AOJ T1, ; so make it length
MOVEM T1,LEN ;Save length (in words)
MOVEM T2,ADR ; and save address
EXTEND T1,[XBLT] ;Copy
SETO T1, ;Prepare for unmap
MOVE T2,ADR ;Get address
LSH T2,-PGSFT ; and make into page #
HRLI T2,.FHSLF!FH%EPN ;Own process and extended page numbers
MOVE T3,LEN ;Get length
ADDI T3,<PGSIZ-1> ;Round up to full pages
LSH T3,-PGSFT ; and make # of pages
HRLI T3,(PM%EPN!PM%CNT) ;Extended page #'s
PMAP% ;Unmap the source area
RET
ENDSV. ;End STKVAR
REPEAT 0,< ;[7215] DON'T NEED THIS ANYMORE
;UDDTUS - update symbol table pointers for PGRINI
;Call: T1/ new start address of symbol tables
; CALL UDDTUS
; +1 always
;
UDDTUS::SAVEQ ;Save Q1-Q3
MOVE Q1,PDVUSY ;Get undefined pointer
MOVE Q2,PDVSYM ; and defined pointer
EXCH T1,.STPTR(Q1) ;Save new, and get old start address
MOVE T2,.STPTR(Q2) ;Get old start address of defined table
SUB T2,T1 ;Difference between offsets
ADD T2,.STPTR(Q1) ;Add to new undefined
MOVEM T2,.STPTR(Q2) ; and thats the new defined!
RET
> ;[7215] END OF REPEAT 0
;Subroutine to update symbol-table pointers in SYMBLK
;CALL: CALL UDDTSP
;ARGS: T1/ New upper limit of symbol block (plus one)
; +1 always
UDDTSP::STKVAR <DEFLEN,UDFLEN> ;[7215]
;STKVAR LEGEND
; DEFLEN Current length of defined symbol table
; UDFLEN Current length of undefined symbol table
MOVE T2,PDVSYM ;Get pointer to defined symbol record
LDB T2,[POINTR .STLEN(T2),SY%LEN] ;Get length of symbol table
MOVEM T2,DEFLEN ;Save it
MOVE T3,PDVUSY ;Get pointer to undefined symbol record
LDB T3,[POINTR .STLEN(T3),SY%LEN] ;Get length of undefined symbol table
MOVEM T3,UDFLEN ;Save it
ADD T2,T3 ;Add undefined length to defined length
CAMG T2,SYMLEN ;Are we within allowable limit?
IFSKP. ; - NO
TMSG <%Symbol table exceeds maximum size and has been truncated
>
;Assume we have no undefined symbols ...
MOVE T2,SYMLEN ;Get maximum size
MOVEM T2,DEFLEN ;Save that as defined size
SETZM UDFLEN ;We have no undefined symbols
ENDIF.
SUB T1,DEFLEN ;Calculate origin of defined symbol table
MOVE T2,PDVSYM ;Get pointer to defined symbol block
MOVEM T1,.STPTR(T2) ;Save new pointer to defined symbols
SUB T1,UDFLEN ;Calculate origin of undefined symbol table
MOVE T2,PDVUSY ;Get pointer to undefined symbol block
MOVEM T1,.STPTR(T2) ;Save new pointer to undefined symbols
RET
ENDSV.
;UDDTSE - set EDDT environment to SYMSEC
; Assume running in section 0.
UDDTSE: MOVE 16,[UDDTSC,,1] ;Move code
BLT 16,5 ; into AC's so we can transfer to section 1
XJRST [MSEC1,,2] ;Jump to Ac 2 in section 1
UDDTS1: RET
UDDTSC: PHASE 1
SYMSEC,,FAKDDT ;[Ac 1] Address to call
JSR @1 ;[Ac 2] JSR to EDDT
XJRSTF 4 ;[Ac 3] Go back to section 0
0 ;[Ac 4] PC flags
0,,UDDTS1 ;[Ac 5] PC value
DEPHASE
>
RESCD
;RELOAD SYSTEM FROM DISK AND RESTART
SYSGO::
;START SYSTEM KEEP EXISTING SWPMON PAGES
SYSGOX::
COMMENT %
MOVE P,PI7P ;GET A STACK
CALL SAVSMM ;SAVE PRESENT SWPMON MAP
MOVEI T1,IRBOOT ;NOTE SPECIAL INTERNAL BOOT
MOVEM T1,BOOTFL
% ;End comment
JRST SYSGO1
;START FROM SCRATCH AFTER LOADING
IFN FTNSPSRV <
RSI SYMMV1,0 ;VALUES SET BY POSTLD FOR INITIALIZATION
RSI SYMMV2,0 ; ..
RSI SYMMV3,0 ; ..
>
SYSVSM::SETOM VSMFLG ;INDICATE FORCED CHECKS ON SWAPABLE MONITOR
SYSLOD::MOVX 7,MI%RFS ;INDICATE REFRESHING
MOVEM 7,STARTF ;SAVE INDICATION OF HOW WE STARTED
SYSGO1::
IFN FTNSPSRV,< ;[6.0]
MOVE T1,MONEDV+.EDSYM ;RESTORE SYMTAB POINTERS
MOVEM T1,.JBSYM
MOVE T1,MONEDV+.EDUSY
MOVEM T1,.JBUSY
>
IFN KCFLG,<
WRCTX SETMON ;DECLARE AC BLOCKS (MONITOR CURRENT, USER PREVIOUS)
>
IFN KLFLG,<
DATAO PAG,SETMON ;DECLARE AC BLOCKS
>
MOVE P,PI7P
XCT PIRST ;RESET PI AND IO
XCT IORST
SETZM STSBLK ;NO STATUS BLOCK NOW
;Move the symbol table and bug strings. Everything has been computed
;by POSTLD.
IFN FTNSPSRV <
MOVE T1,SYMMV1
BLT T1,@SYMMV2 ;MOVE EVERYTHING
MOVE T1,SYMMV3 ;GET VALUE TO ADJUST POINTERS
ADDM T1,MONEDV+.EDSYM ;UPDATE ALL POINTERS
ADDM T1,MONEDV+.EDUSY
ADDM T1,.JBSYM
ADDM T1,.JBUSY
>
;Now that symbol table is moved, resident storage can be initialized.
MOVE 1,[XWD ZROCOR,ZROCOR+1]
SETZM ZROCOR ;CLEAR FIRST WORD
BLT 1,@ZROEND ;CLEAR RESIDENT STORAGE AREA
AOS INSKED ;NOTE IN SCHED CONTEXT
;BLT THE VIRGIN COPY OF THE OWGBP TABLE INTO THE EPT
HRRZI T1,EPTGBP ;BLT TO EPTGBP
HRLI T1,OWGBPV ;BLT FROM OWGBPV
BLT T1,EPTGBP+OWGBPN-1 ;COPY THE OWGBP TABLE INTO THE EPT
IFN KLFLG,<
CALL MDTEIN ;FIND MASTER DTE, ETC.
IFN DTFLG,< ;DOING FE PROTOCOLS?
PIOFF ;MAKE SURE MACHINE IS QUIET
JSR BUGMON ;MAKE SURE IN PROPER PROTOCOL
>
> ;END IFN KLFLG
;Turn on paging and enter section 1.
CALL PGRINI ;INIT CST, ETC., TURN ON PAGING
SETZM CRSTD1
SETOM BTBLCK ;INITIALIZE BIT TABLE LOCK
SKIPE 1,CRSTAD ;HAVE SAVED PRE-CRASH INFO?
MOVE 1,BUGHAD ;YES, RESTORE CELLS
HRRZM 1,BUGHLT
HLRZM 1,BUGCHK
;STORE PROCESSOR'S SERIAL NUMBER. DETERMINE MODE OF ADDRESSING
;(EXTENDED VS: NONEXTENDED)
APRID T1 ;[7357] Get APR word
STOR T1,APRNM,APRSER ;[7357] Serial number only goes here
MOVEM T1,APRFLW ;[7363] Save APRID word here
TXNN T1,PMOV ;[7.1002] Is PMOVE/M present?
JRST NOPMOV ;[7.1002] No, can't continue
CALL RESFPI ;INITIALIZE THE RESIDENT FREE POOL
SKIPE T1,EXECBK ;HAS ADDRESS BREAK BEEN REQUESTED?
CALL STEXBK ;YES. TELL THE HARDWARE
JFCL ;STRANGE, BUT NOT WORTH STOPPING
CALL SEBINI ;INITIALIZE BUGS
CALL PVINIT ;INITIALIZE PI VECTORS
IFN PHYIOF,<
CALL PHYINI>
IFE PHYIOF,<
CALL DSKINI> ;DISK
IFN KCFLG,<CALL KCCINI> ;IF THE 2080, INIT CONSOLE PROTOCOL
CALL TTINIT ;TELETYPE MODULE
IFG DLXN,<CALL DLXINI> ;DL10 CONTROLER
CALL SCDIN ;SCHEDULER
CALL PSINIT ;PI MODULE - TURN ON THE PI SYSTEM
SETZM RESIFL ;END OF SYSTEM START UP (FOR RES FREE POOL)
MOVS T1,CTYLNO ;GET CTY LINE NUMBER
HRRI T1,JOBSRT ;START A NEW JOB LOCATION
CALL SCDRQ7 ;INITIATE FIRST JOB
JRST SCHED0 ;TO SCHEDULER
NOPMOV: BUG.(HLT,PMVWMC,STG,HARD,<Wrong UCODE - PMOVE/M instructions not present>,,<
Cause: The KL microcode currently running does not have the PMOVE or PMOVEM
instructions.
Action: Install the correct KL10 microcode on the front end and reload the
system. Edit 442 or greater of the KL10 mocrocode is required. Be
sure to answer "YES" to the "RELOAD MICROCODE" prompt from KLI.
>) ;[7.1002] Wrong microcode
;NOW FIND THE MASTER DTE
IFN KLFLG,<
MDTEIN: MOVSI T1,-DTEN ;NUMBER TO POLL
MOVE T2,[CONSO DTE0,DTEPRV] ;LOOK FOR PRIVILEGED BIT
MOVE T3,[CONSO DTE0,DTEPI0+7] ;CHECK FOR PI ASSIGNED
MOVE T4,[CONO DTE0,0] ; A CONO WORD
FDMST1: XCT T3 ;HAVE A PI ASSIGNMENT?
IFNSK.
HRRI T4,DTEPI0+DTEPIE ;NO TRY TO TURN ON PI 0
XCT T4 ;DO IT
XCT T3 ;DID IT TURN ON?
JRST FDMST0 ;NO. NON-EX DEVICE
TRZ T4,DTEPI0 ;TURN IT OFF
XCT T4
ENDIF.
XCT T2 ;THIS IT?
IFNSK.
MOVEI T2,0(T1) ;YES. GET DTE NUMBER
MOVEM T2,MSTRDT ;SAVE DTE NUMBER
LSH T1,^D26 ;ADJUST DEVICE FIELD
ADD T1,[CONO DTE0,0(T1)] ;FORM CONO WORD
MOVEM T1,DTSCNW ;STORE IN THE PROTOTYPE WORD
JRST SYSLD1 ;AND PROCEED
ENDIF.
FDMST0: ADD T2,[4B11] ;NEXT DTE
ADD T3,[4B11]
ADD T4,[4B11] ;ADJUST ALL I/O INSTRUCTIONS
AOBJN T1,FDMST1 ;LOOK AT NEXT
HALT . ;THIS CAN'T HAPPEN!!!!!!!!!!!!
;SET UP XPCW BLOCK FOR EACH DTE TO POINT TO INTERRUPT CODE
SYSLD1:
QQ==0
REPEAT DTEN,<DTXPCW \QQ ;STORE WORD FOR THIS DTE
QQ==QQ+1> ;DO THEM ALL
RET
> ;END IFN KLFLG
;ROUTINE TO RETURN THE LINE FREQUENCY OF THE POWER LINE
;RETURNS LINE FREQUENCY IN A. CLOBBERS ONLY A
LINFRQ::PUSH P,B ;SAVE AN AC
MOVEI A,^D60 ;ASSUME 60 HZ
APRID B ;GET LINE FREQ INFO
TRNE B,1B18 ;60 HZ?
MOVEI A,^D50 ;NO. TELL HIM IT IS 50 HZ
POP P,B ;RESTORE B
RET ;RETURN VALUE IN A
;AUTO RESTART PROCEDURE. HERE VIA PWRTRP (LOCATION 70) WHEN POWER
;RESTORED AFTER POWER FAILURE.
PWRRST::XJRST [0,,.+1] ;Insure section 0 entry or IORST will hang
XCT PIRST ;RESET WORLD
XCT IORST
MOVE P,PI7P ;NEED A STACK TO CALL MONEPT
CALL PAGRST ;Init pager
CALL PGRON ;Turn paging back on
JSR BUGMON ;SET TO SECONDARY PROTOCOL
MOVEI 1,[SIXBIT '$ATTEMPTING AUTOMATIC RESTART.../']
JSR BUGMSG
SETO 1,
CAMN 1,PWRDWN ;POWER FAIL SEQUENCE COMPLETED?
IFNSK. ;Yes, continue system
MOVEI 1,[SIXBIT '$ATTEMPTING TO CONTINUE SYSTEM$/']
JSR BUGMSG ;Tell CTY
SETZM SPWFFL ;Indicate that it was not spurious
JRST PWRRS1 ;Go restart
ENDIF.
;We never got to shut down gracefully. Complain and then BUGHLT.
MOVEI 1,[SIXBIT '$PWRDWN .NE. -1, RESTARTING...$/']
JSR BUGMSG
AOS INSKED ;BE SURE BUGHLT RESTARTS
BUG.(HLT,PWRFL,APRSRV,HARD,<Fatal power failure>,,<
Cause: The monitor has been started at the power-fail recovery code and is
attempting to recover. However, the loss of power that preceded this
occurred too quickly to allow an orderly shutdown. Therefore the
monitor is reloaded. This BUGHLT is preceeded by the messages:
"Attempting automatic restart..."
"PWRDWN .NE. -1, restarting..."
Action: No action required. The system should reload itself.
>) ;Crash and reload
;RESTART SYSTEM
DEFINE DEVRST (DEV)<
IFG DEV'N,<CALL DEV'RST>>
SYSRST::MOVE P,PI7P
XJRST [0,,.+1] ;Insure section 0 entry or IORST will hang
IFG DTFLG,< ;DOING FE PROTOCOLS?
PIOFF ;MAKE SURE ALL PI'S ARE OFF
JSR BUGMON ;MAKE SURE IN PROPER PROTOCOL
>
XCT PIRST
XCT IORST ;RESET PI AND IO
CALL PAGRST ;Init pager
CALL PGRON ;Turn paging back on
PWRRS1: XJRST [1,,.+1] ;Insure section 1 entry for TTRSET
SETOM SCDRN1
PUSH P,PWRDWN ;SAVE POWER FAIL INDICATOR
SETZM PWRDWN
CALL TTRSET
IFE PHYIOF,<
DEVRST DRM
DEVRST DSK
DEVRST MTA
> ;END IFE PHYIOF
IFN PHYIOF,<
CALL PHYRST
> ;END IFN PHYIOF
DEVRST LPT
IFG KSCDRN,<
DEVRST CDR
>
DEVRST DTA
DEVRST PTR
IFG PCDPN,< DEVRST CDP> ;CARD PUNCH
DEVRST PTP
IFG PLTN,< DEVRST PLT>
DEVRST VBC
DEVRST DLX
PUSH P,INSKED
MOVEI 1,1
MOVEM 1,INSKED
SETZM SKEDF1
CALL PVINIT ;INITIALIZE PI VECTORS
CALL PSINIT ;TURN ON PI SYSTEM
CALL SWPRST ;SWAPPER CLEANUP
IFG DTFLG,< ;DOING FE DH CONFIGURATIONS?
SKIPE PROFLG ;AND DOING PRIMARY PROTOCOL?
CALL DTERST> ;YES. GO INIT THE PROTOCOL
POP P,1 ;GET BACK INSKED
EXCH 1,0(P) ;SAVE OLD INSKED, RESTORE OLD PWRDWN
SKIPGE 1 ;DOING POWER RESTART?
IFNSK. ;Yes
CALL TTDALL ;Detach all jobs then
SKIPL SPWFFL ;Was it actually spurious?
BUG.(INF,PWRRES,APRSRV,HARD,<Power restart>,,<
Cause: The monitor was started at the power fail recovery code and is
attempting to recover. This BUGCHK is preceded by:
"Attempting automatic restart..."
"Attempting to continue system"
This indicates that an an orderly shutdown was accomplished before the
power fail so the system continues.
Action: No action required. The system attempts to restart itself.
>,,<DB%NND>) ;[7.1210] Not spurious, report power fail event
ENDIF.
POP P,1 ;GET OLD INSKED
JUMPN 1,SCHED0 ;RESUME SCHED IF THERE AT CRASH
;Never get here on power restart because a good power fail shutdown
;will have ended in the scheduler. Here only on manual restart.
CALL SETPPG ;REESTABLISH CONTEXT
SETZM INSKED
SETOM TRAPC
MOVX 1,USRCTX ;CRASH PROCESS RUNNING AT CRASH
MOVEM 1,FFL
SETZM FPC
MCENTR ;ENTER JSYS CONTEXT
ITERX
;DISPATCHES FOR PI CHANNELS 5-6.
;EACH ROUTINE CALLED WITH 'CALL'.
;ROUTINE SHOULD RETURN WITH 'RET' (CALLER +1) IF PI IS NOT FOR IT.
;ROUTINE SHOULD RETURN WITH 'UNBRK DEV' (JRST DEVCHR) AFTER HANDLING
;INTERRUPT.
DEFINE PICALL (DEV)<
IFG DEV'N,<CALL DEV'SV>>
PISC5::
IFN DTAN+PTRN+PCDPN!FTKLIPA,< ;GENERATE IF HELLIWELL IS ASSEMBLING OR CDP PRESENT
DMOVEM T1,PI5AC ;SAVE TEMP ACS
DMOVEM T3,PI5AC+2
DMOVEM CX,PI5CX ;SAVE CX, P
MOVE P,[IOWD NPISK,PI5STK]
IFN FTKLIPA,<
CONI KLP,CX ;GET DEVICE STATUS
TXNN CX,CI.CPE!CI.MBE!CI.FQE!CI.EPE!CI.RQA ;IS IT A KLIPA?
IFSKP.
MOVE CX,CHNTAB+KLPRH2 ;YES, GET ADDRESS OF CDB
MOVEM P1,CDBSVQ(CX) ;SAVE P1 WHERE EXIT SEQUENCE WANTS IT
MOVE P1,CX ;FAKE A JSP P1,PHYINT
DMOVE CX,PI5CX ;RESTORE CLOBBERED ACS
JRST PHYINT ;GO TO INTERRUPT HANDLER
ENDIF.
>
PICALL PCDP ;CARD PUNCH
PICALL DTA
PICALL PTR
>
IFE DTAN+PTRN+PCDPN!FTKLIPA,< ;IF NO PI CODE
PIOFF
DMOVEM CX,PIXCX ;SAVE REGS
MOVE P,[IOWD XPISK,PIXSTK]
EXCH T1,PI5CNT ;SAVE AC AND GET COUNTER
AOS T1 ;BUMP COUNTER
TRNN T1,7 ; COMPLAIN ON EVERY 8'TH ONE
BUG.(CHK,PI5ERR,STG,HARD,<Unexpected unvectored interrupt on channel 5>,,<
Cause: If no devices are supposed to exist on the system which cause
unvectored interrupts on channel 5, and more than ten such interrupts
happen, this bugchk will occur. This bugchk is only possible if
your system has no dectape and no card punch and no papertape
reader. It has been observed that the DX20 occasionally causes
random interrupts. Having the bugchk not happen until ten such
interrupts have been received tends to prevent the bugchk from
happening.
>) ;YES, COMPLAIN
EXCH T1,PI5CNT ;RESTORE AC AND COUNT
CLSB 5 ;CLEAR THE INTERRUPT ON 5
> ;IFE DTAN+PTRN+PCDPN
IFN DTAN+PTRN+PCDPN!FTKLIPA,< ;GENERATE IF HELLIWELL IS ASSEMBLING OR CDP PRESENT
KLPCHR::
CDPCHR::
PTRCHR::
DTACHR::
DMOVE T1,PI5AC ;RESTORE TEMPS
DMOVE T3,PI5AC+2
DMOVE CX,PI5CX ;RESTORE CX, P
RS PI5AC,4
RS PI5CX,2
RS PI5STK,NPISK
>
IFE DTAN+PTRN+PCDPN!FTKLIPA,< ;IF NO PI CODE
DMOVE CX,PIXCX ;RESTORE REGS
PION
> ;IFE DTAN+PTRN+PCDPN
XJEN PI5R
PISC6::
IFN KCFLG,< ;FOR THE KC
MOVE P,[IOWD NPISK6,PI6STK] ;GET A STACK
CALL CNTTYI ;GO DO THE PROCESSING
> ;IFN KCFLG
IFN SMFLG!KNIN!<PLTN+VBCN+PTPN>,< ;GENERATE FOR KS10 AND/OR HELLIWELL
DMOVEM T1,PI6AC ;SAVE TEMP ACS
DMOVEM T3,PI6AC+2
DMOVEM CX,PI6CX ;SAVE CX, P
MOVE P,[IOWD NPISK6,PI6STK]
PICALL PLT
PICALL VBC
PICALL PTP
PICALL KNI
> ;IFN SMFLG!KNIN!<PLTN+VBCN+PTPN>
IFE KCFLG!SMFLG!KNIN!<PLTN+VBCN+PTPN>,< ;IF NO PI CODE
PIOFF
DMOVEM CX,PIXCX
MOVE P,[IOWD XPISK,PIXSTK]
BUG.(CHK,PI6ERR,STG,HARD,<Unexpected unvectored interrupt on channel 6>,,<
Cause: An unvectored PI interrupt has occurred which no devices have claimed
responsibility for. This most likely indicates a hardware malfunction.
Action: Field Service should check out the system.
>)
CLSB 6 ;CLEAR THE INTERRUPT ON 6
> ;IFE KCFLG!SMFLG!KNIN!<PLTN+VBCN+PTPN>
IFN SMFLG!KNIN!<PLTN+VBCN+PTPN>,< ;GENERATE FOR KS10 AND/OR HELLIWELL
PLTCHR::
VBCCHR::
PTPCHR::
LPTCHR::
KNICHR::
IMPCHR::
DMOVE T1,PI6AC
DMOVE T3,PI6AC+2
DMOVE CX,PI6CX ;RESTORE ACS
RS PI6AC,4
RS PI6CX,2
RS PI6STK,NPISK6
> ;IFN SMFLG!KNIN!<PLTN+VBCN+PTPN>
IFE KCFLG!SMFLG!KNIN!<PLTN+VBCN+PTPN>,< ;IF NO PI CODE
DMOVE CX,PIXCX ;RESTORE REGS
PION
> ;IFE KCFLG!SMFLG!KNIN!<PLTN+VBCN+PTPN>
XJEN PI6R
RS PIXCX,2 ;SAVE REGS HERE
NDG XPISK,10
RS PIXSTK,XPISK ;STACK FOR NON-PI CASES
;DUMMY ROUTINES FOR DEVICES NOT PRESENT
IFE DTAN,< ;IF NO DECTAPES
DTADTB::
DTAACK::
DTAMCK::
DTASTS::
RET
>
IFE DRMN!PHYIOF,<
;DRUM DRIVER - DUMMY DRUM, USES DSK
RESCD
;DRUM IO DRIVER
; AC1/ 18-35 CORE PAGE NUMBER (CST INDEX) OF PAGE
; DWRBIT WRITE OPERATION IF 1, READ IF 0
DRMIO:: HLLZS CST3(1) ;SINGLE PAGE REQUEST, ZERO REST OF LIST
DRMIOM::SKIPG DRUMP ;DRUM ON SYSTEM?
JRST DSKIOM ;NO, USE DISK
BUG.(HLT,DRUMP1,STG,SOFT,<DRMIO - Drum on but no drum code in system>,,<
Cause: This can only happen on the 2020. This BUGHLT occurs at DRMIOM if
DRUMP contains a positive number. DRUMP contains DRMN, which, if
positive, causes the DRUMP1 BUGHLT code not to be assembled.
>)
DRMINI::RET
> ;END IFE DRMN!PHYIOF
;Routine used by TTYSRV channel 7 code to scan lines that do
;not feed BIGBUF.
XTRCH7:: ;ENTRY FROM TTYSRV
IFN KCFLG,< ;IF THE KC
CALL CNSCAN ;DO SCAN
>
RET ;AND DONE
;Routine called at fork death to handle processor dependent stuff.
INTCLR::
IFN KCFLG,< ;FOR THE 2080
CALL CHKEMM ;CLEAR EMM INTS
> ;IFN KCFLG
RET ;THAT'S ALL
; ATSSRV STORAGE
;POINTERS FOR BACKGROUND PROCESS QUEUES
IFN ATS,<
NR ATBTR1 ;HEAD OF TERMINAL BLOCK QUEUE
NR ATBTR2 ;TAIL OF TERMINAL BLOCK QUEUE
NR ATBDD1 ;HEAD OF DATA PIPE DATA QUEUE
NR ATBDD2 ;TAIL OF DATA PIPE DATA QUEUE
NR ATBCD1 ;HEAD OF CONTROL PIPE DATA QUEUE
NR ATBCD2 ;TAIL OF CONTROL PIPE DATA QUEUE
NR ATBPI1 ;HEAD OF PIPE BLOCK QUEUE
NR ATBPI2 ;TAIL OF PIPE BLOCK QUEUE
RS ATBPFG ;FLAG TO WAKE UP BACKGROUND PROCESS
; (-1 TO WAKE, 0 TO SLEEP)
NR NRBKGR ;NRM BACKROUND TASK NEEDS TO DISMS AND TRY AGAIN
NDG ATMAX,^D96 ;MAXIMUM NUMBER OF HTN'S IN SYSTEM
NR HTNADR,ATMAX+1 ;TABLE OF ADDRESSES OF TERMINAL DATA
; INDEXED BY HTN (WORD 0 UNUSED)
;SYSTEM INPUT BIT MASK - ONE BIT PER HTN
AMDAT==:1 ;FIRST WORD IN BLOCK THAT HAS VALID BITS
NATMSK==:<<ATMAX+^D36>/^D36>+AMDAT ;NUMBER WORDS OF FREE SPACE
>
;Temporary dummy routines for the KC
IFN KCFLG,<
RESCD
DTTIME::
DTEPOL::RET
PROINI::RET
RS FEFLG,1
.BOOT::JRST MRETN
.LPINI::JRST MRETN
>
PRBDEV::ASCIZ/
% Problem on device / ;[7.1200][7193] PROBLEM ON DEVICE MESSAGE
CRLF::ASCIZ/
/ ;[7193] CRLF
COMMENT \
HOW TO ADD A CUSTOM PASSWORD-ENCRYPTION ALGORITHM
1. Add the code for the new algorithm immediately after the dispatch table
CUSDIS.
2. Add the entry address for the new algorithm to the first unused slot
in CUSDIS.
3. Redefine MX%CPV so that the table index for the new
algorithm is included in the interval [MN%CPV...MX%CPV].
4. Change location PSENVR to contain MX%CPV.
For example, if slot 1 is the first unused slot in CUSDIS, and the entry
address to the new algorithm is CUSENC, then:
PSENVR::MX%CPV
CUSDIS::[RETSKP] ;Version 0 (Always unencrypted)
MN%CPV==:<.-CUSDIS-1>!1B18
CUSENC ;Version 1
MX%CPV==:<.-CUSDIS-1>!1B18
[RET] ;Version 2
.
.
.
CUSDIS+0 must not be changed. Also, all customer encryption-numbers must have
bit 18 set.
RULES FOR CODING THE ALGORITHM
1. The routine must always return with +2 (e.g. with RETSKP).
Before the encryption code is entered, the encryption
version number will be range-checked by the monitor. If the version
number fails that check, then a +1 return is done to inform
the caller that an illegal version number was specified.
2. The routine must preserve all AC's except T1-T4
3. The routine will be called with T2 containing a pointer to
an 8-word JSB free-space block containing the plaintext password.
This pointer is in the form: (-(LEN-1),,TEXT-1).
4. The routine must return with T1 containing a pointer
(again, in the format: (-(LEN-1),,TEXT-1) ) to an
8-word JSB free-space block containing the cyphertext password.
The block in which the plaintext is passed may be used to
produce and store the cyphertext password. If additional JSB
freespace is required to produce the cyphertext password,
then that space must be released by the routine before the
return is performed. One (and only one) 8-word JSB block
must be left assigned on the return.
5. Password compares are done on a per-word basis. To avoid problems,
encrypted passwords should be padded with trailing nulls to the end
of the 8-word block.
6. Immediately before the encryption algorithm is called, the
monitor saves the current date and time in cell DRPDT of
the currently mapped directory. By folding the contents of
DRPDT into the password during the encryption process, customers
can insure that duplicate passwords will not generate the same
cyphertext.
The contents may be fetched as follows:
MOVE T1,DIRORA ;Get directory origin
LOAD T1,DRPDT,(T1) ;Get encryption date and time
The contents of DRPDT are saved and restored by DUMPER/DLUSER. DRPDT
is changed only when a new password is created with CRDIR, and
not when an existing password is restored with CRDIR.
\ ;End comment
;Password encryption definitions
SWAPCD
PSENVR::1 ;Encryption algorithm to use when
;encrypting new passwords
;Customer password-encryption version-number interval
MINCPV::MN%CPV ;Minimum customer password encryption version
MAXCPV::MX%CPV ;Maximum customer password encryption version
;Customer password-encryption version-number dispatch table.
CUSDIS::[RETSKP] ;Version 0 (Always unencrypted)
MN%CPV==:<.-CUSDIS-1>!1B18 ;Current minimum customer encryption version
MX%CPV==:<.-CUSDIS-1>!1B18 ;Current maximum customer encryption version
[RET] ;Version 1
[RET] ;Version 2
[RET] ;Version 3
[RET] ;Version 4
[RET] ;Version 5
[RET] ;Version 6
[RET] ;Version 7
[RET] ;Version 10
;Customer-written encryption algorithms go here
;END OF STORAGE AREAS
S$END PSVAR
S$END JSVAR
S$END NPVAR
S$END ERVAR
S$END ENVAR
S$END EPVAR
TNXEND
END EVGO