.................begin common deck MTA$CPU_STATE_TABLE................
. WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
.     If this type is changed the type OST$CPU_STATE_TABLE must reflect a
.     corresponding change!
.
maxcst    equ    2           .maximum cst entries.
cstsize   equ    34*8        .Size of CST
.
.. Define offsets for the various fields in CST.
.
fill      equ    0
prior180  equ    1           .CPU priority (180)
dsprior   equ    2           .dual-state priority and subpriority
memport   equ    4           .processor memory port.
lpid      equ    5           .logical processor id
cpu_stat  equ    6           .cpu state (on/off/down)
nextstat  equ    7           .next cpu state (on/off/down)
cpwell    equ    1*8         .Changing value = CPU alive.
taskid    equ    2*8         .Taskid of current task.
ajlo      equ    2*8+3       .AJLO of current task,
cp_state  equ    3*8+6       .current/requested processor states: (2 bytes)
dualstat  equ    2*8+4       .NOS JPS if dual state, 0 if not dual state.
jcbp      equ    3*8         .JCB_P to current task's JCB.
xcbp      equ    4*8         .Pointer to XCB of current task.
xcbrma    equ    5*8         .RMA of current task XP.
discntl   equ    6*8         .Dispatch control info.
cptime    equ    7*8         .Max cptime for current task.
jtime     equ    8*8         .Time in job mode for current task.
mtime     equ    9*8         .Time in monitor mode for current task.
ext_int   equ    10*8        .type of external interrupt request
idlecode  equ    10*8+1      .system idle code
lpid8     equ    10*8+2      .LPID times 8.
cachtim   equ    11*8        .time cache purged
maptim    equ    12*8        .time map purged
mps       equ    13*8        .Monitor MPS.
elem_id   equ    14*8        .processor element id
ijlo      equ    15*8        .IJL ordinal of current task.
ijlep     equ    15*8+2      .Pointer to IJL entry.
idlstats  equ    16*8        .cpu idle statistics
tracectl  equ    20*8        .trace control
termmess  equ    21*8        .termination message record
cpstreas  equ    31*8        .reason for current state of CPU
cpprepro  equ    31*8+1      .CPU preprocessing state
unused    equ    31*8+2      .
prevstat  equ    31*8+3      .previous CPU state
log_stat  equ    31*8+4      .TRUE = Log CPU state change
dpint     equ    32*8        .integer value of the dispatching priority
return    equ    33*8        .return address after processing SIT interrupt.
.
caldisp   equ    discntl     .This byte can be set to '1' to force a call to
                             . the CPU dispatcher.
asyncp   equ     discntl+4   .this byte is set true when async events
.                            or external interrupts are pending.
.  define offsets into ext_int
tsk_sw    equ    0           .switch task
pur_ca    equ    1           .purge_cache
pur_map   equ    2           .purge_map
step_pr   equ    3           .step processor
.
.  define offsets into idlstats
idl_noio  equ    0           .cumulative idle time with no IO active
idl_w_io  equ    1*8         .cumulative idle time with IO active
idlstart  equ    2*8         .starting time for current idle
idletype  equ    3*8         .type of cpu idle: with or without IO active
idle_cnt  equ    3*8+1       .number of times the cpu goes idle
.
.  define offsets into termmess
tm_size   equ    0           .size of termination message
tm_un_id  equ    0*8+1       .unique identifier
tm_text   equ    0*8+2       .text of termination message
.
.  value assigned cpu state and next cpu state (cp_stat, nextstat)
.  also known as CYBIL ordinal type CMT$ELEMENT_STATE
on        equ    0
off       equ    1
down      equ    2
.
.  define offsets into cpu_state
cp_curst  equ    0*8         .current cpu state
cp_nxtst  equ    0*8+1       .next cpu state
.
.  value assigned current, next cpu_state
running   equ    0
stepped   equ    1
.................end common deck MTA$CPU_STATE_TABLE.....................
