Quoting Janis Schoetterl-Glausch (2022-11-22 14:10:41)
On Tue, 2022-11-22 at 08:47 +0100, Thomas Huth wrote:
On 17/11/2022 23.17, Janis Schoetterl-Glausch wrote:
[...]
Supported flags: * ``KVM_S390_MEMOP_F_CHECK_ONLY`` * ``KVM_S390_MEMOP_F_SKEY_PROTECTION``
- ``KVM_S390_MEMOP_F_CMPXCHG``
+The semantics of the flags common with logical acesses are as for logical +accesses.
+For write accesses, the KVM_S390_MEMOP_F_CMPXCHG might be supported.
I'd maybe merge this with the last sentence:
For write accesses, 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.
Ok.
... and speaking of that, I wonder whether it's maybe a good idea to introduce some #defines for bit 1 / value 2, to avoid the confusion ?
Not sure, I don't feel it's too complicated. Where would you define it? Next to the mem_op struct? KVM_S390_MEMOP_EXTENSION_CAP_CMPXCHG?
I think the define would be a good idea. Location and name sound good to me.
You could also replace the hard-coded 0x3 in kvm_vm_ioctl_check_extension() when you have the define.