From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Mueller Subject: Re: [Qemu-devel] [PATCH v5 11/17] target-s390x: Add KVM VM attribute interface for S390 CPU models Date: Mon, 27 Apr 2015 13:07:58 +0200 Message-ID: <20150427130758.5be04a87@bee> References: <1428933396-37887-1-git-send-email-mimu@linux.vnet.ibm.com> <1428933396-37887-12-git-send-email-mimu@linux.vnet.ibm.com> <553DF033.1060405@de.ibm.com> <20150427114353.0386c3eb@bee> <553E1506.5080206@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, Eduardo Habkost , Gleb Natapov , Alexander Graf , Daniel Hansel , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Richard Henderson , Andreas Faerber To: Christian Borntraeger Return-path: In-Reply-To: <553E1506.5080206@de.ibm.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Mon, 27 Apr 2015 12:52:54 +0200 Christian Borntraeger wrote: > Am 27.04.2015 um 11:43 schrieb Michael Mueller: > > On Mon, 27 Apr 2015 10:15:47 +0200 > > Christian Borntraeger wrote: > > > >> 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.... > > > > cpu_model_get/set() is used to handle both attributes, > > KVM_S390_VM_CPU_MACHINE and KVM_S390_VM_CPU_PROCESSOR. > > Both require a different type in the signature, (S390ProcessorProps*) > > and (S390MachineProps*). Adding both as parameters seems to be odd > > and would require additionally logic in the function. > > Thus I think doing the cast outside is just the right thing to do. > > So what about a void pointer then as parameter? > I prefer a pointer for qemu process memory over uint64_t as part of the > function interface. This makes it somewhat clearer that this is an > address within QEMU. Both ways will certainly work, though. The interface calls are: int kvm_s390_get_machine_props(KVMState *s, S390MachineProps *prop) int kvm_s390_get_processor_props(S390ProcessorProps *prop) cpu_model_get/set() are just static helpers. > > Conny, I guess you will pick up the patches. Any preference? > > Christian