{"id":51,"date":"2011-06-17T09:35:51","date_gmt":"2011-06-17T14:35:51","guid":{"rendered":"http:\/\/tommysprinkle.com\/txxos\/?p=51"},"modified":"2021-04-17T18:31:40","modified_gmt":"2021-04-17T23:31:40","slug":"channel-status-word","status":"publish","type":"post","link":"https:\/\/tommysprinkle.com\/txxos\/?p=51","title":{"rendered":"Channel Status Word"},"content":{"rendered":"<p>The Channel Status Word (CSW) is used to provide the status of an I\/O device or the status of the last I\/O operation completed.\u00a0 The CSW is updated when an I\/O interruption occurs or as a result of an I\/O command.\u00a0 The CSW is available for use until the next I\/O interrupt occurs or until another I\/O command causes it to be replaced.<\/p>\n<p>When an I\/O interruption updates the CSW the I\/O device causing the interruption is identified in the Old PSW as the interruption code when operating in BC mode.<\/p>\n<p>The CSW has the following format:<\/p>\n<p><strong>Protection Key<\/strong> (Bits 0-3) indicates the protection key used for the I\/O operation.<\/p>\n<p><strong>Logout Pending (L) <\/strong>(Bit 5) When set to one it indicates that an I\/O instruction cannot be executed until a pending logout condition has been cleared.<\/p>\n<p><strong>Deferred Condition Code (CC) <\/strong>(Bits 6-7) Indicate a different condition code available for a Start I\/O Fast Release after a condition code of zero was returned.<\/p>\n<p><strong>CCW Address <\/strong>(Bits 8-31) Indicate an address eight bytes greater than the last CCW used.<\/p>\n<p><strong>Status <\/strong>(Bits 32-47) These bits identify the condition that caused the CSW to be stored.<\/p>\n<ul>\n<li><strong>32 Attention<\/strong> \u2013 The device has detected an asynchronous condition significant to the program<\/li>\n<li><strong>33 Status Modifier<\/strong> \u2013 Indicates the device cannot provide its current status in response to a TEST I\/O, when the control unit is busy, when the normal sequence of commands has to be modified or when command retry is to be initiated.<\/li>\n<li><strong>34 Control Unit End<\/strong> \u2013 Indicates the control unit has become available for use for another operation.<\/li>\n<li><strong>35 Busy <\/strong>\u2013 Indicates the I\/O device cannot execute the command because it is executing a previously initiated operation or because there is a pending interrupt condition.<\/li>\n<li><strong>36 Channel End <\/strong>\u2013 Indicates completion of the portion of an I\/O operation involving the transfer of data or control information between the I\/O device and the channel.\u00a0 When command chaining is used Channel End is generated only for the last operation.<\/li>\n<li><strong>37 Device End<\/strong> \u2013 Indicates the completion of an I\/O operation by the device.\u00a0 When command chaining is used only the Device End condition for the last operation in the chain is reported.<\/li>\n<li><strong>38 Unit Check<\/strong> \u2013 Indicates the I\/O device or control unit has detected an unusual condition and additional detail information is available to a sense command.<\/li>\n<li><strong>39 Unit Exception <\/strong>\u2013 Indicates a condition reported by an I\/O device that does not usually occur.<\/li>\n<li><strong>40 Program Controlled Interruption<\/strong> \u2013 This condition is generated when a channel fetches a CCW with the PCI flag set.<\/li>\n<li><strong>41 Incorrect Length<\/strong> \u2013 Indicates the number of bytes in storage assigned to the I\/O operation is not equal to the number of bytes requested by the device.<\/li>\n<li><strong>42 Program Check <\/strong>\u2013 Indicates a programming error in the channel program.\u00a0 Can occur as a result of an invalid address in the CAW or a TIC CCW, an invalid command code, an invalid count in a CCW, an invalid data address, an invalid CAW format, an invalid CCW format or an invalid sequence of CCWs.<\/li>\n<li><strong>43 Protection Exception<\/strong> \u2013 Indicates the channel attempted to access storage that is prohibited by storage protection.<\/li>\n<li><strong>44 Channel Data Check <\/strong>\u2013 Indicates a machine error has occurred causing a parity error.<\/li>\n<li><strong>45 Channel Control Check<\/strong> \u2013 Indicates a machine error.<\/li>\n<li><strong>46 Interface Control Check<\/strong> \u2013 Indicates an invalid signal occurred on the I\/O interface.<\/li>\n<li><strong>47 Chaining Check<\/strong> \u2013 Indicates a channel overrun during data chaining operations.<\/li>\n<\/ul>\n<p><strong>Count<\/strong> (Bits 48-63) Contain the residual count for the last CCW.<\/p>\n<p><a title=\"I\/O Machine Instructions\" href=\"http:\/\/tommysprinkle.com\/txxos\/?p=53\">[Next &#8211; I\/O Machine Instructions]<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Channel Status Word (CSW) is used to provide the status of an I\/O device or the status of the last I\/O operation completed.\u00a0 The CSW is updated when an I\/O interruption occurs or as a result of an I\/O &hellip; <a href=\"https:\/\/tommysprinkle.com\/txxos\/?p=51\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"template-page-builder-no-sidebar.php","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1CPQT-P","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=51"}],"version-history":[{"count":5,"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions"}],"predecessor-version":[{"id":532,"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=\/wp\/v2\/posts\/51\/revisions\/532"}],"wp:attachment":[{"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tommysprinkle.com\/txxos\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}