Lines Matching refs:CCB

27 …  of the submitted operations reported through a Completion Area linked to each CCB. Each CCB has a
30 for a given CCB is never guaranteed.
32 …Guest software may implement a software timeout on CCB operations, and if the timeout is exceeded,…
35 …recommended such implementation use the ccb_info API function to check the status of a CCB prior to
36 …killing it in order to determine if the CCB is still in queue, or may have been lost due to a RAS …
39 …machine, however, internal resource limitations within the virtual machine can cause CCB submissio…
41 …submissions until they succeed; waiting for an outstanding CCB to complete is not necessary, and w…
52 Available CCB commands:
77 …See Section 36.2.1, “Query CCB Command Formats” for the corresponding CCB input and output formats.
82 … "ORCL,sun4v-dax-fc" is compatible with the "ORCL,sun4v-dax" interface, and includes additional CCB
86 Available CCB commands:
106 …See Section 36.2.1, “Query CCB Command Formats” for the corresponding CCB input and output formats.
115 … indicates N interrupts available, the guest may use any value from 0 to N - 1 (inclusive) in a CCB
116 …interrupt number field. Using values outside this range will result in the CCB being rejected for …
122 36.2. Coprocessor Control Block (CCB)
123 …CBs are either 64 or 128 bytes long, depending on the operation type. The exact contents of the CCB
131 referenced by a CCB must be pinned in memory until the CCB either completes execution or is killed
132 via the ccb_kill API call. Changes in virtual address mappings occurring after CCB submission are n…
133 guaranteed to be visible, and as such all virtual address updates need to be synchronized with CCB
138 Table 36.1. CCB Header Format
140 [31:28] CCB version. For API version 2.0: set to 1 if CCB uses OZIP encoding; set to 0 if the…
144 [26] Long CCB flag [512]
147 [23:16] CCB operation code:
203 The Long CCB flag indicates whether the submitted CCB is 64 or 128 bytes long; value is 0 for 64 by…
206 The Serial and Conditional flags allow simple relative ordering between CCBs. Any CCB with the Seri…
207 flag set will execute sequentially relative to any previous CCB that is also marked as Serial in th…
208 CCB submission. CCBs without the Serial flag set execute independently, even if they are between CC…
210 previous Serial CCB, regardless of the completion status of that CCB. The Conditional flag allows C…
211 to conditionally execute based on the successful execution of the closest CCB marked with the Seria…
212 A CCB may only be conditional on exactly one CCB, however, a CCB may be marked both Conditional
214 execute in parallel based on the completion of another CCB.
216 The Pipeline flag is an optimization that directs the output of one CCB (the "source" CCB) directly…
217 the input of the next CCB (the "target" CCB). The target CCB thus does not need to read the input f…
220 Both the Pipeline and Serial bits must be set in the source CCB. The Conditional bit must be set in…
221 target CCB. Exactly one CCB must be made conditional on the source CCB; either 0 or 2 target CCBs
222 is invalid. However, Pipelines can be extended beyond two CCBs: the sequence would start with a CCB
224 bits set, and terminate at a CCB that has the Conditional bit set, but not the Pipeline bit.
231 …The input of the target CCB must start within 64 bytes of the output of the source CCB or the pipe…
234 … The various address type fields indicate how the various address values used in the CCB should be
235 …interpreted by the virtual machine. Not all of the types specified are used by every CCB format. T…
236 …which are not applicable to the given CCB command should be indicated as type 0 (No address). Virt…
237 …addresses used in the CCB must have translation entries present in either the TLB or a configured …
239 …will result in the CCB submission being rejected, with the causal virtual address indicated. The C…
243 36.2.1. Query CCB Command Formats
257 …1 Fixed width bit packed Up to 15 bits (CCB version 0) or 23 bits (CCB version
264 … 0x5 Fixed width bit packed with run Up to 15 bits (CCB version 0) or 23 bits (CCB version
269 … Huffman (CCB version 0) or bits are read most significant bit to least significant bit
270 … OZIP (CCB version 1) encoding within a byte; pointer to the encoding table must be
272 … 0x9 Fixed width bit packed with Up to 15 bits (CCB version 0) or 23 bits (CCB version
273 … Huffman (CCB version 0) or 1); compressed stream bits are read most significant bit to
274 … OZIP (CCB version 1) encoding least significant bit within a byte; pointer to the encoding
277 … Huffman (CCB version 0) or bits are read most significant bit to least significant bit
278 … OZIP (CCB version 1) encoding within a byte; data stream of lengths must be provided as
290 … Huffman (CCB version 0) or within a byte; data stream of run lengths must be provided
291 … OZIP (CCB version 1) encoding as a secondary input; pointer to the encoding table must
293 …xD Fixed width bit packed with Up to 15 bits (CCB version 0) or 23 bits(CCB versio…
295 … Huffman (CCB version 0) or significant bit to least significant bit within a byte; data
296 … OZIP (CCB version 1) encoding stream of run lengths must be provided as a secondary
303 … primary input data streams with fixed size elements, the element size must be indicated in the CCB
349 supported for every command. The format is indicated by a 4-bit field in the CCB:
374 …access type used in the CCB command. ADI checking only occurs when reading data. When writing data,
388 … All data accesses used in CCB commands must be bounded within a single memory page. When addresses
392 …that is not supported may result in the CCB submission being rejected or the generation of a CCB p…
410CCB. If the output element size is smaller than the byte-padded input element size, the input elem…
413 …The return value of the CCB completion area is invalid. The “number of elements processed” field i…
414 CCB completion area will be valid.
416 The extract CCB is a 64-byte “short format” CCB.
418 …The extract CCB command format can be specified by the following packed C structure for a big-endi…
438 0 4 CCB header (Table 36.1, “CCB Header Format”)
476 determined by CCB header.
490 by CCB header.
581 by CCB header.
595 …a specified range. The specific type of scan is indicated by the command code in the CCB header. F…
615 The return value of the CCB completion area contains the number of input elements found which match
617 field in the CCB completion area will be valid, indicating the number of input elements processed.
621 The scan CCB command format can be specified by the following packed C structure for a big-endian
645 0 4 CCB header (Table 36.1, “CCB Header Format”)
735 …hen using 2-byte input elements) are compared against a fixed 9-bit test value provided in the CCB.
742 code in the CCB header.
748 …The return value of the CCB completion area contains the number of bits set in the output bit vect…
749 …r number of elements in the output index array. The “number of elements processed” field in the CCB
754 …The translate CCB command format can be specified by the following packed C structure for a big-en…
775 0 4 CCB header (Table 36.1, “CCB Header Format”)
820 CCB header. Address must be 64-byte aligned (CCB version
821 0) or 16-byte aligned (CCB version 1).
843 …The return value of the CCB completion area contains the number of bits set in the input bit vecto…
844 …"number of elements processed" field in the CCB completion area will be valid, indicating the numb…
847 The select CCB is a 64-byte “short format” CCB.
849 …The select CCB command format can be specified by the following packed C structure for a big-endian
869 0 4 CCB header (Table 36.1, “CCB Header Format”)
908 … The no-op (no operation) command is a CCB which has no processing effect. The CCB, when processed
909 …the virtual machine, simply updates the completion area with its execution status. The CCB may have
913 command CCB will only execute when all previous commands submitted in the same request have
915 …previous serial CCB. While the relative ordering is guaranteed, virtual machine implementations wi…
919 … The return value of the CCB completion area is invalid for these CCBs. The “number of elements
924 … The no-op CCB command format can be specified by the following packed C structure for a big-endian
939 0 4 CCB header (Table 36.1, “CCB Header Format”)
949 … [31] If set, this CCB functions as a Sync command. If clear, this
950 CCB functions as a No-op command.
955 36.2.2. CCB Completion Area
956 All CCB commands use a common 128-byte Completion Area format, which can be specified by the
980 0 1 CCB execution status
999 0x2 CCB decoding error
1024 The CCB completion area should be treated as read-only by guest software. The CCB execution status
1025 byte will be cleared by the Hypervisor to reflect the pending execution status when the CCB is subm…
1026 successfully. All other fields are considered invalid upon CCB submission until the CCB execution s…
1030 execution of the CCB command. Some valid data may be accessible depending on the fault type, howeve…
1031 …recommended that guest software treat the destination buffer as being in an unknown state. If a CCB
1036 in the CCB. The operation can be retried by resubmitting the CCB with a larger output buffer.
1038 A CCB decoding error indicates that the CCB contained some invalid field values. It may be also be
1039 triggered if the CCB output is directed at a non-existent secondary input and the pipelining hint i…
1043 partial results may have been written to the destination buffer. The CCB can be resubmitted with a …
1052CCB ends before the input of the pipeline target CCB. Page boundaries are ignored when the pipeline
1055 …Command kill indicates that the CCB execution was halted or prevented by use of the ccb_kill API c…
1057 …Command timeout indicates that the CCB execution began, but did not complete within a pre-determin…
1058 … limit set by the virtual machine. The command may have produced some or no output. The CCB may be
1061 …ADI miscompare indicates that the memory buffer version specified in the CCB did not match the val…
1062 … memory when accessed by the virtual machine. Guest software should not attempt to resubmit the CCB
1066 selected in the CCB.
1072 not valid for all possible CCB commands.
1074 …The runtime field indicates the execution time of the CCB command once it leaves the internal virt…
1080 … processed is indicated in the listed field. This field is not valid for all possible CCB commands.
1083 …nation output buffer, or have secondary return results. The field is not valid for all possible CCB
1112 successfully consumed from the input CCB array.
1119 A guest may choose to submit addresses used in this API function, including the CCB array address,
1122 addresses is determined by a combination of CCB contents and the flags argument.
1147 [1:0] CCB command type:
1159 … The CCB submission type and address type for the CCB array must be provided in the flags argument.
1160 … All other fields are optional values which change the default behavior of the CCB processing.
1172 …active at the time of the submission. The address type field within a CCB allows each address to r…
1177 … input CCB array. When using CCBs with serial-conditional flags, it is strongly recommended to use
1178 …the all-or-nothing flag to avoid broken conditional chains. Using long CCB chains on a machine und…
1183 …first remaining CCB. Failure to do so will produce indeterminate CCB execution status and ordering.
1191 identify which CCB encountered the processing error, and was not submitted successfully.
1193 …If the queue info flag is used during submission, and at least one CCB was successfully submitted,…
1199 [15:0] Number of CCB bytes successfully submitted
1220 being able to complete the CCB submissions sufficiently quickly, requiring
1224 EBADALIGN CCB array is not on a 64-byte boundary, or the array length is not a multiple
1226 ENORADDR A real address used either for the CCB array, or within one of the submitted
1229 ENOMAP A virtual address used either for the CCB array, or within one of the submitted
1238 EINVAL The virtual machine detected an invalid CCB during submission, or invalid
1239 input arguments, such as bad flag values. Note that not all invalid CCB values
1242 error being detected. This error may be returned if the CCB version is invalid.
1252 EUNAVAILABLE The requested CCB operation could not be performed at this time. The
1254 submitted CCB, or may apply to a larger scope. The status should not be
1260 0 Processing for the exact CCB instance submitted was unavailable,
1263 restrictions beyond this exact CCB instance.
1276 … 2 Processing is unavailable for all CCBs using the requested CCB
1279 … different CCB versions, but can expect continued rejections of
1280 CCBs using the same CCB version in the near future.
1283 … the CCB on a different vcpu. The guest should continue to submit
1287 … the guest emulate the operation. The guest should expect all CCB
1297 ret1 CCB state
1302 …Requests status information on a previously submitted CCB. The previously submitted CCB is identif…
1305 A CCB can be in one of 4 states:
1309 …COMPLETED 0 The CCB has been fetched and executed, and is no longer acti…
1311 … ENQUEUED 1 The requested CCB is current in a queue awaiting execution.
1312 …INPROGRESS 2 The CCB has been fetched and is currently being executed. It…
1314 …NOTFOUND 3 The CCB could not be located in the virtual machine, and doe…
1315 … appear to have been executed. This may occur if the CCB was lost
1316 … due to a hardware error, or the CCB may not have been successfully
1321 … guest software should invoke the ccb_kill hypercall prior to assuming the request CCB will never
1330 …of other CCBs ahead of the requested CCB, to provide a relative estimate of when the CCB may execu…
1333 …instance identifier for the DAX unit processing the queue where the requested CCB is located. The …
1337 …queue instance identifier for the DAX unit processing the queue where the requested CCB is located…
1342 EOK The request was processed and the CCB state is valid.
1345 EINVAL The CCB completion area contents are not valid.
1346 …EWOULDBLOCK Internal resource constraints prevented the CCB state from being queried…
1359 …Request to stop execution of a previously submitted CCB. The previously submitted CCB is identifie…
1362 …kill attempt can produce one of several values in the result return value, reflecting the CCB state
1366 …COMPLETED 0 The CCB has been fetched and executed, and is no longer active in
1368 … DEQUEUED 1 The requested CCB was still enqueued when the kill request was
1369 … submitted, and has been removed from the queue. Since the CCB
1371 … it, and the completion area will never be updated. The same CCB may
1373 … KILLED 2 The CCB had been fetched and was being executed when the kill
1374 … request was submitted. The CCB execution was stopped, and the CCB
1375 … is no longer active in the virtual machine. The CCB completion area
1387 …NOTFOUND 3 The CCB could not be located in the virtual machine, and does n…
1388 … appear to have been executed. This may occur if the CCB was lost
1389 … due to a hardware error, or the CCB may not have been successfully
1395 …If the pipeline target CCB is killed but the pipeline source CCB was skipped, the completion area …
1396 … target CCB may contain status (4,0) "Command was skipped" instead of (3,7) "Command was killed".
1398 …If the pipeline source CCB is killed, the pipeline target CCB's completion status may read (1,0) "…
1399 … This does not mean the target CCB was processed; since the source CCB was killed, there was no
1400 meaningful output on which the target CCB could operate.
1407 EINVAL The CCB completion area contents are not valid.
1408 …EWOULDBLOCK Internal resource constraints prevented the CCB from being killed at th…
1422 available for CCB submission to the calling guest had it not been offlined.