qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] spapr: Add capability for Secure (PEF) VMs


From: David Gibson
Subject: Re: [PATCH] spapr: Add capability for Secure (PEF) VMs
Date: Wed, 6 May 2020 11:42:00 +1000

On Tue, May 05, 2020 at 09:17:19AM +0100, Dr. David Alan Gilbert wrote:
> * David Gibson (address@hidden) wrote:
> > On Fri, May 01, 2020 at 04:02:49PM +1000, David Gibson wrote:
> > > Recent POWER9 machines have a system called PEF (Protected Execution
> > > Framework) which uses a small ultravisor to allow guests to run in a
> > > way that they can't be eavesdropped by the hypervisor.  The effect is
> > > roughly similar to AMD SEV, although the mechanisms are quite
> > > different.
> > > 
> > > Most of the work of this is done between the guest, KVM and the
> > > ultravisor, with little need for involvement by qemu.  However qemu
> > > does need to tell KVM to allow secure VMs.
> > > 
> > > Because the availability of secure mode is a guest visible difference
> > > which depends on havint the right hardware and firmware, we don't
> > > enable this by default.  In order to run a secure guest you need to
> > > set the new 'cap-allow-secure-guest' flag on.  Note that this just
> > > *allows* secure guests, the architecture of PEF is such that the guest
> > > still needs to talk to the ultravisor to enter secure mode, so we
> > > don't know if the guest actually is secure at machine creation time.
> > > 
> > > Signed-off-by: David Gibson <address@hidden>
> > 
> > Hm, so.  I'm reconsidering this.  I'm thinking I should probably try
> > to make this configuration more like what AMD SEV does, since this is
> > a very similar functionality.
> 
> Other than setting the 'we support PEF' flag, is there anything else
> you're going to have to do - for example with SEV there's stuff to pass
> a block of data and to do attestations and .... it's not just setting a
> flag; but my understanding of PEF it's more driven from the guest.

Yeah, with PEF there's not much.  Nonetheless I think I have a
reasonable way to partly unify the configuration, I hope to post some
patches shortly.

What we do want to do with PEF.. in fact, I suspect with all these
cases, is change some of the configuration defaults for virtio
(disable-legacy=on, iommu_platform=on), since with any guest whose
memory is protected from the hypervisor it will have to use normal DMA
channels rather than assuming it can access guest memory directly.

I haven't entirely worked out how to do that in a QOMishly acceptable
way yet.

-- 
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: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]