Returns size bytes from memory starting at the physical address specified by paddr. The read is conditioned by the locality hint specified by hint. If the value read from memory is equal to cmp_val, then the least significant size bytes of data are written to size bytes in memory starting at the physical address specified by paddr. If the write is performed, the read and write are performed atomically. Both the read and the write are conditioned by the memory attribute specified by mattr and the byte ordering in memory is specified by byte_order. otype specifies the memory ordering attribute of this access, and has the value ACQUIRE or RELEASE.