[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[qemu-s390x] [RFC 4/5] s390x/cpumodel: enable AP facilities for guest
From: |
Tony Krowiak |
Subject: |
[qemu-s390x] [RFC 4/5] s390x/cpumodel: enable AP facilities for guest |
Date: |
Thu, 26 Oct 2017 11:54:53 -0400 |
Sets up the following STFLE bits to enable the specified AP
facilities for the guest VM:
* STFLE.12: Enables the AP Query Configuration Information
facility. The AP bus running in the guest uses
the information returned from this instruction
to configure AP adapters and domains for the
guest machine.
* STFLE.15: Enables the AP Special Command facility. The AP
bus running in the guest sets the T bit in
register 0 for the PQAP(TAPQ) instruction when
scanning for AP devices if this facility is
installed.
These facilities are required in order for the AP bus running on
the KVM guest to function properly.
Signed-off-by: Tony Krowiak <address@hidden>
---
target/s390x/cpu_features.c | 2 ++
target/s390x/cpu_features_def.h | 2 ++
target/s390x/gen-features.c | 4 ++++
3 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 31a4676..63f002c 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -36,8 +36,10 @@ static const S390FeatDef s390_features[] = {
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("apqci", S390_FEAT_TYPE_STFL, 12, "Query Adjunct Processor
Configuration 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("apsc", S390_FEAT_TYPE_STFL, 15, "Adjunct Processor Special
Command 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)"),
FEAT_INIT("ldisp", S390_FEAT_TYPE_STFL, 18, "Long-displacement facility"),
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 4b6d4e9..4e2589f 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -27,8 +27,10 @@ typedef enum {
S390_FEAT_SENSE_RUNNING_STATUS,
S390_FEAT_CONDITIONAL_SSKE,
S390_FEAT_CONFIGURATION_TOPOLOGY,
+ S390_FEAT_AP_QUERY_CONFIG_INFO,
S390_FEAT_IPTE_RANGE,
S390_FEAT_NONQ_KEY_SETTING,
+ S390_FEAT_AP_SPECIAL_CMD,
S390_FEAT_EXTENDED_TRANSLATION_2,
S390_FEAT_MSA,
S390_FEAT_LONG_DISPLACEMENT,
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 68e6c31..42914cf 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -425,6 +425,10 @@ static uint16_t full_GEN11_GA1[] = {
S390_FEAT_IPTE_RANGE,
S390_FEAT_ACCESS_EXCEPTION_FS_INDICATION,
S390_FEAT_GROUP_MSA_EXT_4,
+ S390_FEAT_AP_QUERY_CONFIG_INFO,
+ S390_FEAT_AP_SPECIAL_CMD,
+ /* FIXME when GISA support is available
+ S390_FEAT_AP_QUEUE_INTERRUPT_CONTROL,*/
};
#define full_GEN11_GA2 EmptyFeat
--
1.7.1