On Fri, 2022-11-18 at 08:50 +0700, Bagas Sanjaya wrote:
On 11/18/22 05:17, Janis Schoetterl-Glausch wrote:
+For write accesses, the KVM_S390_MEMOP_F_CMPXCHG might be supported. +In this case, instead of doing an unconditional write, the access occurs only +if the target location contains the "size" byte long value pointed to by +"old_p". This is performed as an atomic cmpxchg. "size" must be a power of two +up to and including 16. +The value at the target location is written to the location "old_p" points to. +If the exchange did not take place because the target value doesn't match the +old value KVM_S390_MEMOP_R_NO_XCHG is returned. +The KVM_S390_MEMOP_F_CMPXCHG flag is supported if KVM_CAP_S390_MEM_OP_EXTENSION +has bit 1 (i.e. bit with value 2) set.
Is KVM_S390_MEMOP_F_CMPXCHG supported with conditions (as you implied)?
I'm afraid I don't quite understand the question. It is supported if the capability says it is, i.e. if bit 1 is set.