2023-01-25 21:26:33

by Janis Schoetterl-Glausch

[permalink] [raw]
Subject: [PATCH v6 01/14] KVM: s390: selftest: memop: Pass mop_desc via pointer

The struct is quite large, so this seems nicer.

Signed-off-by: Janis Schoetterl-Glausch <[email protected]>
Reviewed-by: Thomas Huth <[email protected]>
---
tools/testing/selftests/kvm/s390x/memop.c | 44 +++++++++++------------
1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/tools/testing/selftests/kvm/s390x/memop.c b/tools/testing/selftests/kvm/s390x/memop.c
index 3fd81e58f40c..9c05d1205114 100644
--- a/tools/testing/selftests/kvm/s390x/memop.c
+++ b/tools/testing/selftests/kvm/s390x/memop.c
@@ -48,53 +48,53 @@ struct mop_desc {
uint8_t key;
};

-static struct kvm_s390_mem_op ksmo_from_desc(struct mop_desc desc)
+static struct kvm_s390_mem_op ksmo_from_desc(const struct mop_desc *desc)
{
struct kvm_s390_mem_op ksmo = {
- .gaddr = (uintptr_t)desc.gaddr,
- .size = desc.size,
- .buf = ((uintptr_t)desc.buf),
+ .gaddr = (uintptr_t)desc->gaddr,
+ .size = desc->size,
+ .buf = ((uintptr_t)desc->buf),
.reserved = "ignored_ignored_ignored_ignored"
};

- switch (desc.target) {
+ switch (desc->target) {
case LOGICAL:
- if (desc.mode == READ)
+ if (desc->mode == READ)
ksmo.op = KVM_S390_MEMOP_LOGICAL_READ;
- if (desc.mode == WRITE)
+ if (desc->mode == WRITE)
ksmo.op = KVM_S390_MEMOP_LOGICAL_WRITE;
break;
case SIDA:
- if (desc.mode == READ)
+ if (desc->mode == READ)
ksmo.op = KVM_S390_MEMOP_SIDA_READ;
- if (desc.mode == WRITE)
+ if (desc->mode == WRITE)
ksmo.op = KVM_S390_MEMOP_SIDA_WRITE;
break;
case ABSOLUTE:
- if (desc.mode == READ)
+ if (desc->mode == READ)
ksmo.op = KVM_S390_MEMOP_ABSOLUTE_READ;
- if (desc.mode == WRITE)
+ if (desc->mode == WRITE)
ksmo.op = KVM_S390_MEMOP_ABSOLUTE_WRITE;
break;
case INVALID:
ksmo.op = -1;
}
- if (desc.f_check)
+ if (desc->f_check)
ksmo.flags |= KVM_S390_MEMOP_F_CHECK_ONLY;
- if (desc.f_inject)
+ if (desc->f_inject)
ksmo.flags |= KVM_S390_MEMOP_F_INJECT_EXCEPTION;
- if (desc._set_flags)
- ksmo.flags = desc.set_flags;
- if (desc.f_key) {
+ if (desc->_set_flags)
+ ksmo.flags = desc->set_flags;
+ if (desc->f_key) {
ksmo.flags |= KVM_S390_MEMOP_F_SKEY_PROTECTION;
- ksmo.key = desc.key;
+ ksmo.key = desc->key;
}
- if (desc._ar)
- ksmo.ar = desc.ar;
+ if (desc->_ar)
+ ksmo.ar = desc->ar;
else
ksmo.ar = 0;
- if (desc._sida_offset)
- ksmo.sida_offset = desc.sida_offset;
+ if (desc->_sida_offset)
+ ksmo.sida_offset = desc->sida_offset;

return ksmo;
}
@@ -183,7 +183,7 @@ static int err_memop_ioctl(struct test_info info, struct kvm_s390_mem_op *ksmo)
else \
__desc.gaddr = __desc.gaddr_v; \
} \
- __ksmo = ksmo_from_desc(__desc); \
+ __ksmo = ksmo_from_desc(&__desc); \
print_memop(__info.vcpu, &__ksmo); \
err##memop_ioctl(__info, &__ksmo); \
})
--
2.34.1



2023-01-26 11:52:00

by Janosch Frank

[permalink] [raw]
Subject: Re: [PATCH v6 01/14] KVM: s390: selftest: memop: Pass mop_desc via pointer

On 1/25/23 22:25, Janis Schoetterl-Glausch wrote:
> The struct is quite large, so this seems nicer.
>
> Signed-off-by: Janis Schoetterl-Glausch <[email protected]>
> Reviewed-by: Thomas Huth <[email protected]>

Reviewed-by: Janosch Frank <[email protected]>

> ---
> tools/testing/selftests/kvm/s390x/memop.c | 44 +++++++++++------------
> 1 file changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/tools/testing/selftests/kvm/s390x/memop.c b/tools/testing/selftests/kvm/s390x/memop.c
> index 3fd81e58f40c..9c05d1205114 100644
> --- a/tools/testing/selftests/kvm/s390x/memop.c
> +++ b/tools/testing/selftests/kvm/s390x/memop.c
> @@ -48,53 +48,53 @@ struct mop_desc {
> uint8_t key;
> };
>
> -static struct kvm_s390_mem_op ksmo_from_desc(struct mop_desc desc)
> +static struct kvm_s390_mem_op ksmo_from_desc(const struct mop_desc *desc)
> {
> struct kvm_s390_mem_op ksmo = {
> - .gaddr = (uintptr_t)desc.gaddr,
> - .size = desc.size,
> - .buf = ((uintptr_t)desc.buf),
> + .gaddr = (uintptr_t)desc->gaddr,
> + .size = desc->size,
> + .buf = ((uintptr_t)desc->buf),
> .reserved = "ignored_ignored_ignored_ignored"
> };
>
> - switch (desc.target) {
> + switch (desc->target) {
> case LOGICAL:
> - if (desc.mode == READ)
> + if (desc->mode == READ)
> ksmo.op = KVM_S390_MEMOP_LOGICAL_READ;
> - if (desc.mode == WRITE)
> + if (desc->mode == WRITE)
> ksmo.op = KVM_S390_MEMOP_LOGICAL_WRITE;
> break;
> case SIDA:
> - if (desc.mode == READ)
> + if (desc->mode == READ)
> ksmo.op = KVM_S390_MEMOP_SIDA_READ;
> - if (desc.mode == WRITE)
> + if (desc->mode == WRITE)
> ksmo.op = KVM_S390_MEMOP_SIDA_WRITE;
> break;
> case ABSOLUTE:
> - if (desc.mode == READ)
> + if (desc->mode == READ)
> ksmo.op = KVM_S390_MEMOP_ABSOLUTE_READ;
> - if (desc.mode == WRITE)
> + if (desc->mode == WRITE)
> ksmo.op = KVM_S390_MEMOP_ABSOLUTE_WRITE;
> break;
> case INVALID:
> ksmo.op = -1;
> }
> - if (desc.f_check)
> + if (desc->f_check)
> ksmo.flags |= KVM_S390_MEMOP_F_CHECK_ONLY;
> - if (desc.f_inject)
> + if (desc->f_inject)
> ksmo.flags |= KVM_S390_MEMOP_F_INJECT_EXCEPTION;
> - if (desc._set_flags)
> - ksmo.flags = desc.set_flags;
> - if (desc.f_key) {
> + if (desc->_set_flags)
> + ksmo.flags = desc->set_flags;
> + if (desc->f_key) {
> ksmo.flags |= KVM_S390_MEMOP_F_SKEY_PROTECTION;
> - ksmo.key = desc.key;
> + ksmo.key = desc->key;
> }
> - if (desc._ar)
> - ksmo.ar = desc.ar;
> + if (desc->_ar)
> + ksmo.ar = desc->ar;
> else
> ksmo.ar = 0;
> - if (desc._sida_offset)
> - ksmo.sida_offset = desc.sida_offset;
> + if (desc->_sida_offset)
> + ksmo.sida_offset = desc->sida_offset;
>
> return ksmo;
> }
> @@ -183,7 +183,7 @@ static int err_memop_ioctl(struct test_info info, struct kvm_s390_mem_op *ksmo)
> else \
> __desc.gaddr = __desc.gaddr_v; \
> } \
> - __ksmo = ksmo_from_desc(__desc); \
> + __ksmo = ksmo_from_desc(&__desc); \
> print_memop(__info.vcpu, &__ksmo); \
> err##memop_ioctl(__info, &__ksmo); \
> })