$PCE mapping

Table 1. Structure PCE
Offset
Dec
Offset
Hex
Type Len Name(Dim) Description
0 (0) STRUCTURE 0 PCE , Processor Control Element
0 (0) CHARACTER 4  PCEEYE(0) Eye catcher
0 (0) BITSTRING 1   (0) $SAVE area (see $PSV)
0 (0) X'4C' 0  PCELPSV "PSVLABAD-PSV+PCE,4,C'A'" Last $SAVE area
0 (0) X'99' 0  PCEXITID "PSVEXID-PSV+PCE,1,C'F'" Exit ID last invoked
0 (0) X'48' 0  PCEDOM68 "PSVADDR-PSV+PCE,4,C'F'" Domid for $HASP068
168 (A8) ADDRESS 4  PCEPREV ADDRESS OF PREVIOUS PCE
172 (AC) ADDRESS 4  PCENEXT ADDRESS OF NEXT PCE
176 (B0) ADDRESS 4  PCEPCEA NEXT READY/WAITING PCE
180 (B4) ADDRESS 4  PCEPCEB PREVIOUS READY/WAITING PCE
184 (B8) ADDRESS 4  PCEERA ADDR OF ERA FOR ERROR FROM WHICH PCE IS ATTEMPTING TO RECOVER
188 (BC) ADDRESS 4  PCEPRE ADDRESS OF NEWEST PRE
192 (C0) BITSTRING 1  PCEEWF PROCESSOR EVENT WAIT FIELD
193 (C1) BITSTRING 1  PCEFLAGS PROCESSOR FLAGS
      1... ....  PCETRACE "B'10000000'" Processor eligible for tracing
      .1.. ....  PCEDSPXP "B'01000000'" Processor permanently exempt from non-dispatchability
      ..1. ....  PCEDSPXT "B'00100000'" Processor temporarily exempt from non-dispatchability
      ...1 ....  PCENWIOP "B'00010000'" Implicit $WAITs in I/O processing should be prohibited (currently used only by $IOERROR)
      .... 1...  PCETRPSF "B'00001000'" Short $TRACE requested
      .... .1..  PCETRLDS "B'00000100'" Relds indicator
      .... ..1.  PCEPRIO "B'00000010'" High priority pce
      .... ...1  PCEREQIR "B'00000001'" PCE is required (terminate JES2 if PCE abends).
194 (C2) BITSTRING 1  PCEFLAG2 More PCE flags
      1... ....  PCE2ENDD "B'10000000'" PCE has been terminated & will never be dispatched
      .1.. ....  PCE2EBUF "B'01000000'" Emergency buffers allowed
      ..1. ....  PCE2EVNT "B'00100000'" An exception event has occured for PCE this dispatcher cycle
      ...1 ....  PCE2INIT "B'00010000'" PCE has initialized far enough to allow DETACH
      .... 1...  PCE2QSUS "B'00001000'" PCE needed CKPT queues last time it ran
      .... .1..  PCE2XWTR "B'00000100'" PCE is a PSO or SAPI PCE
      .... ..1.  PCE2SJID "B'00000010'" Maintain PCEJOBID
      .... ...1  PCE2SJIX "B'00000001'" Maintain PCEJQEIX
195 (C3) BITSTRING 1  PCEFLGCS PCE 'compare-and-swap' flag Flags in this byte may be manipulated by subtasks and therefore must use CS logic (OIL and NIL) to set/reset the bits.
      1... ....  PCEGEMOK "B'10000000'" PCE is allowed to obtain emergency CMBs
      .1.. ....  PCECEMER "B'01000000'" PCE currently owns an emergency CMB
196 (C4) SIGNED 2  PCENDSPC NON-DISPATCHABILITY COUNT - IF NON-ZERO PROCESSOR NOT DISPATCHED UNLESS EXEMPT VIA PCEDSPXP/XT
198 (C6) SIGNED 2  PCEID PROCESSOR TYPE
200 (C8) SIGNED 4  PCEUSER0 RESERVED FOR USER
204 (CC) SIGNED 4  PCEUSER1 RESERVED FOR USER
208 (D0) SIGNED 4  PCEPOSTD(0) PCE Post EWF fullword
208 (D0) BITSTRING 3 Reserved for future use
211 (D3) BITSTRING 1  PCEPSTEW PCE POST EWF value
212 (D4) ADDRESS 4  PCEPSTCH PCE POST chain pointer
216 (D8) 1  PCEWTTIM Time PCE $WAITed (STCKE)

      NOTE THAT THE FOLLOWING FIELDS (THROUGH PCEDEVTP) MUST
      CORRESPOND TO THE DCT FIELDS (THROUGH DCTDEVTP)
232 (E8) DBL WORD 8   (0) Ensure DWORD alignment

         ORG -(DCTPCE-DCT) ESTABLISH THE PCEDADCT
224 (E0) DBL WORD 8  PCEDADCT(0) USING STORAGE FOR THE DCT FIELDS NOT IN A DA DCT
232 (E8) ADDRESS 4  PCEDCTPC DA DCT - DCTPCE
236 (EC) SIGNED 4  PCEDCTFL DCTSTAT-DCTFLAGS-DCTFLAG2
240 (F0) BITSTRING 4  PCESEEK MTTR value for $EXCP
244 (F4) BITSTRING 4 Reserved (part of MQTR)
240 (F0) DBL WORD 8  PCEMQTRD(0) 8 byte addr for STG
240 (F0) BITSTRING 1  PCESEEKF 'FF'x if MQTR is set
241 (F1) BITSTRING 1 Reserved (part of MTTR)
242 (F2) BITSTRING 6  PCEMQTR MQTR value for $EXCP
248 (F8) ADDRESS 4  PCEBUFAD BUFFER ADDRESS FOR $EXCP
252 (FC) ADDRESS 4  PCEIOEWF PCE WITH EWF TO POST OR EXIT ADDRESS
256 (100) SIGNED 2  PCEBUFCN Active buffer count
258 (102) BITSTRING 1  PCEDEVTP DA DCT FLAGS FOR $EXCP
      .... ....  PCEDARD "B'00000000'" Direct access read request
      .... ...1  PCEDAWR "B'00000001'" Direct access write request
259 (103) BITSTRING 1  PCEDAFL3 DA DCT flag byte (see DCTFLAG3 for bits)
259 (103) X'1C' 0  PCEDALEN "*-PCEDCTPC" Length of DA DCT in PCE
260 (104) SIGNED 2  PCELENG PCE LENGTH
262 (106) ADDRESS 1  PCEROLOQ Holding area for JQE/JOE 'prior' queue type
263 (107) SIGNED 1  PCESEQ PCE sequence number
264 (108) ADDRESS 4  PCEDCT ADDRESS OF DCT (IF ANY)
268 (10C) ADDRESS 4  PCEJQE ADDRESS OF JQE (IF ANY)

         JOBID or JQE index of the current job. This is
         maintained by $DOGJQE for use by the monitor.
         If the first 4 bytes of PCEJOBID is zero, then
         either there is no current job or the second 4
         bytes is a JQE index.
272 (110) CHARACTER 8  PCEJOBID JOB ID of current job
272 (110) SIGNED 4 Zero
276 (114) SIGNED 4  PCEJQEIX JOB index of current job
280 (118) ADDRESS 4  PCEPTAB Addr of PCETAB
284 (11C) ADDRESS 4  PCEFSACB ADDRESS OF FSACB, IF ANY
288 (120) ADDRESS 4  PCEWAVE ADDRESS OF WAVE (IF ANY)
292 (124) ADDRESS 4  PCENTITY ADR OF ENTITY AREA (IF ANY)
296 (128) SIGNED 2  PCEASID Associated address space
298 (12A) BITSTRING 1  PCEFLAG3 More PCE flags
      1... ....  PCE3HPFL "B'10000000'" PCE invoked HPUTFULL
      .1.. ....  PCE3NO$W "B'01000000'" $WAIT prohibited
      ..1. ....  PCE3PST1 "B'00100000'" $$POST ELEM= looks for available PCE to post
299 (12B) BITSTRING 1 Reserved for future use
300 (12C) ADDRESS 4  PCEACTCT PCE active count
304 (130) ADDRESS 4  PCEPCECT Ptr to PCE counters (see $PCEHCTD/$PCEHCTA)
308 (134) ADDRESS 4  PCEBKLCT Ptr to backlog counter
312 (138) SIGNED 2  PCEPNADJ PCE pain adjustment
314 (13A) BITSTRING 2 Reserved for future use
316 (13C) ADDRESS 4  PCEWORKA ADDRESS OF PCE WORK AREA
320 (140) DBL WORD 8  PCEWORK(0) VARIABLE LENGTH PROCESSOR WORK AREA

         PCEID - BYTE1
      .... ....  PCENODEV "X'00'" PCEID BYTE1 = 0 INDICATES NON- DEVICE PROCESSOR
      .... ...1  PCELCLID "X'01'" LOCAL SPECIAL PCE ID
      .... ..1.  PCERJEID "X'02'" REMOTE SPECIAL PCE ID
      .... .1..  PCENJEID "X'04'" NETWORK SPECIAL PCE ID, INDICATES NJE OR XFR JT/JR/ST/SR
      .... 1...  PCEINRID "X'08'" INTERNAL SPECIAL PCE ID
      1... ....  PCEPRSID "X'80'" PRINT SPECIAL PCE ID
      .1.. ....  PCEPUSID "X'40'" PUNCH SPECIAL PCE ID
      ..1. ....  PCEXFRID "X'20'" XFR SPECIAL PCE ID

         PCEID - BYTE2 (UNIQUE PCE ID) - HASP DEFINITIONS
         HASP PCE IDS ARE ASSIGNED FROM 1 AND INCREASE. USER PCE IDS
         PCE IDS SHOULD BE ASSIGNED FROM 255 AND DECREASE. EACH PCE
         TYPE IS DEFINED IN THE HASP OR USER PCE TABLE, WITH POSSIBLY
         MULTIPLE ENTRIES FOR EACH UNIQUE PCE ID (WITH DIFFERENT
         VALUES FOR PCEID BYTE1).
                            Work
                             Area
                              Macro Descriptive name
320 (140) X'1' 0  PCERDRID "1" $RDRWORK - Input Services
320 (140) X'2' 0  PCEASYID "2" $ASYWORK - Asynchronous I/O
320 (140) X'3' 0  PCECNVID "3" $CNVWORK - Converter
320 (140) X'4' 0  PCEXEQID "4" $XEQWORK - Execution
320 (140) X'5' 0  PCEPSOID "5" $PSOWORK - Process SYSOUT
320 (140) X'6' 0  PCEOUTID "6" $OUTWORK - Output
320 (140) X'7' 0  PCEPRTID "7" $PPPWORK - Print $FSSWORK - FSS Print Support
320 (140) X'8' 0  PCEPUNID "8" $PPPWORK - Punch
320 (140) X'9' 0  PCEPRGID "9" $PRGWORK - Purge
320 (140) X'A' 0  PCECONID "10" $COMWORK - Command
320 (140) X'B' 0  PCEMLMID "11" $MLMWORK - Multi-leaving Line Mgr
320 (140) X'C' 0  PCETIMID "12" $TIMWORK - STIMER/TTIMER
320 (140) X'D' 0  PCECKPID "13" $CKPWORK - Checkpoint
320 (140) X'E' 0  PCEJPAID "14" $JPAWORK - Priority Aging
320 (140) X'F' 0  PCEWRMID "15" $WARMWRK - Warm Start
320 (140) X'10' 0  PCENJTID "16" $NJTWORK - NJE Job Transmitter
320 (140) X'11' 0  PCENJRID "17" $RDRWORK - NJE Job Receiver
320 (140) X'12' 0  PCENSTID "18" $NSTWORK - NJE SYSOUT Transmitter
320 (140) X'13' 0  PCENSRID "19" $NSRWORK - NJE SYSOUT Receiver
320 (140) X'14' 0  PCENPMID "20" $NPMWORK - NJE Path Manager
320 (140) X'15' 0  PCERCPID "21" $RCPWORK - Remote Console
320 (140) X'16' 0  PCETEXID "22" $TEXWORK - Time Excession Monitor
320 (140) X'17' 0  PCEINTID "23" $CIRWORK - Initialization
320 (140) X'18' 0  PCEVTLID "24" $TLGWORK - Event Trace Log
320 (140) X'19' 0  PCEXFMID "25" $XFMWORK - SPOOL Transfer I/O Mgr
320 (140) X'1A' 0  PCESPMID "26" $SPMWORK - SPOOL Manager
320 (140) X'1B' 0  PCENRRID "27" $RDRWORK - NJE Route Receiver
320 (140) X'1C' 0  PCENRTID "28" $NJTWORK - NJE Route Transmitter
320 (140) X'1D' 0  PCESNFID "29" $SNFWORK - SPOOL sniffer
320 (140) X'1E' 0  PCERESID "30" $RESWORK - Resource Manager
320 (140) X'1F' 0  PCESTCID "31" $STCWORK - STATUS/CANCEL
320 (140) X'20' 0  PCESPNID "32" $SPNWORK - Spin Services
320 (140) X'21' 0  PCESFSID "33" $SFRWORK - Scheduler Services
320 (140) X'22' 0  PCEOPAID "34" $OPAWORK - Output Priority Aging
320 (140) X'23' 0  PCEFCLID "35" $FCLWORK - FSS Cleanup on EOM
320 (140) X'24' 0  PCEXCFID "36" $XPWORK - Coupling
320 (140) X'25' 0  PCEJCMID "37" $JCMWORK - Job Command Processor
320 (140) X'26' 0  PCEARMID "38" $ARMWORK - ARM support processor
320 (140) X'27' 0  PCEXCMID "39" $XCMWORK - XCF Command Processor
320 (140) X'28' 0  PCESPIID "40" $SPIWORK - Sysout API Processor
320 (140) X'29' 0  PCEDILID "41" $DILWORK - 'Do It Later' processor
320 (140) X'2A' 0  PCEENFID "42" $ENFWORK - ENF LISTEN processor
320 (140) X'2B' 0  PCEALIID "43" $ALIWORK - Acquire lock & cleanup
320 (140) X'2C' 0  PCEMSCID "44" $MSCWORK - Miscellaneous processor
320 (140) X'2D' 0  PCEEOMID "45" $EOMWORK - End-of-Memory processor
320 (140) X'2E' 0  PCEJQRID "46" $JQRWORK - JQE Request processor
320 (140) X'2F' 0  PCEIRCID "47" $IRCWORK - Internal reader cleanup
320 (140) X'30' 0  PCEDWNID "48" $DAWNWRK - DAWN processor
320 (140) X'31' 0  PCENRMID "49" $NRMWORK - NJE Resource Monitor
320 (140) X'32' 0  PCECDCID "50" $CDCWORK - Cross-system Device
320 (140) X'33' 0  PCEDLSID "51" $DLSWORK - Deadline scheduling
320 (140) X'34' 0  PCEJOIID "52" $JOEIWRK - JOEI processor
320 (140) X'35' 0  PCEEDSID "53" $EDSWORK - Email Delivery services
Table 2. Cross Reference for $PCE
Name Offset Hex Tag
PCE 0
PCEACTCT 12C
PCEALIID 140 2B
PCEARMID 140 26
PCEASID 128
PCEASYID 140 2
PCEBKLCT 134
PCEBUFAD F8
PCEBUFCN 100
PCECDCID 140 32
PCECEMER C3 40
PCECKPID 140 D
PCECNVID 140 3
PCECONID 140 A
PCEDADCT E0
PCEDAFL3 103
PCEDALEN 103 1C
PCEDARD 102 0
PCEDAWR 102 1
PCEDCT 108
PCEDCTFL EC
PCEDCTPC E8
PCEDEVTP 102
PCEDILID 140 29
PCEDLSID 140 33
PCEDOM68 0 48
PCEDSPXP C1 40
PCEDSPXT C1 20
PCEDWNID 140 30
PCEEDSID 140 35
PCEENFID 140 2A
PCEEOMID 140 2D
PCEERA B8
PCEEWF C0
PCEEYE 0
PCEFCLID 140 23
PCEFLAGS C1
PCEFLAG2 C2
PCEFLAG3 12A
PCEFLGCS C3
PCEFSACB 11C
PCEGEMOK C3 80
PCEID C6
PCEINRID 140 8
PCEINTID 140 17
PCEIOEWF FC
PCEIRCID 140 2F
PCEJCMID 140 25
PCEJOBID 110
PCEJOIID 140 34
PCEJPAID 140 E
PCEJQE 10C
PCEJQEIX 114
PCEJQRID 140 2E
PCELCLID 140 1
PCELENG 104
PCELPSV 0 4C
PCEMLMID 140 B
PCEMQTR F2
PCEMQTRD F0
PCEMSCID 140 2C
PCENDSPC C4
PCENEXT AC
PCENJEID 140 4
PCENJRID 140 11
PCENJTID 140 10
PCENODEV 140 0
PCENPMID 140 14
PCENRMID 140 31
PCENRRID 140 1B
PCENRTID 140 1C
PCENSRID 140 13
PCENSTID 140 12
PCENTITY 124
PCENWIOP C1 10
PCEOPAID 140 22
PCEOUTID 140 6
PCEPCEA B0
PCEPCEB B4
PCEPCECT 130
PCEPNADJ 138
PCEPOSTD D0
PCEPRE BC
PCEPREV A8
PCEPRGID 140 9
PCEPRIO C1 2
PCEPRSID 140 80
PCEPRTID 140 7
PCEPSOID 140 5
PCEPSTCH D4
PCEPSTEW D3
PCEPTAB 118
PCEPUNID 140 8
PCEPUSID 140 40
PCERCPID 140 15
PCERDRID 140 1
PCEREQIR C1 1
PCERESID 140 1E
PCERJEID 140 2
PCEROLOQ 106
PCESEEK F0
PCESEEKF F0
PCESEQ 107
PCESFSID 140 21
PCESNFID 140 1D
PCESPIID 140 28
PCESPMID 140 1A
PCESPNID 140 20
PCESTCID 140 1F
PCETEXID 140 16
PCETIMID 140 C
PCETRACE C1 80
PCETRLDS C1 4
PCETRPSF C1 8
PCEUSER0 C8
PCEUSER1 CC
PCEVTLID 140 18
PCEWAVE 120
PCEWORK 140
PCEWORKA 13C
PCEWRMID 140 F
PCEWTTIM D8
PCEXCFID 140 24
PCEXCMID 140 27
PCEXEQID 140 4
PCEXFMID 140 19
PCEXFRID 140 20
PCEXITID 0 99
PCE2EBUF C2 40
PCE2ENDD C2 80
PCE2EVNT C2 20
PCE2INIT C2 10
PCE2QSUS C2 8
PCE2SJID C2 2
PCE2SJIX C2 1
PCE2XWTR C2 4
PCE3HPFL 12A 80
PCE3NO$W 12A 40
PCE3PST1 12A 20