Lines Matching +full:primary +full:- +full:device
25 the accompanying document, dax-hv-api.txt, which is a plain text
27 Specification" version 3.0.20+15, dated 2017-09-25.
86 made accessible via mmap(), and are read-only for the application.
91 Each open instance of the device is exclusive to the thread that
98 requests. When the device is closed, any outstanding transactions are
101 On a DAX1 system (M7), the device will be called "oradax1", while on a
104 device. Only one of the devices will exist on any given system, so the
109 equal to the number of bytes given in the call. Otherwise -1 is
113 -----------
122 --------
129 --------
138 ---------------------------------------------
143 pwrite() system call. If -1 is returned then errno is set to indicate
155 ----
184 - open dax device
185 - call mmap() to get the completion area address
186 - allocate a CCB and fill in the opcode, flags, parameters, addresses, etc.
187 - submit CCB via write() or pwrite()
188 - go into a loop executing monitored load + monitored wait and
191 - perform a CCB_DEQUEUE
192 - call munmap() for completion area
193 - close the dax device
233 -------------
234 A CCB is an array of 8 64-bit words. Several of these words provide
250 each of these fields, and see dax-hv-api.txt for a complete description
254 - CCB version, which must be consistent with hardware version
255 - Opcode, which must be one of the documented allowable commands
256 - Address types, which must be set to "virtual" for all the addresses
273 First, the proper device must be opened. For M7 it will be
290 64-byte aligned and its size must be a multiple of 64 bytes because
307 ccb->control = /* Table 36.1, CCB Header Format */
309 | (3L << 40) /* output address type = primary virtual */
310 | (3L << 34) /* primary input address type = primary virtual */
312 | (1 << 28) /* 36.2.1.1.1 primary input format = fixed width bit packed */
313 | (0 << 23) /* 36.2.1.1.2 primary input element size = 0 (1 bit) */
318 ccb->completion = 0; /* Completion area address, to be filled in by driver */
320 ccb->input0 = (unsigned long) input; /* primary input address */
322 ccb->access = /* Section 36.2.1.2, Data Access Control */
323 (2 << 24) /* Primary input length format = bits */
324 | (nbits - 1); /* number of bits in primary input stream, minus 1 */
326 ccb->input1 = 0; /* secondary input address, unused */
328 ccb->op_data = 0; /* scan criteria (value to be matched) */
330 ccb->output = (unsigned long) output; /* output address */
332 ccb->table = 0; /* table address, unused */
364 All other non-zero values indicate error conditions which are
383 completion area, closing the dax device, freeing memory etc.
386 --------------
394 ccb->control |= /* Table 36.1, CCB Header Format */
395 (3L << 32); /* completion area address type = primary virtual */
397 ccb->completion = (unsigned long) completion_area; /* Completion area address */
444 .. include:: dax-hv-api.txt