From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754762AbbBTPmE (ORCPT ); Fri, 20 Feb 2015 10:42:04 -0500 Received: from cantor2.suse.de ([195.135.220.15]:43956 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754082AbbBTPmC (ORCPT ); Fri, 20 Feb 2015 10:42:02 -0500 Message-ID: <54E755BD.5000705@suse.de> Date: Fri, 20 Feb 2015 16:41:49 +0100 From: =?windows-1252?Q?Andreas_F=E4rber?= Organization: SUSE Linux GmbH User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Michael Mueller CC: Alexander Graf , qemu-devel@nongnu.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, Gleb Natapov , Christian Borntraeger , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Richard Henderson Subject: Re: [Qemu-devel] [RFC PATCH v2 13/15] cpu-model/s390: Add processor property routines References: <1424183053-4310-1-git-send-email-mimu@linux.vnet.ibm.com> <1424183053-4310-14-git-send-email-mimu@linux.vnet.ibm.com> <54E73EB2.6050700@suse.de> <20150220163209.4e082e0b@bee> In-Reply-To: <20150220163209.4e082e0b@bee> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 20.02.2015 um 16:32 schrieb Michael Mueller: > On Fri, 20 Feb 2015 15:03:30 +0100 > Alexander Graf wrote: > >>> >>> - s390_get_proceccor_props() >>> - s390_set_proceccor_props() >>> >>> They can be used to request or retrieve processor related information from an accelerator. >>> That information comprises the cpu identifier, the ICB value and the facility lists. >>> >>> Signed-off-by: Michael Mueller >> >> Hrm, I still seem to miss the point of this interface. What do you need >> it for? > > These functions make the internal s390 cpu model API independent from a specific accelerator: > > int s390_set_processor_props(S390ProcessorProps *prop) > { > if (kvm_enabled()) { > return kvm_s390_set_processor_props(prop); > } > return -ENOSYS; > } > > It's called by: > > s390_select_cpu_model(const char *model) > > which is itself called by: > > S390CPU *cpu_s390x_init(const char *cpu_model) > { > S390CPU *cpu; > > cpu = S390_CPU(object_new(s390_select_cpu_model(cpu_model))); > > object_property_set_bool(OBJECT(cpu), true, "realized", NULL); > > return cpu; > } > > So above s390_set/get_processor_props() the code is accelerator independent. Can't you just implement the class-level name-to-ObjectClass callback that other CPUs have grown for the above use case? Also a general comment: cpu-model/ is not an existing directory nor one you add, so please use "target-s390x: Add foo to S390CPU" or so. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton; HRB 21284 (AG Nürnberg) From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38300) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOpiP-0002zD-NB for qemu-devel@nongnu.org; Fri, 20 Feb 2015 10:42:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOpiM-0008C8-GG for qemu-devel@nongnu.org; Fri, 20 Feb 2015 10:42:05 -0500 Received: from cantor2.suse.de ([195.135.220.15]:38686 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOpiM-0008C1-7e for qemu-devel@nongnu.org; Fri, 20 Feb 2015 10:42:02 -0500 Message-ID: <54E755BD.5000705@suse.de> Date: Fri, 20 Feb 2015 16:41:49 +0100 From: =?windows-1252?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1424183053-4310-1-git-send-email-mimu@linux.vnet.ibm.com> <1424183053-4310-14-git-send-email-mimu@linux.vnet.ibm.com> <54E73EB2.6050700@suse.de> <20150220163209.4e082e0b@bee> In-Reply-To: <20150220163209.4e082e0b@bee> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC PATCH v2 13/15] cpu-model/s390: Add processor property routines List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Mueller Cc: linux-s390@vger.kernel.org, qemu-devel@nongnu.org, kvm@vger.kernel.org, Gleb Natapov , linux-kernel@vger.kernel.org, Alexander Graf , Christian Borntraeger , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Richard Henderson Am 20.02.2015 um 16:32 schrieb Michael Mueller: > On Fri, 20 Feb 2015 15:03:30 +0100 > Alexander Graf wrote: >=20 >>> >>> - s390_get_proceccor_props() >>> - s390_set_proceccor_props() >>> >>> They can be used to request or retrieve processor related information= from an accelerator. >>> That information comprises the cpu identifier, the ICB value and the = facility lists. >>> >>> Signed-off-by: Michael Mueller =20 >> >> Hrm, I still seem to miss the point of this interface. What do you nee= d >> it for? >=20 > These functions make the internal s390 cpu model API independent from a= specific accelerator: =20 >=20 > int s390_set_processor_props(S390ProcessorProps *prop) > { > if (kvm_enabled()) { > return kvm_s390_set_processor_props(prop); > } > return -ENOSYS; > } >=20 > It's called by: >=20 > s390_select_cpu_model(const char *model) >=20 > which is itself called by: >=20 > S390CPU *cpu_s390x_init(const char *cpu_model) > { > S390CPU *cpu; >=20 > cpu =3D S390_CPU(object_new(s390_select_cpu_model(cpu_model))); >=20 > object_property_set_bool(OBJECT(cpu), true, "realized", NULL); >=20 > return cpu; > } >=20 > So above s390_set/get_processor_props() the code is accelerator indepen= dent. Can't you just implement the class-level name-to-ObjectClass callback that other CPUs have grown for the above use case? Also a general comment: cpu-model/ is not an existing directory nor one you add, so please use "target-s390x: Add foo to S390CPU" or so. Regards, Andreas --=20 SUSE Linux GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Felix Imend=F6rffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton; HRB 21284 (AG N=FCrnberg)