[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFCv2 2/4] intc/s390_flic_kvm.c: Use kvm_device_ioctl() inste
From: |
Christian Borntraeger |
Subject: |
Re: [PATCH RFCv2 2/4] intc/s390_flic_kvm.c: Use kvm_device_ioctl() instead of ioctl() |
Date: |
Fri, 13 Mar 2020 09:47:26 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 12.03.20 17:12, David Hildenbrand wrote:
> Let's use the official variant, which will e.g., trace the call.
> kvm_device_ioctl() will do the rc -> -errno conversion automatically, so
> we can drop that code.
>
> Cc: Cornelia Huck <address@hidden>
> Cc: Halil Pasic <address@hidden>
> Cc: Christian Borntraeger <address@hidden>
> Cc: address@hidden
> Signed-off-by: David Hildenbrand <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
> ---
> hw/intc/s390_flic_kvm.c | 43 ++++++++++++-----------------------------
> 1 file changed, 12 insertions(+), 31 deletions(-)
>
> diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
> index a306b26faa..ce05306406 100644
> --- a/hw/intc/s390_flic_kvm.c
> +++ b/hw/intc/s390_flic_kvm.c
> @@ -66,11 +66,8 @@ static int flic_get_all_irqs(KVMS390FLICState *flic,
> .addr = (uint64_t) buf,
> .attr = len,
> };
> - int rc;
>
> - rc = ioctl(flic->fd, KVM_GET_DEVICE_ATTR, &attr);
> -
> - return rc == -1 ? -errno : rc;
> + return kvm_device_ioctl(flic->fd, KVM_GET_DEVICE_ATTR, &attr);
> }
>
> static void flic_enable_pfault(KVMS390FLICState *flic)
> @@ -78,11 +75,8 @@ static void flic_enable_pfault(KVMS390FLICState *flic)
> struct kvm_device_attr attr = {
> .group = KVM_DEV_FLIC_APF_ENABLE,
> };
> - int rc;
> -
> - rc = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
>
> - if (rc) {
> + if (kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr)) {
> fprintf(stderr, "flic: couldn't enable pfault\n");
> }
> }
> @@ -92,11 +86,8 @@ static void flic_disable_wait_pfault(KVMS390FLICState
> *flic)
> struct kvm_device_attr attr = {
> .group = KVM_DEV_FLIC_APF_DISABLE_WAIT,
> };
> - int rc;
>
> - rc = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> -
> - if (rc) {
> + if (kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr)) {
> fprintf(stderr, "flic: couldn't disable pfault\n");
> }
> }
> @@ -111,16 +102,13 @@ static void flic_disable_wait_pfault(KVMS390FLICState
> *flic)
> static int flic_enqueue_irqs(void *buf, uint64_t len,
> KVMS390FLICState *flic)
> {
> - int rc;
> struct kvm_device_attr attr = {
> .group = KVM_DEV_FLIC_ENQUEUE,
> .addr = (uint64_t) buf,
> .attr = len,
> };
>
> - rc = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> -
> - return rc ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> static void kvm_s390_inject_flic(S390FLICState *fs, struct kvm_s390_irq *irq)
> @@ -187,7 +175,6 @@ static int kvm_s390_clear_io_flic(S390FLICState *fs,
> uint16_t subchannel_id,
> uint16_t subchannel_nr)
> {
> KVMS390FLICState *flic = s390_get_kvm_flic(fs);
> - int rc;
> uint32_t sid = subchannel_id << 16 | subchannel_nr;
> struct kvm_device_attr attr = {
> .group = KVM_DEV_FLIC_CLEAR_IO_IRQ,
> @@ -197,8 +184,7 @@ static int kvm_s390_clear_io_flic(S390FLICState *fs,
> uint16_t subchannel_id,
> if (unlikely(!flic->clear_io_supported)) {
> return -ENOSYS;
> }
> - rc = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> - return rc ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> static int kvm_s390_modify_ais_mode(S390FLICState *fs, uint8_t isc,
> @@ -218,7 +204,7 @@ static int kvm_s390_modify_ais_mode(S390FLICState *fs,
> uint8_t isc,
> return -ENOSYS;
> }
>
> - return ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr) ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> static int kvm_s390_inject_airq(S390FLICState *fs, uint8_t type,
> @@ -235,7 +221,7 @@ static int kvm_s390_inject_airq(S390FLICState *fs,
> uint8_t type,
> return -ENOSYS;
> }
>
> - return ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr) ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> /**
> @@ -285,7 +271,6 @@ static int kvm_s390_register_io_adapter(S390FLICState
> *fs, uint32_t id,
> .flags = flags,
> };
> KVMS390FLICState *flic = KVM_S390_FLIC(fs);
> - int r;
> struct kvm_device_attr attr = {
> .group = KVM_DEV_FLIC_ADAPTER_REGISTER,
> .addr = (uint64_t)&adapter,
> @@ -296,9 +281,7 @@ static int kvm_s390_register_io_adapter(S390FLICState
> *fs, uint32_t id,
> return 0;
> }
>
> - r = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> -
> - return r ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> static int kvm_s390_io_adapter_map(S390FLICState *fs, uint32_t id,
> @@ -314,15 +297,13 @@ static int kvm_s390_io_adapter_map(S390FLICState *fs,
> uint32_t id,
> .addr = (uint64_t)&req,
> };
> KVMS390FLICState *flic = s390_get_kvm_flic(fs);
> - int r;
>
> if (!kvm_gsi_routing_enabled()) {
> /* nothing to do */
> return 0;
> }
>
> - r = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> - return r ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> static int kvm_s390_add_adapter_routes(S390FLICState *fs,
> @@ -519,7 +500,7 @@ static int kvm_flic_ais_post_load(void *opaque, int
> version_id)
> return -ENOSYS;
> }
>
> - return ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr) ? -errno : 0;
> + return kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> }
>
> static const VMStateDescription kvm_s390_flic_ais_tmp = {
> @@ -636,9 +617,9 @@ static void kvm_s390_flic_reset(DeviceState *dev)
> }
> }
>
> - rc = ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> + rc = kvm_device_ioctl(flic->fd, KVM_SET_DEVICE_ATTR, &attr);
> if (rc) {
> - trace_flic_reset_failed(errno);
> + trace_flic_reset_failed(-rc);
> }
>
> flic_enable_pfault(flic);
>