All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: pair@us.ibm.com, mst@redhat.com, aik@ozlabs.ru,
	qemu-devel@nongnu.org, groug@kaod.org, paulus@samba.org,
	clg@kaod.org, mdroth@us.ibm.com, qemu-ppc@nongnu.org
Subject: Re: Upstream QEMU guest support policy ? Re: [PATCH v3 0/2] spapr: Use vIOMMU translation for virtio by default
Date: Thu, 12 Mar 2020 12:08:47 +1100	[thread overview]
Message-ID: <20200312010847.GA711223@umbus.fritz.box> (raw)
In-Reply-To: <20200311100127.GC3614859@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 3094 bytes --]

On Wed, Mar 11, 2020 at 10:01:27AM +0000, Daniel P. Berrangé wrote:
65;5803;1c> On Wed, Mar 11, 2020 at 12:12:47PM +1100, David Gibson wrote:
> > On Tue, Mar 10, 2020 at 11:43:43AM +0000, Daniel P. Berrangé wrote:
> > > On Thu, Mar 05, 2020 at 03:30:07PM +1100, David Gibson wrote:
> > > > Upcoming Secure VM support for pSeries machines introduces some
> > > > complications for virtio, since the transfer buffers need to be
> > > > explicitly shared so that the hypervisor can access them.
> > > > 
> > > > While it's not strictly speaking dependent on it, the fact that virtio
> > > > devices bypass normal platform IOMMU translation complicates the issue
> > > > on the guest side.  Since there are some significan downsides to
> > > > bypassing the vIOMMU anyway, let's just disable that.
> > > > 
> > > > There's already a flag to do this in virtio, just turn it on by
> > > > default for forthcoming pseries machine types.
> > > 
> > > Breaking existing guest OS to support a new secure VM feature that
> > > may not even be used/wanted doesn't seems like a sensible tradeoff
> > > for default out of the box behaviour.
> > > 
> > > IOW, if Secure VM needs this, can we tie the change in virtio and
> > > IOMMU defaults to the machine type flag that enables the use of
> > > Secure VM.
> > 
> > There is no such flag.
> > 
> > In the POWER secure VM model, the secure mode option isn't something
> > that's constructed in when the hypervisor builds the VM.  Instead the
> > VM is started normally and transitions itself to secure mode by
> > talking directly with the ultravisor (it then uses TPM shenannigans to
> > safely get the keys to its real storage backend(s)).
> 
> This is pretty suprising to me. The ability to use secure VM mode surely
> depends on host hardware features. We would need to be able to block the
> use of this, in order to allow VMs to be live migrated to hosts which
> lack the feature. Automatically & silently enabling a feature that
> has a hardware dependancy is something we aim to avoid, unless the user
> has opted in via some flag (such as -cpu host, or a -cpu $NAME, that
> implies the feature).

That is an excellent point, which I had not previously considered.

I have confirmed that there is indeed not, at present, a way to
disable the secure transition.  But, it looks like it's not too late
to fix it.

I've discussed with Paul Mackerras, and early in the secure transition
apparently the UV makes a call to the HV, which is allowed to fail.

So, we're looking at adding another KVM capability for secure mode.
It will default to disabled, and until it is explicitly enabled, KVM
will always fail that call from the UV, effectively preventing guests
from going into secure mode.

We can then wire that up to a new spapr cap in qemu, which we can also
use to configure these virtio defaults.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2020-03-12  1:24 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-05  4:30 [PATCH v3 0/2] spapr: Use vIOMMU translation for virtio by default David Gibson
2020-03-05  4:30 ` [PATCH v3 1/2] spapr: Disable legacy virtio devices for pseries-5.0 and later David Gibson
2020-03-05 10:31   ` Greg Kurz
2020-03-10  9:43     ` Greg Kurz
2020-03-10  9:57       ` Michael S. Tsirkin
2020-03-10 11:03       ` Michael S. Tsirkin
2020-03-10 12:24         ` Greg Kurz
2020-03-10 11:56   ` Daniel P. Berrangé
2020-03-11  0:58     ` David Gibson
2020-03-11  7:11       ` Michael S. Tsirkin
2020-03-12  1:14         ` David Gibson
2020-03-12  6:41           ` Michael S. Tsirkin
2020-03-05  4:30 ` [PATCH v3 2/2] spapr: Enable virtio iommu_platform=on by default David Gibson
2020-03-05 11:59   ` Greg Kurz
2020-03-10 10:43     ` Greg Kurz
2020-03-12  4:14       ` Alexey Kardashevskiy
2020-03-12  8:02         ` Greg Kurz
2020-03-10 11:43 ` Upstream QEMU guest support policy ? Re: [PATCH v3 0/2] spapr: Use vIOMMU translation for virtio " Daniel P. Berrangé
2020-03-11  1:12   ` David Gibson
2020-03-11  7:33     ` Michael S. Tsirkin
2020-03-12  1:10       ` David Gibson
2020-03-12  6:32         ` Michael S. Tsirkin
2020-03-16  3:06           ` David Gibson
2020-03-11 10:01     ` Daniel P. Berrangé
2020-03-11 11:48       ` Michael S. Tsirkin
2020-03-12  1:09         ` David Gibson
2020-03-12  1:08       ` David Gibson [this message]
2020-03-12  9:47         ` Daniel P. Berrangé
2020-03-11 17:19 ` Greg Kurz

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=20200312010847.GA711223@umbus.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=aik@ozlabs.ru \
    --cc=berrange@redhat.com \
    --cc=clg@kaod.org \
    --cc=groug@kaod.org \
    --cc=mdroth@us.ibm.com \
    --cc=mst@redhat.com \
    --cc=pair@us.ibm.com \
    --cc=paulus@samba.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /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.