Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/cex/cexdat.m11
There are no other files named cexdat.m11 in the archive.
.TITLE CEXDAT - Comm/Exec Data Base
.IDENT /003170/
.ENABL LC
;
; COPYRIGHT (c) 1980, 1981, 1982
; DIGITAL EQUIPMENT CORPORATION
; Maynard, Massachusetts
;
; 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 which is not supplied by
; DIGITAL.
;
;++
; FACILITY: MCB Communications Executive
;
; FUNCTIONAL ABSTRACT:
;
; This module contains the Comm/Exec Global Data Base Items.
;
; ENVIRONMENT: RSX kernel mode with EIS
;
; AUTHOR: Alan D. Peckham, CREATION DATE: 16-Jul-80
;
; MODIFIED BY:
;
; Alan D. Peckham, 16-Jul-80: VERSION 3.0
; 01 - Move all Data Items to this module.
; 02 - Add global symbol delimeters for dump analyzer.
; 03 - Enable UNWIND data.
; 04 - New data for SIGNAL processing.
; 05 - No longer need .BBIAS
; Add biases to debug and panic dump processes.
; Add panic dump register save area.
; Add DTE boot ROM address for "magic finger" power failure.
; 06 - Data base changes for new signalling strategy.
; Reduce panic dump register save area.
; 07 - Longer fork block to set up APR5 during fork.
; 08 - Add data for BLISS call tracing.
; Alan D. Peckham, 10-Dec-80: VERSION 3.1
; 09 - Remove timer listheads.
; Extend exception vectors.
; Added interrupt priority blocks.
; 10 - Add priority 7 interrupt priority block.
; 11 - Add user-accessable data base bias/address words.
; Add CCB and SDB recovery data items.
; Alan D. Peckham, 30-Jan-80: VERSION 3.2
; 12 - New exception vector data base.
; Add .CRPDB - current process descriptor.
; Add .PDBVB, .PDBVE - process descriptor block table vector
; add .PDBNM - number of process descriptor entries
; and remove .PDTTA - process descriptor table
; remove .PDTNM - number of processes.
; Remove SDB items and add COR data base items.
; Add process name directory items.
; 13 - Add .CRDSP - current dispatch table.
; Add .PDSYN - SYNCH block for process destroyer.
; 14 - Save areas .CCBDM, .RDBCM, .RDBDM get merged into CCB/buffer
; tables. Add CEX status return word.
; 15 - Add .UBMTA: UNIBUS mapping table pointer.
; 16 - Remove .SDBSZ: small data buffer size.
; Add .LOGPT: common event logging buffer pointer.
; Add .BLKTB: free mapped core block list header.
; 17 - Add statistics counters.
;--
.PSECT $GLOB$,D
.CEBEG:: ; Beginning of CEX data region.
;
; Panic dump register save area - ORDER is CRITICAL
;
.BLKW 10 ; Panic dumper stack.
.BLKW 2 ; Save area for 4,24.
.USRSP::.WORD 0 ; User SP.
.KNLP6::.WORD 0 ; Kernel APR 6.
.KNLRG::.WORD 0 ; Register 0.
.WORD 0 ; Register 1.
.WORD 0 ; Register 2.
.WORD 0 ; Register 3.
.WORD 0 ; Register 4.
.WORD 0 ; Register 5.
.PANSP::.WORD 0 ; Kernel SP on entry to panic dump.
.PANPS::.WORD 0 ; PS on entry to panic dump.
;
; Fixed CCB/buffer pools
;
.CCBTB:: ; The following MUST BE CONTIGUOUS
.WORD 0 ; * No buffer on a CCB
.WORD 0 ; * Number of CCBs in the system.
.WORD 0 ; * Number of CCB allocation failures.
.IF NE,C$$QUE
.WORD 0,.-2 ; * Queue list head of free CCBs.
.IFF
.WORD 0 ; * Stack list head of free CCBs.
.ENDC
.WORD 0 ; * Number of free CCBs.
.WORD 0 ; * Number of lines requesting an CCB.
.WORD .PDBVB ; * PD address of last process to receive CCB.
.WORD ZF.CCB ; * PDB request flag
.BYTE FC.SYS,FM.CCB ; * Request dispatch function/modifier.
.WORD 0,0 ; * Allocated core bias/length.
.CCBDM::.WORD 0,0 ; * Allocated DSR address/length.
.RDBTB:: ; The following MUST BE CONTIGUOUS
.RDBSZ::.WORD 0 ; * Size of a RDB in bytes.
.WORD 0 ; * Number of RDBs in the system.
.WORD 0 ; * Number of RDB allocation failures.
.IF NE,C$$QUE
.WORD 0,.-2 ; * Queue list head of free RDBs.
.IFF
.WORD 0 ; * Stack list head of free RDBs.
.ENDC
.WORD 0 ; * Number of free RDBs.
.WORD 0 ; * Number of lines requesting an RDB.
.WORD .PDBVB ; * PD address of last process to receive RDB.
.WORD ZF.RDB ; * PDB request flag
.BYTE FC.SYS,FM.RDB ; * Request dispatch function/modifier.
.RDBCM::.WORD 0,0 ; * Allocated core bias/length.
.RDBDM::.WORD 0,0 ; * Allocated DSR address/length.
.CORTA::.WORD 0 ; Address of core allocation tables.
.CORNM::.WORD 0 ; Number of core allocation entries.
.BLKTB::.WORD 0 ; Mapped core block table bias.
.LOGPT::.WORD 0 ; Common event logging buffer.
.UBMTA::.WORD 0 ; Unibus mapping table address
;
; Scheduler data
;
.PDBNM::.WORD P$$MAX ; Number of processes.
.PDBVB::.REPT P$$MAX ; Process descriptor vector.
.WORD 0
.ENDR
.PDBVE::.WORD .PDBVB ; End of process descriptor vector.
.PNMNM::.WORD 0 ; Number of entries in process name directory
.PNMTA::.WORD 0 ; Address of process name directory.
.SLTNM::.WORD 0 ; Number of system lines.
.SLTTA::.WORD 0 ; System line table address
.PWRFL::.WORD -1 ; Power recovery count.
.CEXDP::.WORD -1 ; Comm/Exec processing level:
; <0 RSX level
; 0 Process level
; >0 Interrupt level
.CEXRQ::.WORD 0 ; MCB scheduling requested.
.FRKBK::.WORD 0 ; Address of Comm/Exec fork block.
.CEXST::.WORD 0 ; Signal status return from CEX extension.
.TIMDS::.WORD 0 ; Address of timer handler.
.RSXMP::.WORD 0 ; Saved RSX mapping to APR 6.
.PDSYN::.WORD 0,0,0 ; Process destroyer SYNCH block.
.RND:: .WORD 0,31415 ; Random number seed.
.SYNQH::.WORD 0,.-2 ; SYNCH queue.
.SYNCT::.WORD 0 ; Synchronizations serviced
.CBLQH::.WORD 0,.-2 ; CCB queue, to lower level process.
.CBHQH::.WORD 0,.-2 ; CCB queue, to higher level process.
.DSPCT::.WORD 0 ; CCBs dispatched
.CRPDB::.WORD 0 ; Current process descriptor.
.CRDSP::.WORD 0 ; Current dispatch table.
.CRDAT::.WORD 0,0 ; Current process data base bias/address.
.CRPIX::.WORD 0 ; Current process index.
;
; Device interrupt data
;
.DTERG::.WORD 0 ; DTE boot ROM address for
; "magic finger" power failure test.
.INTCB::.WORD 0 ; Current interrupt priority block.
.IRPC pri,<4567>
.INTC'pri::
JSR R4,@#$INTCE
.WORD 0 ; Priority block link word
.WORD 0 ; Current interrupting process
.WORD 0 ; Interrupt count
.WORD pri*40 ; Interrupt priority
.ENDM
;
; Signal handling data area.
;
$IGREG::.WORD 0 ; Enable frame pointer.
$HANSP::.WORD 0 ; Global used by ENABLE code.
.DBGFP::.WORD 0 ; Debug frame pointer for call tracing.
.DBGST::.BYTE 0 ; Non-zero for call tracing.
.UNWLV::.BYTE 0 ; Non-zero if UNWIND requested.
.MCHVC::.WORD 0 ; Address of current MeCHanism vector.
.MEXV1::.WORD -2,0,0,0 ; Primary MCB exception vector.
.MEXV2::.WORD -1,0,0,0 ; Secondary MCB exception vector.
.MEXVL::.WORD -3,0,0,0 ; Last chance MCB exception vector.
.MEXVD::.WORD -4,0,0,0 ; MCB dumper exception vector.
;
; Statistics counters
;
.SITIM::.WORD 0 ; Time to next average
.LTMCT::.WORD 0 ; Long timers serviced
.STMCT::.WORD 0 ; Short timers serviced
.SMSEC::.WORD 0 ; Averager interval (seconds)
.SMINT::.WORD 0 ; Maximum device interrupts per .SISEC seconds
.SMSYN::.WORD 0 ; Maximum synchronizations per .SISEC seconds
.SMDSP::.WORD 0 ; Maximum CCBs dispatched per .SISEC seconds
.SMSTM::.WORD 0 ; Maximum short timers per .SISEC seconds
.SMLTM::.WORD 0 ; Maximum long timers per .SISEC seconds
.CEEND:: ; End of CEX data region.
.END