................ begin common deck SYA$CONSTANTS ........................
.
.
.
.  Define constants for sizes of CYBIL tables - OS tables whose
.       sizes must be known by assembly language modules. Unless
.       otherwise stated, the sizes given here can be larger than
.       the actual size.
.
.    **** WARNING - (xcbsize + jstlen*8 + jrootsiz) must be <= 2048
.           It must fix in a page else the ST may not be in contiguous memory.
.
xcbsize  equ      1024            .Size of XCB.
sdtxsize equ      48              .Size of SDTX entry.
statsize equ      280             .Size of OST$STATUS.
ajllen   equ      255             .Max number of AJL entries - this constant
.                                  is used to set the size of the monitor
.                                  seg tbl. The actual size of the AJL can
.                                  be less than or equal to this value.
jrootsiz   equ      256          .Length of JMT$JOB_CONTROL_BLOCK
.
.
.
.
.   Define monitor constants
.
mstksize  equ      6700          .Length of monitor stack
mstkfram  equ      32            .Length of monitor stack frame - this
.                                 constant is also used to calculate where A0
.                                 in the monitor XP should point during
.                                 reinstatement of CPU 0; if it changes, the
.                                 corresponding value of the constant
.                                 MTC$MONITOR_STACK_FRAME_LENGTH in the module
.                                 MTM$PROCESSOR_CONFIGURATION_MGR must also
.                                 change
jstksiz1  equ      1024           .Length of job stack for ring 1
jstksiz2  equ      2048          .Length of job stack for ring 2
jstksiz3  equ      512          .Length of job stack for ring 3
jstkfram  equ      32            .Length of job stack frame
jstlen    equ      94            .Number of segments in Job Segtll
mstlen    equ      20            .Number of segments in Monitor Segtll
a170_stl  equ      19            . Number of segments in a170 seg table
.
.
.   Define 'magic' segment numbers. These equates MUST agree with
.   the actual segment numbers assigned during system generation.
.   WARNING: in most cases, no run time checks are made to see if
.   the constants defined here are correct.
.
snptmtr   equ      0             .Page table seg num in monitor.
sn170mcb  equ      2             .170 segment number with cache bypass attribute.
snnosmtr  equ      3             .NOS segment number in MTR mode.
snsfmtr   equ      4             .NOS stack segment number in MTR mode.
snnthmtr  equ      5             .Nos trap handler segment number in MTR mode.
.
snjfjob   equ      3             .Job fixed in job mode.
.
.   Define a170 segment numbers for NOS, EI and EIE.
.
snnos170  equ    3           .Nos segment number
snsf170   equ    4           .NOS stack segment number
snnth170  equ    5           .Nos trap handler segment number
.
.
.   Define operating system constants
.
.
.
m_mtrmsk  equ      0fffc(16)     .Monitor mode MM
j_mtrmsk  equ      0fffc(16)     .Job mode MM
m_usrmsk  equ      0ff7f(16)     .Monitor mode UM
j_usrmsk  equ      0ff77(16)     .Job mode UM
m_usrabt  equ      0edff(16)     .Fatal UCR conditions, monitor
j_usrabt  equ      0cc00(16)     .Fatal UCR conditions, job
m_mcrhlt  equ      05b2c(16)     .MCR conditions that cause halt, monitor.
j_mcrhlt  equ      0e000(16)     .MCR conditions that cause halt, job.
m_mcrasy  equ      00490(16)     .MCR conditions that are asynchronous.
j_mcrusr  equ      01b0c(16)     .MCR conditions that are normally
.                                 processed by the job trap handler.
m_mcrsw   equ      02000(16)     .MCR condition: short_warning
m_mcrtef  equ      04000(16)     .MCR mask bit: traps_enabled
.
.
.   Define offsets for referencing fields in the job table segments
.
jr_mxcb   equ       jrootsiz       .XCB for Job Monitor.

.
.    PROC Definitions for initializing exchange packages
.
          PROC
xpareg    pname
          do  sn:(f:(2,2))=sn:(nil)
            org  f:(2,0)+f:(2,1)*8+10
            vfd,16,32  0ffff(16),080000000(16)
          else
            org   f:(2,0)+f:(2,1)*8+10
            address  r,f:(2,2)+f:(2,3)
          dend
          PEND
          PROC
xpa       pname
          do  sn:(f:(2,2))=sn:(nil)
            org  f:(2,0)+f:(2,1)
            vfd,16,32  0ffff(16),080000000(16)
          else
            org   f:(2,0)+f:(2,1)
            address  r,f:(2,2)+f:(2,3)
          dend
          PEND
          PROC
xpv       pname
          org   f:(2,0)+f:(2,1)
          vfd,f:(2,3) f:(2,2)
          PEND
.
................ end common deck SYA$CONSTANTS ..........................
