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 Content-Length: 1938 Lines: 63 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) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/