From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43638) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bVDAn-0005Jq-68 for qemu-devel@nongnu.org; Thu, 04 Aug 2016 03:34:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bVDAh-0001oi-5d for qemu-devel@nongnu.org; Thu, 04 Aug 2016 03:34:32 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:52476 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bVDAg-0001oc-V5 for qemu-devel@nongnu.org; Thu, 04 Aug 2016 03:34:27 -0400 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u747XbBA116287 for ; Thu, 4 Aug 2016 03:34:26 -0400 Received: from e06smtp08.uk.ibm.com (e06smtp08.uk.ibm.com [195.75.94.104]) by mx0b-001b2d01.pphosted.com with ESMTP id 24kkamwhdd-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Thu, 04 Aug 2016 03:34:26 -0400 Received: from localhost by e06smtp08.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 4 Aug 2016 08:34:23 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by d06dlp03.portsmouth.uk.ibm.com (Postfix) with ESMTP id 1F19D1B08023 for ; Thu, 4 Aug 2016 08:35:50 +0100 (BST) Received: from d06av02.portsmouth.uk.ibm.com (d06av02.portsmouth.uk.ibm.com [9.149.37.228]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u747YJhv24576180 for ; Thu, 4 Aug 2016 07:34:19 GMT Received: from d06av02.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av02.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u747YJPi015885 for ; Thu, 4 Aug 2016 01:34:19 -0600 Date: Thu, 4 Aug 2016 09:34:16 +0200 From: David Hildenbrand In-Reply-To: <1470139155-53900-26-git-send-email-dahi@linux.vnet.ibm.com> References: <1470139155-53900-1-git-send-email-dahi@linux.vnet.ibm.com> <1470139155-53900-26-git-send-email-dahi@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20160804093416.67aee982@thinkpad-w530> Subject: Re: [Qemu-devel] [Patch v1 25/29] qmp: add QMP interface "query-cpu-model-comparison" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: ehabkost@redhat.com, borntraeger@de.ibm.com, fiuczy@linux.vnet.ibm.com, cornelia.huck@de.ibm.com, imammedo@redhat.com, jdenemar@redhat.com, mimu@linux.vnet.ibm.com > +## > +# @CpuModelCompareResult: > +# > +# An enumeration of CPU model comparation results. > +# > +# @incompatible: both model definition are incompatible > +# > +# @identical: model A == model B > +# > +# @superset: model A > model B > +# > +# @subset: model A < model B > +# > +# Since: 2.8.0 > +## This comment is now: ## # @CpuModelCompareResult: # # An enumeration of CPU model comparation results. The result is usually # calcualted using e.g. at CPU features or CPU generations. # # @incompatible: If model A is incompatible to model B, model A is not # guaranteed to run where model B runs and the other way around. # # @identical: If model A is identical to model B, model A is guaranteed to run # where model B runs and the other way around. # # @superset: If model A is a superset of model B, model B is guaranteed to run # where model A runs. There are no guarantees about the other way. # # @subset: If model A is a subset of model B, model A is guaranteed to run # where model B runs. There are no guarantees about the other way. # # Since: 2.8.0 ## Think it's all about guarantees. > +{ 'enum': 'CpuModelCompareResult', > + 'data': [ 'incompatible', 'identical', 'superset', 'subset' ] } > + > +## > +# @CpuModelCompareInfo > +# > +# The result of a CPU model comparison. > +# > +# @result: The result of the compare operation. > +# @responsible-properties: List of properties that led to the comparison result > +# not being identical. > +# > +# @responsible-properties is a list of QOM property names that led to > +# both CPUs not being detected as identical. For identical models, this > +# list is empty. > +# If a QOM property is read-only, that means there's no known way to make the > +# CPU models identical. If the special property name "type" is included, the > +# models are by definition not identical and cannot be made identical. > +# > +# Since: 2.8.0 > +## > +{ 'struct': 'CpuModelCompareInfo', > + 'data': {'result': 'CpuModelCompareResult', > + 'responsible-properties': ['str'] > + } > +} > + > +## > +# @query-cpu-model-comparison: > +# > +# Compares two CPU models, returning how they compare under a specific QEMU > +# machine. > +# > +# Note: This interface should not be used when global properties of CPU classes > +# are changed (e.g. via "-cpu ..."). > +# > +# s390x supports comparing of all CPU models. Other architectures are not > +# supported yet. > +# > +# Returns: a CpuModelBaselineInfo. Returns an error if comparing CPU models is > +# not supported, if a model cannot be used, if a model contains > +# an unknown cpu definition name, unknown properties or properties > +# with wrong types. > +# > +# Since: 2.8.0 > +## This comment is now: ## # @query-cpu-model-comparison: # # Compares two CPU models, returning how they compare in a specific # configuration. The results indicates how both models compare regarding # runnability. This result can be used by tooling to make decisions if a # certain CPU model will run in a certain configuration or if a compatible # CPU model has to be created by baselining. # # Usually, a CPU model is compared against the maximum possible CPU model # of a ceratin configuration (e.g. the "host" model for KVM). If that CPU # model is identical or a subset, it will run in that configuration. # # The result returned by this command may be affected by: # # * QEMU version: CPU models may look different depending on the QEMU version. # (Except for CPU models reported as "static" in query-cpu-definitions.) # * machine-type: CPU model may look different depending on the machine-type. # (Except for CPU models reported as "static" in query-cpu-definitions.) # * machine options (including accelerator): in some architectures, CPU models # may look different depending on machine and accelerator options. (Except for # CPU models reported as "static" in query-cpu-definitions.) # * "-cpu" arguments and global properties: arguments to the -cpu option and # global properties may affect expansion of CPU models. Using # query-cpu-model-expansion while using these is not advised. # # Some architectures may not support comparing CPU models. s390x supports # comparing CPU models. # # Returns: a CpuModelBaselineInfo. Returns an error if comparing CPU models is # not supported, if a model cannot be used, if a model contains # an unknown cpu definition name, unknown properties or properties # with wrong types. # # Since: 2.8.0 ## (excluding the remark about s390x in this patch) David