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.