Table of Contents

CORE Source

References

Source Listing

CORE.COPY.txt
  1. *COPY CORE 00001000
  2. PUSH PRINT 00001200
  3. AIF ('&SYSPARM' NE 'SUP').COR01 00001400
  4. PRINT OFF,NOGEN 00001600
  5. .COR01 ANOP 00001800
  6. CORTABLE DSECT 00002000
  7. SPACE 1 00003000
  8. *** CORTABLE - REAL STORAGE ALLOCATION TABLE 00004000
  9. * 00005000
  10. * 0 +-----------------------+-----------------------+ 00006000
  11. * | CORFPNT | CORBPNT | 00007000
  12. * 8 +-----+-----------------+-----------------------+ 00008000
  13. * | C*1 | CORSWPNT | CORPGPNT | 00009000
  14. * 10 +-----+-----------------+-----------------------+ 00010000
  15. * 00011000
  16. *** CORTABLE - REAL STORAGE ALLOCATION TABLE 00012000
  17. SPACE 1 00023000
  18. CORFPNT DS 1F POINTER TO NEXT CORTABLE ENTRY IN QUEUE 00024000
  19. CORBPNT DS 1F POINTER TO PREVIOUS ENTRY IN QUEUE 00025000
  20. CORSWPNT DS 1F POINTER TO SWAPTABLE FOR PAGE 00026000
  21. CORPGPNT DS 1F POINTER TO PAGTABLE FOR PAGE 00027000
  22. SPACE 1 00028000
  23. ORG CORSWPNT 00029000
  24. CORFLAG DS 1X C*1 CORTABLE ENTRY STATUS FLAGS 00030000
  25. SPACE 1 00031000
  26. * ENTRY DEFINITION IF PAGE IS LOCKED 00032000
  27. ORG CORBPNT 00033000
  28. CORLCNT DS 1F PAGE LOCK COUNT FOR CORIOLCK 00034000
  29. SPACE 1 00035000
  30. * ENTRY DEFINITION IF PAGE IS IN TRANSIT 00036000
  31. ORG CORFLAG 00037000
  32. CORCODE DS 1X C*1 DASD OP-CODE FOR DMKPAGIO 00038000
  33. SPACE 1 00039000
  34. * BITS DEFINED IN CORFLAG 00040000
  35. CORIOLCK EQU X'80' PAGE LOCKED FOR IO - CORLCNT GT ZERO 00041000
  36. CORCFLCK EQU X'40' PAGE LOCKED BY CONSOLE FUNCTION 00042000
  37. CORFLUSH EQU X'20' PAGE IS IN FLUSH LIST 00043000
  38. CORFREE EQU X'10' PAGE IS IN FREE LIST 00044000
  39. CORSHARE EQU X'08' PAGE IS SHARED 00045000
  40. CORRSV EQU X'04' PAGE IS RESERVED 00046000
  41. CORCP EQU X'02' PAGE BELONGS TO CP 00047000
  42. CORDISA EQU X'01' PAGE DISABLED - NOT AVAILABLE 00048000
  43. * ENTRY DEFINITION FOR PAGE OWNERSHIP @V407511 00048100
  44. ORG CORFPNT @V407511 00048200
  45. CORVM DS 1F POINTER TO VMBLOK OF PAGE OWNER @V407511 00048300
  46. EJECT 00049000
  47. SWPTABLE DSECT 00050000
  48. SPACE 1 00051000
  49. *** SWPTABLE - SWAP TABLE FOR VIRTUAL MACHINE PAGING 00052000
  50. * 00053000
  51. * -8 +-----------------------+-----------------------+ 00054000
  52. * | SWPVM |S*7| SWPPAG | 00055000
  53. * 0 +-----------------------+-----------------------+ 00056000
  54. * | S*1 | S*2 | S*3 | S*4 | SWPCYL | S*5 | S*6 | 00057000
  55. * 8 +-----------------------+-----------------------+ 00058000
  56. * | | | | | | | | 00059000
  57. * +-----+-----+-----+-----+-----------+-----+-----+ 00060000
  58. * | | | | | | | | 00061000
  59. * +-----+-----+-----+-----+-----------+-----+-----+ 00062000
  60. * 00063000
  61. *** SWPTABLE - SWAP TABLE FOR VIRTUAL MACHINE PAGING 00064000
  62. SPACE 1 00069000
  63. SWPVM DS 1F POINTER TO VMBLOK 00070000
  64. SWPFLAG2 DS 1X S*7 SWAP TABLE FLAG2 BITS @V407511 00070100
  65. ORG SWPFLAG2 @V407511 00070200
  66. SWPPAG DS 1F POINTER TO PAGTABLE 00071000
  67. SWPFLAG DS 1X S*1 SWAP TABLE FLAG BITS 00072000
  68. SWPVPAGE DS 1X S*2 VIRTUAL PAGE NUMBER WITHIN SEGMENT 00073000
  69. SWPKEY1 DS 1X S*3 VIRTUAL STORAGE KEY, 1ST 2048 BYTES 00074000
  70. SWPKEY2 DS 1X S*4 VIRTUAL STORAGE KEY, 2ND 2048 BYTES 00075000
  71. SWPCYL DS 1H DASD CYLINDER ADDRESS 00076000
  72. SWPDPAGE DS 1X S*5 DASD PAGE NUMBER ON CYLINDER 00077000
  73. SWPCODE DS 1X S*6 RDEVBLOK DEVICE CODE 00078000
  74. SPACE 1 00079000
  75. * BITS DEFINED IN SWPFLAG 00080000
  76. SWPTRANS EQU X'80' PAGE IN TRANSIT 00081000
  77. SWPRECMP EQU X'40' PAGE PERMANENTLY ASSIGNED 00082000
  78. SWPALLOC EQU X'20' PAGE ENQUEUED FOR ALLOCATION 00083000
  79. SWPSHR EQU X'10' PAGE SHARED 00084000
  80. SWPREF1 EQU X'08' FIRST HALF PAGE REFERENCED 00085000
  81. SWPCHG1 EQU X'04' FIRST HALF PAGE CHANGED 00086000
  82. SWPREF2 EQU X'02' SECOND HALF PAGE REFERENCED 00087000
  83. SWPCHG2 EQU X'01' SECOND HALF PAGE CHANGED 00088000
  84. SPACE 00088100
  85. * BITS DEFINED IN SWPFLAG2 @V407511 00088200
  86. SWPAPP EQU X'80' ATTACHED PROCESSORS SHARED @V407511 00088300
  87. * PAGE AND SWAP TABLES @V407511 00088400
  88. EJECT 00089000
  89. SEGTABLE DSECT 00090000
  90. SPACE 1 00091000
  91. *** SEGTABLE - TRANSLATION SEGMENT TABLE 00092000
  92. * 00093000
  93. * 0 +-----+-----------------+-----+-----------------+ 00094000
  94. * | S*1 | SEGPAGE | | | 00095000
  95. * 8 +-----+-----------------+-----+-----------------+ 00096000
  96. * | | | | | 00097000
  97. * +-----+-----------------+-----+-----------------+ 00098000
  98. * | | | | | 00099000
  99. * +-----+-----------------+-----+-----------------+ 00100000
  100. * 00101000
  101. *** SEGTABLE - TRANSLATION SEGMENT TABLE 00102000
  102. SPACE 1 00107000
  103. SEGPAGE DS 1F POINTER TO PAGE TABLE - PAGTABLE 00108000
  104. SPACE 1 00109000
  105. ORG SEGPAGE 00111000
  106. SEGPLEN DS BL.4 S*1 PAGE TABLE LENGTH (NO. PAGES - 1) 00112000
  107. SPACE 00114000
  108. * BITS DEFINED IN SEGPAGE+3 00114100
  109. SEGINV EQU X'01' SEGMENT INVALID FLAG @V408246 00114200
  110. SEGMIG EQU X'10' SEGMENT MIGRATED (IF POINTER = 0)@V408246 00114300
  111. SEGENQ EQU X'40' SEGMENT ENQUEUED (IF POINTER = 0)@V408246 00114400
  112. PAGTABLE DSECT 00115000
  113. SPACE 1 00116000
  114. *** PAGTABLE - TRANSLATION PAGE TABLE 00117000
  115. * 00118000
  116. * -10 +-----------------------+-----------------------+ 00118100
  117. * | PAGSTMP | PAGACT | PAGTOT | 00118200
  118. * -8 +-----------------------+-----------------------+ 00119000
  119. * | PAGSHR | PAGSWP | 00120100
  120. * 0 +-----------------------+-----------------------+ 00121000
  121. * | PAGCORE | | | | 00122000
  122. * +-----------+-----------+-----------+-----------+ 00123000
  123. * | | | | | 00124000
  124. * +-----------+-----------+-----------+-----------+ 00125000
  125. * 00126000
  126. *** PAGTABLE - TRANSLATION PAGE TABLE 00127000
  127. SPACE 1 00136000
  128. PAGSTMP DS F PAGE TABLE TIME STAMP @V408246 00136100
  129. PAGACT DS H COUNT OF ACTIVE STE'S FOR THIS @V408246 00136200
  130. * SEG. 00136300
  131. PAGTOT DS H COUNT OF TOTAL STE'S FOR THIS @V408246 00136400
  132. * SEG. 00136500
  133. PAGSHR DS 1F POINTER TO NAME TABLE (SHRTABLE) 00137100
  134. PAGSWP DS 1F POINTER TO SWPTABLE 00138000
  135. PAGCORE DS 1H REAL PAGE ADDRESS 00139000
  136. SPACE 1 00140000
  137. * BITS DEFINED IN PAGCORE+1 00141000
  138. PAGINVAL EQU X'08' PAGTABLE ENTRY INVALID 00142000
  139. PAGREF EQU X'01' PAGE HAS BEEN REFERENCED 00143000
  140. SPACE 00143100
  141. * EQUATES USED IN AP SUPPORT FOR SHARED SEGMENTS @V407511 00143200
  142. PAGTSWP EQU (PAGCORE-PAGSTMP+16*L'PAGCORE) LENGTH OF A @V407511 00143300
  143. * FULL 16 ENTRY PAGE TABLE @V407511 00143400
  144. PAGBMP EQU (PAGTSWP+(SWPFLAG-SWPVM)+16*(SWPCODE-SWPFLAG+1)+8) @V407511 00143500
  145. * LENGTH OF A CONTIGUOUS PAGE AND @V407511 00143600
  146. * SWAP TABLE @V407511 00143700
  147. EJECT 00144000
  148. POP PRINT 00145000
  149. SPACE 00146000