From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ymgeu-0002j6-GM for qemu-devel@nongnu.org; Mon, 27 Apr 2015 06:53:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ymgep-0000ml-7q for qemu-devel@nongnu.org; Mon, 27 Apr 2015 06:53:04 -0400 Received: from e06smtp12.uk.ibm.com ([195.75.94.108]:56459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ymgeo-0000me-Tx for qemu-devel@nongnu.org; Mon, 27 Apr 2015 06:52:59 -0400 Received: from /spool/local by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 27 Apr 2015 11:52:57 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 89C3117D8059 for ; Mon, 27 Apr 2015 11:53:36 +0100 (BST) Received: from d06av07.portsmouth.uk.ibm.com (d06av07.portsmouth.uk.ibm.com [9.149.37.248]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t3RAqt9q49676518 for ; Mon, 27 Apr 2015 10:52:55 GMT Received: from d06av07.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av07.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t3RAqton002755 for ; Mon, 27 Apr 2015 06:52:55 -0400 Message-ID: <553E1506.5080206@de.ibm.com> Date: Mon, 27 Apr 2015 12:52:54 +0200 From: Christian Borntraeger MIME-Version: 1.0 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> In-Reply-To: <20150427114353.0386c3eb@bee> Content-Type: text/plain; charset=windows-1252 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: Michael Mueller 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 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. Conny, I guess you will pick up the patches. Any preference? Christian