dax_adi - DAX support for ADI
The functions in the libdax library check for ADI errors in their input and output vectors if ADI is enabled for those pages when the functions are called. But the functions check only the first cache line of each vector. This includes the following DAX function arguments:
Checks the codec. If the dax_zip_create_contig() function creates the codec, this is the buffer passed to that function, else this is the memory allocated by libdax.
Also, the ADI version in all output cache lines is set to the version available in the dst->data output pointer.
If an ADI mismatch occurs during the execution of libdax library code, the process receives an ADI mismatch exception. If an ADI mismatch occurs when DAX accesses a vector, the operation completes with the DAX_EADI status. The latter mismatch can occur if the application changes the ADI value of a cache line between the time the function is called and the time that DAX starts an operation.
See attributes(5) for descriptions of the following attributes: