Skip to content
  • David Gibson's avatar
    6c8ebe30
    spapr: Add PEF based confidential guest support · 6c8ebe30
    David Gibson authored
    
    
    Some upcoming POWER machines have a system called PEF (Protected
    Execution Facility) 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 having the right hardware and firmware, we don't
    enable this by default.  In order to run a secure guest you need to
    create a "pef-guest" object and set the confidential-guest-support
    property to point to it.
    
    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.  Qemu has no direct way of knowing if the guest is in
    secure mode, and certainly can't know until well after machine
    creation time.
    
    To start a PEF-capable guest, use the command line options:
        -object pef-guest,id=pef0 -machine confidential-guest-support=pef0
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
    6c8ebe30
    spapr: Add PEF based confidential guest support
    David Gibson authored
    
    
    Some upcoming POWER machines have a system called PEF (Protected
    Execution Facility) 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 having the right hardware and firmware, we don't
    enable this by default.  In order to run a secure guest you need to
    create a "pef-guest" object and set the confidential-guest-support
    property to point to it.
    
    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.  Qemu has no direct way of knowing if the guest is in
    secure mode, and certainly can't know until well after machine
    creation time.
    
    To start a PEF-capable guest, use the command line options:
        -object pef-guest,id=pef0 -machine confidential-guest-support=pef0
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Loading