From: Cornelia Huck <cohuck@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
Alexander Graf <agraf@suse.de>,
Richard Henderson <rth@twiddle.net>,
Yi Min Zhao <zyimin@linux.vnet.ibm.com>,
Pierre Morel <pmorel@linux.vnet.ibm.com>,
Halil Pasic <pasic@linux.vnet.ibm.com>,
Thomas Huth <thuth@redhat.com>
Subject: Re: [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities
Date: Thu, 13 Jul 2017 14:11:58 +0200 [thread overview]
Message-ID: <20170713141158.32e74897@gondolin> (raw)
In-Reply-To: <1499942429-55449-3-git-send-email-borntraeger@de.ibm.com>
On Thu, 13 Jul 2017 12:40:28 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> From: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
>
> zPCI instructions and facilities are available since IBM zEnterprise
> EC12. To support z/PCI in QEMU we enable zpci, aen and ais facilities
> starting with zEC12 GA1. And we always set zpci and aen bits in max cpu
> model. Later they might be switched off due to applied real cpu model.
> For ais bit, we only provide it in the full cpu model beginning with
> zEC12 and defer its enablement in the default cpu model to a later point
> in time. At the same time, disable them for 2.9 and older machines.
>
> Because of introducing AIS facility, we could check if it's enabled to
> initialize flic->ais_supported with the real value.
>
> Signed-off-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> hw/intc/s390_flic.c | 3 ++-
> hw/intc/s390_flic_kvm.c | 3 ---
> hw/s390x/s390-virtio-ccw.c | 3 +++
> target/s390x/cpu_features.c | 3 +++
> target/s390x/cpu_features_def.h | 3 +++
> target/s390x/gen-features.c | 5 +++++
> target/s390x/kvm.c | 7 +++++++
> 7 files changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
> index ff6e4ec..6e7c610 100644
> --- a/hw/intc/s390_flic.c
> +++ b/hw/intc/s390_flic.c
> @@ -163,9 +163,10 @@ static void s390_flic_common_realize(DeviceState *dev, Error **errp)
> if (max_batch > ADAPTER_ROUTES_MAX_GSI) {
> error_setg(errp, "flic property adapter_routes_max_batch too big"
> " (%d > %d)", max_batch, ADAPTER_ROUTES_MAX_GSI);
> + return;
Hunk should go into a previous patch?
(And does it really matter?)
> }
>
> - fs->ais_supported = true;
> + fs->ais_supported = s390_has_feat(S390_FEAT_ADAPTER_INT_SUPPRESSION);
> }
>
> static void s390_flic_class_init(ObjectClass *oc, void *data)
> diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
> index 78ebe83..1901153 100644
> --- a/target/s390x/kvm.c
> +++ b/target/s390x/kvm.c
> @@ -302,6 +302,9 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
> }
> }
>
> + /* Try to enable AIS facility */
> + kvm_vm_enable_cap(s, KVM_CAP_S390_AIS, 0);
What happens if you fail to enable it? You probably don't want to allow
the feature bit, then?
> +
> qemu_mutex_init(&qemu_sigp_mutex);
>
> return 0;
Let's summarize to make sure that I'm not confused:
- Starting with zEC12 GA1, we provide zpci, aen, ais in the full model
- Starting with zEC12 GA1, we provide zpci and aen in the default model
- In the host model, we add zpci and aen; they might be switched off
after applying the found model
- Compat for 2.9 and earlier switches off zpci, aen, ais
- We unconditionally enable the kvm part of ais
I'm still not sure what's supposed to happen with new qemu + old kernel
(no ais) + full zEC12 GA1 or later model.
next prev parent reply other threads:[~2017-07-13 12:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-13 10:40 [Qemu-devel] [PATCH/s390-next 0/3] s390x: remaining pci related fixes Christian Borntraeger
2017-07-13 10:40 ` [Qemu-devel] [PATCH/s390-next 1/3] s390x: initialize cpu firstly Christian Borntraeger
2017-07-13 11:55 ` Cornelia Huck
2017-07-13 10:40 ` [Qemu-devel] [PATCH/s390-next 2/3] s390x/cpumodel: add zpci, aen and ais facilities Christian Borntraeger
2017-07-13 12:11 ` Cornelia Huck [this message]
2017-07-13 12:29 ` Christian Borntraeger
2017-07-13 13:06 ` Cornelia Huck
2017-07-13 13:11 ` Christian Borntraeger
2017-07-13 13:15 ` Cornelia Huck
2017-07-13 12:41 ` Christian Borntraeger
2017-07-13 12:57 ` Cornelia Huck
2017-07-13 13:07 ` Halil Pasic
2017-07-13 10:40 ` [Qemu-devel] [PATCH/s390-next 3/3] s390x/flic: migrate ais states Christian Borntraeger
2017-07-13 12:27 ` Cornelia Huck
2017-07-13 13:02 ` Christian Borntraeger
2017-07-13 13:10 ` Cornelia Huck
2017-07-13 13:41 ` Halil Pasic
2017-07-13 13:58 ` Christian Borntraeger
2017-07-13 14:01 ` Cornelia Huck
2017-07-13 13:18 ` Halil Pasic
2017-07-13 14:49 ` Dr. David Alan Gilbert
2017-07-13 15:05 ` Christian Borntraeger
2017-07-13 15:11 ` Dr. David Alan Gilbert
2017-07-13 15:45 ` Halil Pasic
2017-07-13 15:54 ` Dr. David Alan Gilbert
2017-07-18 10:31 ` Juan Quintela
2017-07-18 14:07 ` Dr. David Alan Gilbert
2017-07-18 18:24 ` Halil Pasic
2017-07-13 15:27 ` Cornelia Huck
2017-07-13 10:58 ` [Qemu-devel] [PATCH/s390-next 0/3] s390x: remaining pci related fixes Christian Borntraeger
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=20170713141158.32e74897@gondolin \
--to=cohuck@redhat.com \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=pasic@linux.vnet.ibm.com \
--cc=pmorel@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
--cc=thuth@redhat.com \
--cc=zyimin@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.