qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <dahi@linux.vnet.ibm.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: qemu-devel@nongnu.org, ehabkost@redhat.com, jdenemar@redhat.com,
	imammedo@redhat.com, cornelia.huck@de.ibm.com,
	fiuczy@linux.vnet.ibm.com, mimu@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [Patch v2 04/29] s390x/cpumodel: introduce CPU features
Date: Tue, 16 Aug 2016 16:42:05 +0200	[thread overview]
Message-ID: <20160816164205.3bd1654a@thinkpad-w530> (raw)
In-Reply-To: <239fec14-6cbb-3679-b66a-bb237343af02@de.ibm.com>

> On 08/08/2016 05:32 PM, David Hildenbrand wrote:
> 
> In general this this very good. Mostly bike shedding and naming.

Thanks!

> 
> > +/* indexed by feature number for easy lookup */
> > +static const S390FeatDef s390_features[] = {
> > +    FEAT_INIT("n3", S390_FEAT_TYPE_STFL, 0, "Instructions marked as n3"),  
> 
> /proc/cpuinfo calls this "esan3", so use the same?

Agreed.

> 
> > +    FEAT_INIT("zarch", S390_FEAT_TYPE_STFL, 1, "z/Architecture architectural mode"),
> > +    FEAT_INIT("dateh", S390_FEAT_TYPE_STFL, 3, "DAT-enhancement facility"),
> > +    FEAT_INIT("idtes", S390_FEAT_TYPE_STFL, 4, "IDTE selective TLB segment-table clearing"),
> > +    FEAT_INIT("idter", S390_FEAT_TYPE_STFL, 5, "IDTE selective TLB region-table clearing"),
> > +    FEAT_INIT("asnlxr", S390_FEAT_TYPE_STFL, 6, "ASN-and-LX reuse facility"),
> > +    FEAT_INIT("stfle", S390_FEAT_TYPE_STFL, 7, "Store-facility-list-extended facility"),
> > +    FEAT_INIT("edat", S390_FEAT_TYPE_STFL, 8, "Enhanced-DAT facility"),
> > +    FEAT_INIT("srs", S390_FEAT_TYPE_STFL, 9, "Sense-running-status facility"),
> > +    FEAT_INIT("csske", S390_FEAT_TYPE_STFL, 10, "Conditional-SSKE facility"),
> > +    FEAT_INIT("ctop", S390_FEAT_TYPE_STFL, 11, "Configuration-topology facility"),
> > +    FEAT_INIT("ipter", S390_FEAT_TYPE_STFL, 13, "IPTE-range facility"),
> > +    FEAT_INIT("nonqks", S390_FEAT_TYPE_STFL, 14, "Nonquiescing key-setting facility"),
> > +    FEAT_INIT("etf2", S390_FEAT_TYPE_STFL, 16, "Extended-translation facility 2"),
> > +    FEAT_INIT("msa-base", S390_FEAT_TYPE_STFL, 17, "Message-security-assist facility (excluding subfunctions)"),  
> 
> Hmm, same for all other msa variants below. Why not just "msa" (as /proc/cpuinfo)? Does "base"
> indicate that we have the facility bit/instruction,but no subfunction like SHA?

Yes, as the description says "excluding subfunctions".

msa is a feature group, containing all introduced subfunctions.

msa-base is just the STFL bit. As discussed a while ago, we need this, because
we could have some variance at that point int the future.

> 
> > +    FEAT_INIT("ldisp", S390_FEAT_TYPE_STFL, 18, "Long-displacement facility"),
> > +    FEAT_INIT("ldisphp", S390_FEAT_TYPE_STFL, 19, "Long-displacement facility has high performance"),
> > +    FEAT_INIT("hfpm", S390_FEAT_TYPE_STFL, 20, "HFP-multiply-add/subtract facility"),
> > +    FEAT_INIT("eimm", S390_FEAT_TYPE_STFL, 21, "Extended-immediate facility"),
> > +    FEAT_INIT("etf3", S390_FEAT_TYPE_STFL, 22, "Extended-translation facility 3"),
> > +    FEAT_INIT("hfpue", S390_FEAT_TYPE_STFL, 23, "HFP-unnormalized-extension facility"),
> > +    FEAT_INIT("etf2eh", S390_FEAT_TYPE_STFL, 24, "ETF2-enhancement facility"),
> > +    FEAT_INIT("stckf", S390_FEAT_TYPE_STFL, 25, "Store-clock-fast facility"),
> > +    FEAT_INIT("parseh", S390_FEAT_TYPE_STFL, 26, "Parsing-enhancement facility"),
> > +    FEAT_INIT("mvcos", S390_FEAT_TYPE_STFL, 27, "Move-with-optional-specification facility"),
> > +    FEAT_INIT("tods-base", S390_FEAT_TYPE_STFL, 28, "TOD-clock-steering facility (excluding subfunctions)"),
> > +    FEAT_INIT("etf3eh", S390_FEAT_TYPE_STFL, 30, "ETF3-enhancement facility"),
> > +    FEAT_INIT("ectg", S390_FEAT_TYPE_STFL, 31, "Extract-CPU-time facility"),
> > +    FEAT_INIT("csst", S390_FEAT_TYPE_STFL, 32, "Compare-and-swap-and-store facility"),
> > +    FEAT_INIT("csst2", S390_FEAT_TYPE_STFL, 33, "Compare-and-swap-and-store facility 2"),
> > +    FEAT_INIT("ginste", S390_FEAT_TYPE_STFL, 34, "General-instructions-extension facility"),
> > +    FEAT_INIT("exrl", S390_FEAT_TYPE_STFL, 35, "Execute-extensions facility"),
> > +    FEAT_INIT("emon", S390_FEAT_TYPE_STFL, 36, "Enhanced-monitor facility"),
> > +    FEAT_INIT("fpe", S390_FEAT_TYPE_STFL, 37, "Floating-point extension facility"),
> > +    FEAT_INIT("sprogp", S390_FEAT_TYPE_STFL, 40, "Set-program-parameters facility"),
> > +    FEAT_INIT("fpseh", S390_FEAT_TYPE_STFL, 41, "Floating-point-support-enhancement facilities"),
> > +    FEAT_INIT("dfp", S390_FEAT_TYPE_STFL, 42, "DFP (decimal-floating-point) facility"),
> > +    FEAT_INIT("dfphp", S390_FEAT_TYPE_STFL, 43, "DFP (decimal-floating-point) facility has high performance"),
> > +    FEAT_INIT("pfpo", S390_FEAT_TYPE_STFL, 44, "PFPO instruction"),
> > +    FEAT_INIT("gen11e", S390_FEAT_TYPE_STFL, 45, "Various facilities introduced with z196"),  
> 
> Hmm, not sure if gen11e is the best name.
> 
> It is for
> "The distinct-operands, fast-BCR-serialization, high-
> word, and population-count facilities, the
> interlocked-access facility 1, and the load/store-on-
> condition facility 1 are installed in the z/Architecture
> architectural mode."
> 
> which is certainly too long,even for the comment. So what about 
> "stfle45" instead of "gen11e" ? 

well, it at least tells you that it is a an enhancement part of hw generation
11. But I don't have a strong opinion on that. These should usually never be
presented to the user either way (because contained in the base models).

David

  reply	other threads:[~2016-08-16 14:42 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-08 15:32 [Qemu-devel] [Patch v2 00/29] s390x CPU models: exposing features David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 01/29] qmp: details about CPU definitions in query-cpu-definitions David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 02/29] s390x/cpumodel: "host" and "qemu" as CPU subclasses David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 03/29] s390x/cpumodel: expose CPU class properties David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 04/29] s390x/cpumodel: introduce CPU features David Hildenbrand
2016-08-16 14:36   ` Christian Borntraeger
2016-08-16 14:42     ` David Hildenbrand [this message]
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 05/29] s390x/cpumodel: generate CPU feature lists for CPU models David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 06/29] s390x/cpumodel: generate CPU feature group lists David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 07/29] s390x/cpumodel: introduce CPU feature group definitions David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 08/29] s390x/cpumodel: register defined CPU models as subclasses David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 09/29] s390x/cpumodel: store the CPU model in the CPU instance David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 10/29] s390x/cpumodel: expose features and feature groups as properties David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 11/29] s390x/cpumodel: let the CPU model handle feature checks David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 12/29] s390x/cpumodel: check and apply the CPU model David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 13/29] s390x/sclp: factor out preparation of cpu entries David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 14/29] s390x/sclp: introduce sclp feature blocks David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 15/29] s390x/sclp: indicate sclp features David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 16/29] s390x/sclp: propagate the ibc val(lowest and unblocked ibc) David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 17/29] s390x/sclp: propagate the mha via sclp David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 18/29] s390x/sclp: propagate hmfai David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 19/29] linux-headers: update against kvm/next David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 20/29] s390x/kvm: allow runtime-instrumentation for "none" machine David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 21/29] s390x/kvm: implement CPU model support David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 22/29] s390x/kvm: disable host model for existing compat machines David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 23/29] s390x/kvm: let the CPU model control CMM(A) David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 24/29] qmp: add QMP interface "query-cpu-model-expansion" David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 25/29] qmp: add QMP interface "query-cpu-model-comparison" David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 26/29] qmp: add QMP interface "query-cpu-model-baseline" David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 27/29] s390x/cpumodel: implement QMP interface "query-cpu-model-expansion" David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 28/29] s390x/cpumodel: implement QMP interface "query-cpu-model-comparison" David Hildenbrand
2016-08-08 15:32 ` [Qemu-devel] [Patch v2 29/29] s390x/cpumodel: implement QMP interface "query-cpu-model-baseline" David Hildenbrand
2016-08-08 16:45 ` [Qemu-devel] [Patch v2 00/29] s390x CPU models: exposing features no-reply
     [not found] ` <201608081645.u78GKFHE092220@mx0b-001b2d01.pphosted.com>
2016-08-08 17:02   ` Cornelia Huck
2016-08-08 17:14     ` David Hildenbrand
     [not found] ` <201608081645.u78GjISN026387@int-mx10.intmail.prod.int.phx2.redhat.com>
2016-08-08 17:27   ` Eduardo Habkost
2016-08-09  1:08     ` Fam Zheng
2016-08-15 14:00 ` David Hildenbrand
2016-08-15 14:03   ` Christian Borntraeger
2016-08-15 14:49     ` Cornelia Huck

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=20160816164205.3bd1654a@thinkpad-w530 \
    --to=dahi@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=ehabkost@redhat.com \
    --cc=fiuczy@linux.vnet.ibm.com \
    --cc=imammedo@redhat.com \
    --cc=jdenemar@redhat.com \
    --cc=mimu@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).