Olympic sized pool for RSX11M V4.0 M. R. Stewart Western Electric Lisle, Illinois (CARTS LUG) Individuals having problems with running out of pool on large memory RSX11M V4.0 systems can gain about 1/2K or more by relocating some of the crash dump code into the EXCOM2 partition. A procedure for doing this will be outlined here and the appropriate SLP correction files will be available on the DECUS tape in the CARTS LUG area. Two correction files CRASH.COR and CRASX2.COR listed below can be applied to CR.MAC (a shortened CRASH.MAC) and CRASH.MAC (the distribution crash module) to make two modules. The first module built from the shortened file and CRASH.COR should be called CRASH.MAC and placed in [11,10] of the distribution. The other module should be called CRASX2.MAC and also placed in area [11,10]. The second module will be used to produce an object module that will be taskbuilt with EXCOM2. Rather than risk a patch of the SYSGEN command file, a template build file for the executive code is included to show how to proceed. The second module (CRASX2.MAC) is easy to do, simply apply CRASX2.COR to CRASH.MAC using SLP to produce CRASX2.MAC. The first module is not quite as simple since there are too many differences to build a correction file with CMP using the original CRASH.MAC file. One can edit the original CRASH.MAC file to produce a CR.MAC file that can be used with the CRASH.COR file supplied to make the correction. The CR.MAC is identical to the CRASH.MAC file, except all lines after the label $CRALT:: are deleted. If one builds a CR.MAC file in this manner, then SLP can be used with CRASH.COR on CR.MAC to produce an output file CRASH.MAC to substitute for the one supplied with the distribution. You will probably notice the macros defined in the new crash module. They were defined to build labels for the information that is saved when the system crashes. This approach allowed the code to be done so that no problems arose when the new system was tried. The relocation of the crash dump routines has been tried on several different systems with and without extended memory. However, there are many combinations that have not been tried, so the macros may help if one encounters problems. The executive assembly file RSXASM.CMD and the build file RSXBLD.CMD will have to be modified to assemble and build the executive successfully. Two example files are shown below. The arrows indicate where changes are required. Page 2 ****** RSXASM.CMD ****** [1,24]DRDSP=LB:[1,1]EXEMC/ML,SY:[11,10]RSXMC/PA:1,DRDSP . . . [1,24]CRASH=LB:[1,1]EXEMC/ML,SY:[11,10]RSXMC/PA:1,CRASH => [1,24]CRASX2=LB:[1,1]EXEMC/ML,SY:[11,10]RSXMC/PA:1,CRASX2 [1,24]CVRTM=LB:[1,1]EXEMC/ML,SY:[11,10]RSXMC/PA:1,CVRTM . . . [1,24]LOADR=LB:[1,1]EXEMC/ML,SY:[11,10]RSXMC/PA:1,LOADR ****** RSXBLD.CMD ****** NL:[1,54]EXCOM1/-HD/-MM/NM/-FP,,SY:[1,54]EXCOM1= LB:[1,24]RSX11M/LB:CVRTM:DRABO:DRATX:DRCLI:DRCMT:DRDAR LB:[1,24]RSX11M/LB:DRDSP:DRGCL:DRGLI:DRGPP:DRGSS:DRGTK LB:[1,24]RSX11M/LB:DRMKT:DRPUT:DRQIO:DRRAS:DRRES:DRREQ LB:[1,24]RSX11M/LB:DRSED:DRSPW:DRSST LB:[1,1]EXELIB/LB LB:[1,1]SYSLIB/DL / STACK=0 PAR=EXCOM1:120000:20000 UNITS=0 ; GBLXCL=CKQMT GBLXCL=CKACP GBLXCL=CKPND GBLXCL=CKTRN / NL:[1,54]EXCOM2/-HD/-MM/NM/-FP,,SY:[1,54]EXCOM2= LB:[1,24]RSX11M/LB:DRASG:DRATP:DRCIN:DREXP:DRGEF:DRGTP => LB:[1,24]RSX11M/LB:DRMAP:DRREG:DRSMG:CRASX2:PANIC LB:[1,1]EXELIB/LB LB:[1,1]SYSLIB/DL / STACK=0 PAR=EXCOM2:120000:20000 UNITS=0 / [1,54]RSX11M/-HD/-FP,DL4:[1,34]RSX11M/-SP,SY:[1,54]RSX11M= LB:[1,24]RSX11M/LB:LOWCR:CRASH:SYSXT:DREIF:SYSCM LB:[1,1]SYSLIB/LB:C5TA LB:[1,24]RSX11M/LB:BFCTL:CORAL:EXESB:IOSUB:MDSUB:MEMAP:PARTY:POWER LB:[1,24]RSX11M/LB:QUEUE:REQSB:SSTSR:SYSDF:TDSCH:DRSUB LB:[1,24]RSX11M/LB:DRDCP:DRGIN LB:[1,24]RSX11M/LB:ERROR:PLSUB LB:[1,24]RSX11M/LB:NLDRV LB:[1,24]RSX11M/LB:SYSTB:SYTAB:INITL,LB:[1,1]EXELIB/LB/SS [1,54]EXCOM1.STB/SS [1,54]EXCOM2.STB/SS Page 3 LB:[1,1]SYSLIB/DL / CORSIZ=32 STACK=0 UNITS=0 PAR=EXEPAR:0:160000 GBLDEF=$USRTB:0 / [1,54]EXCOM1/-HD/-MM/-FP,DL4:[1,34]EXCOM1/-SP,SY:[1,54]EXCOM1= LB:[1,24]RSX11M/LB:CVRTM:DRABO:DRATX:DRCLI:DRCMT:DRDAR LB:[1,24]RSX11M/LB:DRDSP:DRGCL:DRGLI:DRGPP:DRGSS:DRGTK LB:[1,24]RSX11M/LB:DRMKT:DRPUT:DRQIO:DRRAS:DRRES:DRREQ LB:[1,24]RSX11M/LB:DRSED:DRSPW:DRSST LB:[1,1]EXELIB/LB [1,54]RSX11M.STB/SS [1,54]EXCOM2.STB/SS LB:[1,1]SYSLIB/DL / STACK=0 PAR=EXCOM1:120000:20000 UNITS=0 / [1,54]EXCOM2/-HD/-MM/-FP,DL4:[1,34]EXCOM2/-SP,SY:[1,54]EXCOM2= LB:[1,24]RSX11M/LB:DRASG:DRATP:DRCIN:DREXP:DRGEF:DRGTP => LB:[1,24]RSX11M/LB:DRMAP:DRREG:DRSMG:CRASX2:PANIC LB:[1,1]EXELIB/LB [1,54]RSX11M.STB/SS LB:[1,1]SYSLIB/DL / STACK=0 PAR=EXCOM2:120000:20000 UNITS=0 / [1,54]LDR/MM/PR/-CP/-SE/-FP,DL4:[1,34]LDR/-SP=LB:[1,24]RSX11M/LB:LOADR LB:[1,1]EXELIB/LB/SS SY:[1,54]RSX11M.STB/SS LB:[1,1]SYSLIB/DL / STACK=8 UNITS=1 PRI=248 TASK=LDR... PAR=LDRPAR:0:2600 / If you like to type and wish to try the olympic sized pool on your system use the two correction files below or write M. R. Stewart, 4513 Western Ave., Lisle, Illinois, Dept. 734. ****** CRASH.COR ****** Page 4 -2,2 .IDENT /5.21W/ ; MRS01 -107 .NLIST .MACRO COMSTK X,Y .IF EQ Y .WORD 0 ;PROGRAM STATUS ; MRS01 .ENDC .IF EQ Y-1 .WORD 0 ;STACK POINTER ; MRS01 .ENDC .IF EQ Y-2 .WORD 0 ;PC BEFORE CRASH ; MRS01 .ENDC .IF EQ Y-3 .WORD 0 ;PS BEFORE CRASH ; MRS01 .ENDC .IF EQ Y-4 .WORD 0 ;USER STACK ; MRS01 .ENDC .IF GT Y-4 .IF LT Y-13 $B=Y-5 COMREG $B .ENDC .ENDC .IF EQ Y-13 .WORD 0 ;SR0 ; MRS01 .ENDC .IF EQ Y-14 .WORD 0 ;SR1 ; MRS01 .ENDC .IF EQ Y-15 .WORD 0 ;SR2 ; MRS01 .ENDC .IF EQ Y-16 .WORD 0 ;SR3 ; MRS01 .ENDC .IF GT Y-16 $Z=Y-17 .IF GE $Z .IF LT $Z-8. UIPDR $Z .ENDC .ENDC .IF GE $Z-8. .IF LT $Z-16. $B=$Z-8. UDPDR $B .ENDC .ENDC .IF GE $Z-16. .IF LT $Z-24. $B=$Z-16. UIPAR $B Page 5 .ENDC .ENDC .IF GE $Z-24. .IF LT $Z-32. $B=$Z-24. UDPAR $B .ENDC .ENDC .IF GE $Z-32. .IF LT $Z-40. $B=$Z-32. SIPDR $B .ENDC .ENDC .IF GE $Z-40. .IF LT $Z-48. $B=$Z-40. SDPDR $B .ENDC .ENDC .IF GE $Z-48. .IF LT $Z-56. $B=$Z-48. SIPAR $B .ENDC .ENDC .IF GE $Z-56. .IF LT $Z-64. $B=$Z-56. SDPAR $B .ENDC .ENDC .IF GE $Z-64. .IF LT $Z-72. $B=$Z-64. KIPDR $B .ENDC .ENDC .IF GE $Z-72. .IF LT $Z-80. $B=$Z-72. KDPDR $B .ENDC .ENDC .IF GE $Z-80. .IF LT $Z-88. $B=$Z-80. KIPAR $B .ENDC .ENDC .IF GE $Z-88. .IF LT $Z-96. $B=$Z-88. KDPAR $B .ENDC Page 6 .ENDC .IF GE $Z-96. .WORD 0 ;STACK'X ; MRS01 .ENDC .ENDC ;Y>16 ; MRS01 .ENDM COMSTK .MACRO COMREG X .WORD 0 ;R'X ; MRS01 .ENDM COMREG .MACRO COMUMR X .WORD 0 ;UMR'X ; MRS01 .ENDM COMUMR .MACRO COMMMR X .WORD 0 ;MM'X ; MRS01 .ENDM COMMMR .MACRO COMEAE X .WORD 0 ;EAE'X ; MRS01 .ENDM COMEAE .MACRO COMFPP X .WORD 0 ;FPP'X ; MRS01 .ENDM COMFPP .MACRO UIPDR X .WORD 0 ; UISDR'X ; MRS01 .ENDM UIPDR .MACRO UDPDR X .WORD 0 ; UDSDR'X ; MRS01 .ENDM UDPDR .MACRO UIPAR X .WORD 0 ; UISAR'X ; MRS01 .ENDM UIPAR .MACRO UDPAR X .WORD 0 ; UDSAR'X ; MRS01 .ENDM UDPAR .MACRO SIPDR X .WORD 0 ; SISDR'X ; MRS01 .ENDM SIPDR .MACRO SDPDR X .WORD 0 ; SDSDR'X ; MRS01 .ENDM SDPDR .MACRO SIPAR X .WORD 0 ; SISAR'X ; MRS01 .ENDM SIPAR .MACRO SDPAR X .WORD 0 ; SDSAR'X ; MRS01 .ENDM SDPAR .MACRO KIPDR X .WORD 0 ; KISDR'X ; MRS01 .ENDM KIPDR .MACRO KDPDR X .WORD 0 ; KDSDR'X ; MRS01 .ENDM KDPDR .MACRO KIPAR X .IIF IDN ,<5> $RKAR5==. .WORD 0 ; KISAR'X ; MRS01 .ENDM KIPAR Page 7 .MACRO KDPAR X .WORD 0 ; KDSAR'X ; MRS01 .ENDM KDPAR .LIST ; ; DEFINE BLOCK NUMBERS UP FRONT ; MRS01 ; .IF EQ C$$CDA-1 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-2 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-3 PBNH=0 PBNL=0 .ENDC .IF EQ C$$CDA-4 PBNH=0 PBNL=0 .ENDC .IF EQ C$$CDA-5 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-6 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-7 PBNH=0 PBNL=2 .ENDC .IF EQ C$$CDA-10 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-11 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-12 PBNH=0 PBNL=0 .ENDC .IF EQ C$$CDA-13 PBNH=0 PBNL=1 .ENDC .IF EQ C$$CDA-14 PBNH=0 PBNL=1 .ENDC Page 8 -113 $MRS:: .WORD 0 ; SAVE KERNAL APR5 HERE ; MRS01 -117,185 -195,195 B=158. .REPT 159. ;... MAPPED STACK IS THIS LARGE ; MRS01 COMSTK b,B B=B-1 .ENDR ; MRS01 -213,213 B=5 .REPT 7 ;R0 THRU R5 AND SP ; MRS01 COMREG b B=B-1 .IF LT B ; MRS01 B=6 ; MRS01 .ENDC .ENDR ; MRS01 -217,217 .WORD 0 ;SAVED BPT/T-BIT VECTOR CONTENTS ; MRS01 -225,225 B=<31.-5.>*2-1 ;START HERE .REPT <31.-5.>*2 ;UNIBUS MAPPING REGISTERS ; MRS01 COMUMR b B=B-1 .ENDR ; MRS01 -229,229 B=24. .REPT 25. ;MEMORY MANAGEMENT REGISTERS ; MRS01 COMMMR b B=B-1 .ENDR ; MRS01 -235,235 B=2 .REPT 3 ;EAE REGISTERS ; MRS01 COMEAE b ; MRS01 B=B-1 .ENDR ; MRS01 -243,243 B=26. .REPT 27. ;FLOATING POINT REGISTERS ; MRS01 COMFPP b ; MRS01 B=B-1 .ENDR ; MRS01 -266,266 -329 MOV KISAR5,$MRS ; Save for later ; MRS01 MOV $XCOM2,KISAR5 ; MAP TO WHATEVER ; MRS01 JMP $CRASX ; JOIN COMMON JUNK ; MRS01 .ENDC ; C$$RSH ; MRS01 .END / ****** CRASX2.COR ****** Page 9 -1,94 .TITLE CRASX2 .IDENT /1.00/ -108,116 -185,258 -269,293 ;+ ; **-$CRASX-EXTERNAL SYSTEM CRASH DUMP ROUTINE -308,309 -319,329 .IF DF C$$RSH ;**-6 $CRASX:: ; MRS01 -456 MOV $MRS,$RKAR5 ;;;RESTORE REAL KISAR5 ; MRS01 /