Table of Contents

VCTCA Source

References

Source Listing

VCTCA.COPY.txt
  1. *COPY VCTCA 00001000
  2. PUSH PRINT 00001200
  3. AIF ('&SYSPARM' NE 'SUP').VCT01 00001400
  4. PRINT OFF,NOGEN 00001600
  5. .VCT01 ANOP 00001800
  6. CHXBLOK DSECT 00002000
  7. SPACE 1 00003000
  8. *** CHXBLOK/CHYBLOK - VIRTUAL CHANNEL-TO-CHANNEL ADAPTER 00004000
  9. * 00005000
  10. * 0 +-----------------------+-----------------------+ 00006000
  11. * | CHXOTHR | CHYOTHR | 00007000
  12. * 8 +-----+-----+-----+-----+-----+-----+-----+-----+ 00008000
  13. * | X*1 | X*2 | X*3 | X*4 | Y*1 | Y*2 | Y*3 | Y*4 | 00009000
  14. * 10 +-----+-----+-----+-----+-----+-----+-----+-----+ 00010000
  15. * | CHXNCCW | CHYNCCW | 00011000
  16. * 18 +-----------------------+-----------------------+ 00012000
  17. * | CHXRCNT | CHYRCNT | 00013000
  18. * 20 +-----------+-----------+-----------+-----------+ 00014000
  19. * | CHXSTAT | CHXYADD | CHYSTAT | CHYXADD | 00015000
  20. * 28 +-----------+-----------+-----------+-----------+ 00016000
  21. * | CHXIDAW | CHYIDAW | 00017000
  22. * 30 +-----------------------+-----------------------+ 00018000
  23. * | CHXCNCT | CHYCNCT | 00019000
  24. * 38 +-----------------------+-----------------------+ 00020000
  25. * | CHXDATN | CHYDATN | 00021000
  26. * 40 +-----------------------+-----------------------+ 00022000
  27. * 00023000
  28. *** CHXBLOK/CHYBLOK - VIRTUAL CHANNEL-TO-CHANNEL ADAPTER 00024000
  29. SPACE 1 00025000
  30. CHXBLOK DSECT , X-SIDE CHANNEL ADAPTER BLOCK 00026000
  31. CHXOTHR DS 2F VMBLOK ADDRESS OF Y-SIDE ADAPTER USER 00027000
  32. CHXFLAG DS 1X X*1 INTERNAL PROCESSING FLAGS 00028000
  33. CHXCMDB DS 1X X*2 ACTIVE CCW COMMAND BYTE BUFFER 00029000
  34. CHXCMDT DS 1X X*3 ACTIVE CCW COMMAND TYPE (RD, WR, ETC.) 00030000
  35. CHXPKEY DS 1X X*4 VIRTUAL CAW PROTECTION KEY 00031000
  36. DS 4X 00032000
  37. CHXNCCW DS 2F NEXT CCW FETCH ADDRESS (REAL) 00033000
  38. CHXRCNT DS 2F REMAINING CCW DATA COUNT 00034000
  39. CHXSTAT DS 1H DEVICE STATUS ACCUMULATION FIELD 00035000
  40. CHXYADD DS 1H VIRTUAL ADDRESS OF Y-SIDE ADAPTER 00036000
  41. DS 2H 00037000
  42. CHXIDAW DS 2F ACTIVE INDIRECT-DATA-LIST WORD 00038000
  43. CHXCNCT DS 2F CPEXBLOK FOR CHANNEL RE-CONNECT 00039000
  44. CHXDATN DS 2F IOBLOK ADDRESS FOR DEFERRED ATTENTION 00040000
  45. SPACE 00041000
  46. CHBSIZE EQU (*-CHXBLOK)/8 TOTAL BLOCK SIZE IN DBL-WDS 00042000
  47. SPACE 00043000
  48. CHYBLOK DSECT , Y-SIDE CHANNEL ADAPTER BLOCK 00044000
  49. CHYOTHR DS 2F VMBLOK ADDRESS OF X-SIDE ADAPTER USER 00045000
  50. CHYFLAG DS 1X Y*1 INTERNAL PROCESSING FLAGS 00046000
  51. CHYCMDB DS 1X Y*2 ACTIVE CCW COMMAND BYTE BUFFER 00047000
  52. CHYCMDT DS 1X Y*3 ACTIVE CCW COMMAND TYPE 00048000
  53. CHYPKEY DS 1X Y*4 VIRTUAL CAW PROTECTION KEY 00049000
  54. DS 4X 00050000
  55. CHYNCCW DS 2F NEXT CCW FETCH ADDRESS 00051000
  56. CHYRCNT DS 2F REMAINING CCW DATA COUNT 00052000
  57. CHYSTAT DS 1H DEVICE STATUS ACCUMULATION FIELD 00053000
  58. CHYXADD DS 1H VIRTUAL ADDRESS OF X-SIDE ADAPTER 00054000
  59. DS 2H 00055000
  60. CHYIDAW DS 2F ACTIVE INDIRECT-DATA-LIST WORD 00056000
  61. CHYCNCT DS 2F CPEXBLOK FOR CHANNEL RE-CONNECT 00057000
  62. CHYDATN DS 2F IOBLOK ADDRESS FOR DEFERRED ATTENTION 00058000
  63. SPACE 2 00059000
  64. * SPECIAL NOTE: 00060000
  65. * AS INDICATED IN THE BLOCK 'PICTURE' ABOVE, THE 'CHXBLOK' 00061000
  66. * AND 'CHYBLOK' ARE INTERLEAVED WITH A 4-BYTE DISPLACEMENT. 00062000
  67. * THE X-SIDE VDEVBLOK POINTS TO THE +0 SLOT, THE Y-SIDE 00063000
  68. * VDEVBLOK POINTS TO THE +4 SLOT. HOWEVER, ONCE THE VIRTUAL 00064000
  69. * 'CONNECTION' IS MADE, EITHER SIDE CAN BE THE X-SIDE OR 00065000
  70. * Y-SIDE, SINCE THIS INTERLEAVED ARRANGEMENT MAKES THE 00066000
  71. * CONTROL BLOCK REFERENCES COMPLETELY SYMMETRICAL. THE DUAL 00067000
  72. * DSECT DEFINITION ALLOWS THE ACTIVE ADAPTER (DEFINED TO BE 00068000
  73. * THE X-SIDE, ARBITRARILY) TO REFERENCE BOTH ADAPTER SIDES 00069000
  74. * CONCURRENTLY WITHOUT KNOWING WHICH IS AT +0 OR +4. 00070000
  75. * 00071000
  76. SPACE 00072000
  77. * BITS DEFINED IN 'CHXFLAG' AND 'CHYFLAG': 00073000
  78. CHBMNOP EQU X'80' MODIFIED 'NOP' ISSUED (ALSO IN CMDT) 00074000
  79. CHBM370 EQU X'40' CTCA OPERATING IN S/370 MODE 00075000
  80. CHBATTN EQU X'20' ATTENTION PENDING FROM Y-SIDE 00076000
  81. CHBREST EQU X'10' CTCA HAS BEEN RESET - X-SIDE AND Y-SIDE 00077000
  82. CHBEOFL EQU X'08' FORCE END-OF-FILE TO NEXT READ 00078000
  83. CHBHIO EQU X'04' HALT I/O OR HALT DEVICE ISSUED 00079000
  84. CHBWAIT EQU X'02' CPEXBLOK AVAILABLE FOR CHANNEL RECONNECT 00080000
  85. CHBCENT EQU X'01' CHANNEL END HAS BEEN PRESENTED ON SIO 00081000
  86. SPACE 00082000
  87. * BITS DEFINED IN 'CHXCMDT' AND 'CHYCMDT': 00083000
  88. CHBCNTL EQU X'40' CONTROL, OTHER THAN 'NOP' 00084000
  89. CHBRDBK EQU X'20' READ BACKWARD 00085000
  90. CHBWEOF EQU X'10' WRITE END OF FILE 00086000
  91. CHBSCMD EQU X'08' SENSE COMMAND BYTE 00087000
  92. CHBSADS EQU X'04' SENSE ADAPTER STATUS 00088000
  93. CHBREAD EQU X'02' READ 00089000
  94. CHBWRIT EQU X'01' WRITE 00090000
  95. EJECT 00091000
  96. POP PRINT 00092000
  97. SPACE 00093000