aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorHalil Pasic <pasic@linux.vnet.ibm.com>2018-02-21 17:56:28 +0100
committerCornelia Huck <cohuck@redhat.com>2018-02-26 12:55:26 +0100
commita5a2b80d9538f5ca7b91ac201f1466ef58cf833f (patch)
tree0fdef75e2de3b46c2d5962811af2b2aaf4bd6b84 /target
parent137b5cb6ab565cb3781d5337591e155932b4230e (diff)
downloadqemu-a5a2b80d9538f5ca7b91ac201f1466ef58cf833f.zip
qemu-a5a2b80d9538f5ca7b91ac201f1466ef58cf833f.tar.gz
qemu-a5a2b80d9538f5ca7b91ac201f1466ef58cf833f.tar.bz2
s390x/cpumodel: document S390FeatDef.bit not applicable
The 'bit' field of the 'S390FeatDef' structure is not applicable to all its instances. Currently this field is not applicable, and remains unused, iff the feature is of type S390_FEAT_TYPE_MISC. Having the value 0 specified for multiple such feature definitions was a little confusing, as it's a perfectly legit bit value, and as the value of the bit field is usually ought to be unique for each feature of a given feature type. Let us introduce a specialized macro for defining features of type S390_FEAT_TYPE_MISC so, that one does not have to specify neither bit nor type (as the latter is implied). Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com> Message-Id: <20180221165628.78946-1-pasic@linux.vnet.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target')
-rw-r--r--target/s390x/cpu_features.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index a5619f2..3b9e274 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -23,6 +23,10 @@
.desc = _desc, \
}
+/* S390FeatDef.bit is not applicable as there is no feature block. */
+#define FEAT_INIT_MISC(_name, _desc) \
+ FEAT_INIT(_name, S390_FEAT_TYPE_MISC, 0, _desc)
+
/* indexed by feature number for easy lookup */
static const S390FeatDef s390_features[] = {
FEAT_INIT("esan3", S390_FEAT_TYPE_STFL, 0, "Instructions marked as n3"),
@@ -123,8 +127,8 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("ib", S390_FEAT_TYPE_SCLP_CPU, 42, "SIE: Intervention bypass facility"),
FEAT_INIT("cei", S390_FEAT_TYPE_SCLP_CPU, 43, "SIE: Conditional-external-interception facility"),
- FEAT_INIT("dateh2", S390_FEAT_TYPE_MISC, 0, "DAT-enhancement facility 2"),
- FEAT_INIT("cmm", S390_FEAT_TYPE_MISC, 0, "Collaborative-memory-management facility"),
+ FEAT_INIT_MISC("dateh2", "DAT-enhancement facility 2"),
+ FEAT_INIT_MISC("cmm", "Collaborative-memory-management facility"),
FEAT_INIT("plo-cl", S390_FEAT_TYPE_PLO, 0, "PLO Compare and load (32 bit in general registers)"),
FEAT_INIT("plo-clg", S390_FEAT_TYPE_PLO, 1, "PLO Compare and load (64 bit in parameter list)"),