From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [Qemu-devel] [PATCH v5 11/17] target-s390x: Add KVM VM attribute interface for S390 CPU models Date: Mon, 27 Apr 2015 10:15:47 +0200 Message-ID: <553DF033.1060405@de.ibm.com> References: <1428933396-37887-1-git-send-email-mimu@linux.vnet.ibm.com> <1428933396-37887-12-git-send-email-mimu@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: Eduardo Habkost , Gleb Natapov , Alexander Graf , Daniel Hansel , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Richard Henderson , Andreas Faerber To: Michael Mueller , qemu-devel@nongnu.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1428933396-37887-12-git-send-email-mimu@linux.vnet.ibm.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Am 13.04.2015 um 15:56 schrieb Michael Mueller: [...] > +static int cpu_model_get(KVMState *s, uint64_t attr, uint64_t addr) > +{ > + int rc = -ENOSYS; > + struct kvm_device_attr dev_attr = { > + .group = KVM_S390_VM_CPU_MODEL, > + .attr = attr, > + .addr = addr, Would it make sense to do the cast here.... > + }; > + > + if (kvm_vm_check_attr(s, dev_attr.group, dev_attr.attr)) { > + rc = kvm_vm_ioctl(s, KVM_GET_DEVICE_ATTR, &dev_attr); > + } > + > + return rc; > +} > + > +static int cpu_model_set(KVMState *s, uint64_t attr, uint64_t addr) > +{ > + int rc = -ENOSYS; > + struct kvm_device_attr dev_attr = { > + .group = KVM_S390_VM_CPU_MODEL, > + .attr = attr, > + .addr = addr, ...and here... > + }; > + > + if (kvm_vm_check_attr(s, dev_attr.group, dev_attr.attr)) { > + rc = kvm_vm_ioctl(s, KVM_SET_DEVICE_ATTR, &dev_attr); > + } > + > + return rc; > +} > + > +static int kvm_s390_get_machine_props(KVMState *s, S390MachineProps *prop) > +{ > + int rc = -EFAULT; > + > + if (s) { > + rc = cpu_model_get(s, KVM_S390_VM_CPU_MACHINE, (uint64_t) prop); and pass S390MachineProps as 3rd parameter? > +int kvm_s390_get_processor_props(S390ProcessorProps *prop) > +{ > + int rc; > + > + rc = cpu_model_get(kvm_state, KVM_S390_VM_CPU_PROCESSOR, (uint64_t) prop); dito > + trace_kvm_get_processor_props(rc, prop->cpuid, prop->ibc); > + return rc; > +} > + > +int kvm_s390_set_processor_props(S390ProcessorProps *prop) > +{ > + int rc; > + > + rc = cpu_model_set(kvm_state, KVM_S390_VM_CPU_PROCESSOR, (uint64_t) prop); dito