From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54229) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmgtV-0005vE-Nb for qemu-devel@nongnu.org; Mon, 27 Apr 2015 07:08:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YmgtR-0004Jk-N3 for qemu-devel@nongnu.org; Mon, 27 Apr 2015 07:08:09 -0400 Received: from e06smtp10.uk.ibm.com ([195.75.94.106]:36516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YmgtR-0004Ja-7g for qemu-devel@nongnu.org; Mon, 27 Apr 2015 07:08:05 -0400 Received: from /spool/local by e06smtp10.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 27 Apr 2015 12:08:04 +0100 Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 2A09B17D805F for ; Mon, 27 Apr 2015 12:08:43 +0100 (BST) Received: from d06av12.portsmouth.uk.ibm.com (d06av12.portsmouth.uk.ibm.com [9.149.37.247]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t3RB824S7668018 for ; Mon, 27 Apr 2015 11:08:02 GMT Received: from d06av12.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av12.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t3RB80Jp025054 for ; Mon, 27 Apr 2015 05:08:02 -0600 Date: Mon, 27 Apr 2015 13:07:58 +0200 From: Michael Mueller Message-ID: <20150427130758.5be04a87@bee> In-Reply-To: <553E1506.5080206@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> <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 Subject: Re: [Qemu-devel] [PATCH v5 11/17] target-s390x: Add KVM VM attribute interface for S390 CPU models List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Christian Borntraeger Cc: linux-s390@vger.kernel.org, Eduardo Habkost , kvm@vger.kernel.org, Gleb Natapov , qemu-devel@nongnu.org, linux-kernel@vger.kernel.org, Cornelia Huck , Alexander Graf , "Jason J. Herne" , Daniel Hansel , Paolo Bonzini , Andreas Faerber , Richard Henderson 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