public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
From: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
To: linux-s390@vger.kernel.org, qemu-s390x@nongnu.org, kvm@vger.kernel.org
Cc: freude@de.ibm.com, schwidefsky@de.ibm.com,
	heiko.carstens@de.ibm.com, borntraeger@de.ibm.com,
	cohuck@redhat.com, kwankhede@nvidia.com,
	bjsdjshi@linux.vnet.ibm.com, pbonzini@redhat.com,
	alex.williamson@redhat.com, pmorel@linux.vnet.ibm.com,
	alifm@linux.vnet.ibm.com, mjrosato@linux.vnet.ibm.com,
	jjherne@linux.vnet.ibm.com, thuth@redhat.com,
	pasic@linux.vnet.ibm.com,
	Tony Krowiak <akrowiak@linux.vnet.ibm.com>
Subject: [RFC 4/5] s390x/cpumodel: enable AP facilities for guest
Date: Thu, 26 Oct 2017 11:54:53 -0400	[thread overview]
Message-ID: <1509033294-4945-5-git-send-email-akrowiak@linux.vnet.ibm.com> (raw)
In-Reply-To: <1509033294-4945-1-git-send-email-akrowiak@linux.vnet.ibm.com>

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 <akrowiak@linux.vnet.ibm.com>
---
 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

  parent reply	other threads:[~2017-10-26 15:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-26 15:54 [RFC 0/5] guest dedicated crypto adapters: QEMU usage Tony Krowiak
2017-10-26 15:54 ` [RFC 1/5] s390x/ap-matrix: Adjunct Processor (AP) matrix object model Tony Krowiak
2017-11-14 14:58   ` Cornelia Huck
2017-10-26 15:54 ` [RFC 2/5] s390x/vfio: ap-matrix: Introduce VFIO AP Matrix device Tony Krowiak
2017-11-14 15:03   ` Cornelia Huck
2017-10-26 15:54 ` [RFC 3/5] s390x/ap-matrix: Configure AP matrix for KVM guest Tony Krowiak
2017-11-14 15:07   ` Cornelia Huck
2017-10-26 15:54 ` Tony Krowiak [this message]
2017-11-14 15:11   ` [RFC 4/5] s390x/cpumodel: enable AP facilities for guest Cornelia Huck
2017-11-14 16:23     ` David Hildenbrand
2017-10-26 15:54 ` [RFC 5/5] s390x/docs: documentation for ap-matrix Tony Krowiak
2017-11-14 15:21   ` Cornelia Huck
2017-11-14 15:23 ` [RFC 0/5] guest dedicated crypto adapters: QEMU usage 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=1509033294-4945-5-git-send-email-akrowiak@linux.vnet.ibm.com \
    --to=akrowiak@linux.vnet.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=alifm@linux.vnet.ibm.com \
    --cc=bjsdjshi@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=freude@de.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jjherne@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-s390@vger.kernel.org \
    --cc=mjrosato@linux.vnet.ibm.com \
    --cc=pasic@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=pmorel@linux.vnet.ibm.com \
    --cc=qemu-s390x@nongnu.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=thuth@redhat.com \
    /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