Google
 

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