All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Mueller <mimu@linux.vnet.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	Gleb Natapov <gleb@kernel.org>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Andreas Faerber <afaerber@suse.de>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines
Date: Fri, 20 Feb 2015 19:42:15 +0100	[thread overview]
Message-ID: <20150220194215.7afcc73a@bee> (raw)
In-Reply-To: <54E767E2.4060100@suse.de>

On Fri, 20 Feb 2015 17:59:14 +0100
Alexander Graf <agraf@suse.de> wrote:

> But please give a nutshell explanation on what exactly you're patching
> at all here.

Please don't ask in riddles... :-)

S390ProcessorProps are attributes that represent cpu model related properties of the processor. 

typedef struct S390ProcessorProps {
    uint64_t cpuid;
    uint16_t ibc;
    uint8_t  pad[6];
    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
} S390ProcessorProps;

S390MachineProps are attributes that represent cpu model related properties that a specific host
offers.

fac_list_mask are the facilities that are supported by the accelerator code and the hosting
machine in case of KVM it is kvm_s390_fac_list_mask & STFLE, fac_list is STFLE only

typedef struct S390MachineProps {
    uint64_t cpuid;
    uint32_t ibc_range;
    uint8_t  pad[4];
    uint64_t fac_list_mask[S390_ARCH_FAC_LIST_SIZE_UINT64];
    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
} S390MachineProps;

The various S390CPUModel classes represent all well defined cpu models (those which have been
implemented as real machines). Not all of these models are executable on a given host. Only the
most current machine implementation is able to run all models. The list of "runnable" cpu models
is calculated by "matching" the S390MachineProps with the S390CPUModel classes and the
qemu_s390_fac_list_mask[] (indicates the facilities that are implemented by QEMU itself.)

The qemu cpu_model is translated to the respective S390CPUModel class and its processor
properties (S390ProcessorProps) are used with the s390_set_proceccor_props() call to communicate
them to the accelerator what specific cpuid,ibc,fac_list shall be used.

Michael


WARNING: multiple messages have this Message-ID (diff)
From: Michael Mueller <mimu@linux.vnet.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: linux-s390@vger.kernel.org, kvm@vger.kernel.org,
	Gleb Natapov <gleb@kernel.org>,
	qemu-devel@nongnu.org, linux-kernel@vger.kernel.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Andreas Faerber <afaerber@suse.de>,
	Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines
Date: Fri, 20 Feb 2015 19:42:15 +0100	[thread overview]
Message-ID: <20150220194215.7afcc73a@bee> (raw)
In-Reply-To: <54E767E2.4060100@suse.de>

On Fri, 20 Feb 2015 17:59:14 +0100
Alexander Graf <agraf@suse.de> wrote:

> But please give a nutshell explanation on what exactly you're patching
> at all here.

Please don't ask in riddles... :-)

S390ProcessorProps are attributes that represent cpu model related properties of the processor. 

typedef struct S390ProcessorProps {
    uint64_t cpuid;
    uint16_t ibc;
    uint8_t  pad[6];
    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
} S390ProcessorProps;

S390MachineProps are attributes that represent cpu model related properties that a specific host
offers.

fac_list_mask are the facilities that are supported by the accelerator code and the hosting
machine in case of KVM it is kvm_s390_fac_list_mask & STFLE, fac_list is STFLE only

typedef struct S390MachineProps {
    uint64_t cpuid;
    uint32_t ibc_range;
    uint8_t  pad[4];
    uint64_t fac_list_mask[S390_ARCH_FAC_LIST_SIZE_UINT64];
    uint64_t fac_list[S390_ARCH_FAC_LIST_SIZE_UINT64];
} S390MachineProps;

The various S390CPUModel classes represent all well defined cpu models (those which have been
implemented as real machines). Not all of these models are executable on a given host. Only the
most current machine implementation is able to run all models. The list of "runnable" cpu models
is calculated by "matching" the S390MachineProps with the S390CPUModel classes and the
qemu_s390_fac_list_mask[] (indicates the facilities that are implemented by QEMU itself.)

The qemu cpu_model is translated to the respective S390CPUModel class and its processor
properties (S390ProcessorProps) are used with the s390_set_proceccor_props() call to communicate
them to the accelerator what specific cpuid,ibc,fac_list shall be used.

Michael

  reply	other threads:[~2015-02-20 18:42 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-17 14:23 [RFC PATCH v2 00/15] QEMU: s390: cpu model implementation Michael Mueller
2015-02-17 14:23 ` [Qemu-devel] " Michael Mueller
2015-02-17 14:23 ` [RFC PATCH v2 01/15] cpu-model: Introduce probe mode for machine none Michael Mueller
2015-02-17 14:23   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 02/15] cpu-model: Introduce option --probe to switch into probe mode Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-17 19:16   ` [Qemu-devel] " Eric Blake
2015-02-17 19:16     ` Eric Blake
2015-02-18  9:08     ` [Qemu-devel] " Michael Mueller
2015-02-18  9:08       ` Michael Mueller
2015-02-18  9:08       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 03/15] cpu-model: Introduce stub routine cpu_desc_avail Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 04/15] cpu-model/s390: Introduce S390 CPU models Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-20 13:54   ` Alexander Graf
2015-02-20 13:54     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:00     ` Michael Mueller
2015-02-20 15:00       ` Michael Mueller
2015-02-20 15:22       ` Alexander Graf
2015-02-20 15:22         ` Alexander Graf
2015-02-20 15:49         ` Michael Mueller
2015-02-20 15:49           ` Michael Mueller
2015-02-20 16:57           ` Alexander Graf
2015-02-20 16:57             ` Alexander Graf
2015-02-20 17:37             ` Michael Mueller
2015-02-20 17:37               ` Michael Mueller
2015-02-20 17:50               ` Alexander Graf
2015-02-20 17:50                 ` Alexander Graf
2015-02-20 19:43                 ` Michael Mueller
2015-02-20 19:43                   ` Michael Mueller
2015-02-20 19:55                   ` Alexander Graf
2015-02-20 19:55                     ` Alexander Graf
2015-02-23 12:56         ` Christian Borntraeger
2015-02-23 12:56           ` Christian Borntraeger
2015-02-23 13:27           ` Christian Borntraeger
2015-02-23 13:27             ` Christian Borntraeger
2015-02-20 13:55   ` Alexander Graf
2015-02-20 13:55     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:02     ` Michael Mueller
2015-02-20 15:02       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 05/15] cpu-model/s390: Introduce S390 CPU facilities Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 06/15] cpu-model/s390: Define cpu model specific facility lists Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 07/15] cpu-model/s390: Add cpu model alias definition routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 08/15] cpu-model/s390: Update linux-headers/asm-s390/kvm.h Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 09/15] cpu-model/s390: Add KVM VM attribute interface routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-20 13:59   ` Alexander Graf
2015-02-20 13:59     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:18     ` Michael Mueller
2015-02-20 15:18       ` Michael Mueller
2015-02-20 16:59       ` Alexander Graf
2015-02-20 16:59         ` Alexander Graf
2015-02-20 18:42         ` Michael Mueller [this message]
2015-02-20 18:42           ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 10/15] cpu-model/s390: Add cpu class initialization routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-20 16:02   ` Richard Henderson
2015-02-20 16:02     ` [Qemu-devel] " Richard Henderson
2015-02-20 16:12     ` Michael Mueller
2015-02-20 16:12       ` Michael Mueller
2015-02-20 16:12       ` Michael Mueller
2015-02-20 16:27       ` [Qemu-devel] " Michael Mueller
2015-02-20 16:27         ` Michael Mueller
2015-02-20 16:34       ` Andreas Färber
2015-02-20 16:34         ` Andreas Färber
2015-02-20 16:55         ` Michael Mueller
2015-02-20 18:11   ` Richard Henderson
2015-02-20 18:11     ` [Qemu-devel] " Richard Henderson
2015-02-20 18:59     ` Michael Mueller
2015-02-20 18:59       ` Michael Mueller
2015-02-20 19:21       ` Alexander Graf
2015-02-20 19:21         ` Alexander Graf
2015-02-20 19:35         ` Michael Mueller
2015-02-20 19:35           ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 11/15] cpu-model/s390: Add QMP command query-cpu-model Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24   ` Michael Mueller
2015-02-17 18:03   ` [Qemu-devel] " Eric Blake
2015-02-18  8:39     ` Michael Mueller
2015-02-18  8:39       ` Michael Mueller
2015-02-18  8:39       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 12/15] cpu-model/s390: Extend QMP command query-cpu-definitions Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 18:09   ` Eric Blake
2015-02-18  9:29     ` Michael Mueller
2015-02-18  9:29       ` Michael Mueller
2015-02-18  9:29       ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 13/15] cpu-model/s390: Add processor property routines Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-20 14:03   ` Alexander Graf
2015-02-20 14:03     ` [Qemu-devel] " Alexander Graf
2015-02-20 15:32     ` Michael Mueller
2015-02-20 15:32       ` Michael Mueller
2015-02-20 15:41       ` Andreas Färber
2015-02-20 15:41         ` Andreas Färber
2015-02-20 16:04         ` Michael Mueller
2015-02-20 16:04           ` Michael Mueller
2015-02-20 16:28           ` Andreas Färber
2015-02-20 16:28             ` Andreas Färber
2015-02-20 16:53             ` Michael Mueller
2015-02-20 16:53               ` Michael Mueller
2015-02-20 16:05         ` Michael Mueller
2015-02-20 16:05           ` Michael Mueller
2015-02-20 17:00       ` Alexander Graf
2015-02-20 17:00         ` Alexander Graf
2015-02-20 19:29         ` Michael Mueller
2015-02-20 19:29           ` Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 14/15] cpu-model/s390: Add cpu model selection routine Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller
2015-02-17 14:24 ` [RFC PATCH v2 15/15] cpu-model/s390: Enable S390 cpu model Michael Mueller
2015-02-17 14:24   ` [Qemu-devel] " Michael Mueller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150220194215.7afcc73a@bee \
    --to=mimu@linux.vnet.ibm.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=gleb@kernel.org \
    --cc=jjherne@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.