[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Patch v2 04/29] s390x/cpumodel: introduce CPU features
From: |
Christian Borntraeger |
Subject: |
Re: [Qemu-devel] [Patch v2 04/29] s390x/cpumodel: introduce CPU features |
Date: |
Tue, 16 Aug 2016 16:36:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 |
On 08/08/2016 05:32 PM, David Hildenbrand wrote:
In general this this very good. Mostly bike shedding and naming.
> +/* 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?
> + 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?
> + 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" ?
> + FEAT_INIT("cmpsceh", S390_FEAT_TYPE_STFL, 47, "CMPSC-enhancement
> facility"),
> + FEAT_INIT("dfpzc", S390_FEAT_TYPE_STFL, 48, "Decimal-floating-point
> zoned-conversion facility"),
> + FEAT_INIT("gen12e", S390_FEAT_TYPE_STFL, 49, "Various facilities
> introduced with zEC12"),
Same here.
> + FEAT_INIT("cte", S390_FEAT_TYPE_STFL, 50, "Constrained
> transactional-execution facility"),
> + FEAT_INIT("ltlbc", S390_FEAT_TYPE_STFL, 51, "Local-TLB-clearing
> facility"),
> + FEAT_INIT("iacc2", S390_FEAT_TYPE_STFL, 52, "Interlocked-access facility
> 2"),
> + FEAT_INIT("gen13e", S390_FEAT_TYPE_STFL, 53, "Various facilities
> introduced with z13"),
and here
- [Qemu-devel] [Patch v2 06/29] s390x/cpumodel: generate CPU feature group lists, (continued)
- [Qemu-devel] [Patch v2 06/29] s390x/cpumodel: generate CPU feature group lists, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 10/29] s390x/cpumodel: expose features and feature groups as properties, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 17/29] s390x/sclp: propagate the mha via sclp, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 15/29] s390x/sclp: indicate sclp features, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 07/29] s390x/cpumodel: introduce CPU feature group definitions, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 12/29] s390x/cpumodel: check and apply the CPU model, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 05/29] s390x/cpumodel: generate CPU feature lists for CPU models, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 18/29] s390x/sclp: propagate hmfai, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 02/29] s390x/cpumodel: "host" and "qemu" as CPU subclasses, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 04/29] s390x/cpumodel: introduce CPU features, David Hildenbrand, 2016/08/08
- Re: [Qemu-devel] [Patch v2 04/29] s390x/cpumodel: introduce CPU features,
Christian Borntraeger <=
- [Qemu-devel] [Patch v2 26/29] qmp: add QMP interface "query-cpu-model-baseline", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 24/29] qmp: add QMP interface "query-cpu-model-expansion", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 29/29] s390x/cpumodel: implement QMP interface "query-cpu-model-baseline", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 08/29] s390x/cpumodel: register defined CPU models as subclasses, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 20/29] s390x/kvm: allow runtime-instrumentation for "none" machine, David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 28/29] s390x/cpumodel: implement QMP interface "query-cpu-model-comparison", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 23/29] s390x/kvm: let the CPU model control CMM(A), David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 27/29] s390x/cpumodel: implement QMP interface "query-cpu-model-expansion", David Hildenbrand, 2016/08/08
- [Qemu-devel] [Patch v2 14/29] s390x/sclp: introduce sclp feature blocks, David Hildenbrand, 2016/08/08