All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>,
	Janosch Frank <frankja@linux.vnet.ibm.com>
Cc: KVM <kvm@vger.kernel.org>, Cornelia Huck <cohuck@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	Ulrich Weigand <Ulrich.Weigand@de.ibm.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Michael Mueller <mimu@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>
Subject: Re: [PATCH v3 10/37] KVM: s390: protvirt: Add KVM api documentation
Date: Thu, 20 Feb 2020 14:05:05 +0100	[thread overview]
Message-ID: <d9580cae-6448-4d7a-347a-281df969e945@redhat.com> (raw)
In-Reply-To: <20200220104020.5343-11-borntraeger@de.ibm.com>

On 20.02.20 11:39, Christian Borntraeger wrote:
> From: Janosch Frank <frankja@linux.ibm.com>
> 
> Add documentation for KVM_CAP_S390_PROTECTED capability and the
> KVM_S390_PV_COMMAND and KVM_S390_PV_COMMAND_VCPU ioctls.

Outdated.

I suggest moving this after "[PATCH v3 37/37] KVM: s390: protvirt:
introduce and enable KVM_CAP_S390_PROTECTED" or even squashing it into
that one.

> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> [borntraeger@de.ibm.com: patch merging, splitting, fixing]
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
>  Documentation/virt/kvm/api.rst | 52 ++++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
> 
> diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
> index 97a72a53fa4b..77e1edfe5d4c 100644
> --- a/Documentation/virt/kvm/api.rst
> +++ b/Documentation/virt/kvm/api.rst
> @@ -4646,6 +4646,51 @@ the clear cpu reset definition in the POP. However, the cpu is not put
>  into ESA mode. This reset is a superset of the initial reset.
>  
>  
> +4.125 KVM_S390_PV_COMMAND
> +-------------------------
> +
> +:Capability: KVM_CAP_S390_PROTECTED
> +:Architectures: s390
> +:Type: vm ioctl
> +:Parameters: struct kvm_pv_cmd
> +:Returns: 0 on success, < 0 on error
> +
> +::
> +
> +  struct kvm_pv_cmd {
> +	__u32 cmd;	/* Command to be executed */
> +	__u16 rc;	/* Ultravisor return code */
> +	__u16 rrc;	/* Ultravisor return reason code */
> +	__u64 data;	/* Data or address */
> +	__u32 flags;    /* flags for future extensions. Must be 0 for now */
> +	__u32 reserved[3];
> +  };
> +
> +cmd values:
> +
> +KVM_PV_ENABLE
> +  Allocate memory and register the VM with the Ultravisor, thereby
> +  donating memory to the Ultravisor making it inaccessible to KVM.
> +  Also converts all existing CPUs to protected ones. Future hotplug
> +  CPUs will become protected during creation.
> +
> +KVM_PV_DISABLE
> +  Deregisters the VM from the Ultravisor and frees memory that was
> +  donated, so the kernel can use it again. All registered VCPUs are
> +  converted back to non-protected ones.
> +
> +KVM_PV_VM_SET_SEC_PARMS
> +  Pass the image header from VM memory to the Ultravisor in
> +  preparation of image unpacking and verification.
> +
> +KVM_PV_VM_UNPACK
> +  Unpack (protect and decrypt) a page of the encrypted boot image.
> +
> +KVM_PV_VM_VERIFY
> +  Verify the integrity of the unpacked image. Only if this succeeds,
> +  KVM is allowed to start protected VCPUs.
> +
> +
>  5. The kvm_run structure
>  ========================
>  
> @@ -6024,3 +6069,10 @@ Architectures: s390
>  
>  This capability indicates that the KVM_S390_NORMAL_RESET and
>  KVM_S390_CLEAR_RESET ioctls are available.
> +
> +8.23 KVM_CAP_S390_PROTECTED
> +
> +Architecture: s390
> +
> +This capability indicates that KVM can start protected VMs and the
> +Ultravisor has therefore been initialized.
> 

Maybe document that KVM_S390_PV_COMMAND and the new MP is available.
Also maybe that MP commands can now fail.

-- 
Thanks,

David / dhildenb

  reply	other threads:[~2020-02-20 13:05 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-20 10:39 [PATCH v3 00/37] KVM: s390: Add support for protected VMs Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 01/37] mm:gup/writeback: add callbacks for inaccessible pages Christian Borntraeger
2020-02-20 12:15   ` David Hildenbrand
2020-02-20 10:39 ` [PATCH v3 02/37] KVM: s390/interrupt: do not pin adapter interrupt pages Christian Borntraeger
2020-02-21  8:09   ` [PATCH v3.1 " Christian Borntraeger
2020-02-21  9:50     ` David Hildenbrand
2020-02-21 10:41     ` Cornelia Huck
2020-02-21 11:05       ` Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 03/37] s390/protvirt: introduce host side setup Christian Borntraeger
2020-02-21 12:39   ` Cornelia Huck
2020-02-20 10:39 ` [PATCH v3 04/37] s390/protvirt: add ultravisor initialization Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 05/37] s390/mm: provide memory management functions for protected KVM guests Christian Borntraeger
2020-02-20 12:25   ` David Hildenbrand
2020-02-20 10:39 ` [PATCH v3 06/37] s390/mm: add (non)secure page access exceptions handlers Christian Borntraeger
2020-02-21 10:38   ` David Hildenbrand
2020-02-20 10:39 ` [PATCH v3 07/37] KVM: s390: protvirt: Add UV debug trace Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 08/37] KVM: s390: add new variants of UV CALL Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 09/37] KVM: s390: protvirt: Add initial vm and cpu lifecycle handling Christian Borntraeger
2020-02-20 13:02   ` David Hildenbrand
2020-02-20 19:44     ` Christian Borntraeger
2020-02-21  8:07       ` [PATCH v3.1 " Christian Borntraeger
2020-02-21 11:45         ` David Hildenbrand
2020-02-21 13:03           ` Christian Borntraeger
2020-02-21 13:08             ` David Hildenbrand
2020-02-21  8:22       ` [PATCH v3 " David Hildenbrand
2020-02-21  8:40         ` Christian Borntraeger
2020-02-21 11:47           ` David Hildenbrand
2020-02-20 10:39 ` [PATCH v3 10/37] KVM: s390: protvirt: Add KVM api documentation Christian Borntraeger
2020-02-20 13:05   ` David Hildenbrand [this message]
2020-02-20 13:55     ` Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 11/37] KVM: s390: protvirt: Secure memory is not mergeable Christian Borntraeger
2020-02-21 12:49   ` Cornelia Huck
2020-02-20 10:39 ` [PATCH v3 12/37] KVM: s390/mm: Make pages accessible before destroying the guest Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 13/37] KVM: s390: protvirt: Handle SE notification interceptions Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 14/37] KVM: s390: protvirt: Instruction emulation Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 15/37] KVM: s390: protvirt: Implement interrupt injection Christian Borntraeger
2020-02-20 10:39 ` [PATCH v3 16/37] KVM: s390: protvirt: Add SCLP interrupt handling Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 17/37] KVM: s390: protvirt: Handle spec exception loops Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 18/37] KVM: s390: protvirt: Add new gprs location handling Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 19/37] KVM: S390: protvirt: Introduce instruction data area bounce buffer Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 20/37] KVM: s390: protvirt: handle secure guest prefix pages Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 21/37] KVM: s390/mm: handle guest unpin events Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 22/37] KVM: s390: protvirt: Write sthyi data to instruction data area Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 23/37] KVM: s390: protvirt: STSI handling Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 24/37] KVM: s390: protvirt: disallow one_reg Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 25/37] KVM: s390: protvirt: Do only reset registers that are accessible Christian Borntraeger
2020-02-21 10:39   ` David Hildenbrand
2020-02-20 10:40 ` [PATCH v3 26/37] KVM: s390: protvirt: Only sync fmt4 registers Christian Borntraeger
2020-02-21 10:43   ` David Hildenbrand
2020-02-20 10:40 ` [PATCH v3 27/37] KVM: s390: protvirt: Add program exception injection Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 28/37] KVM: s390: protvirt: UV calls in support of diag308 0, 1 Christian Borntraeger
2020-02-21 10:44   ` David Hildenbrand
2020-02-20 10:40 ` [PATCH v3 29/37] KVM: s390: protvirt: Report CPU state to Ultravisor Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 30/37] KVM: s390: protvirt: Support cmd 5 operation state Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 31/37] KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 32/37] KVM: s390: protvirt: do not inject interrupts after start Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 33/37] KVM: s390: protvirt: Add UV cpu reset calls Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 34/37] DOCUMENTATION: Protected virtual machine introduction and IPL Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 35/37] s390: protvirt: Add sysfs firmware interface for Ultravisor information Christian Borntraeger
2020-02-21 10:46   ` David Hildenbrand
2020-02-20 10:40 ` [PATCH v3 36/37] KVM: s390: rstify new ioctls in api.rst Christian Borntraeger
2020-02-21 10:47   ` David Hildenbrand
2020-02-21 10:51   ` Cornelia Huck
2020-02-21 11:13     ` Christian Borntraeger
2020-02-20 10:40 ` [PATCH v3 37/37] KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED Christian Borntraeger
2020-02-21 10:47   ` David Hildenbrand
2020-02-21 10:54 ` [PATCH v3 00/37] KVM: s390: Add support for protected VMs David Hildenbrand
2020-02-21 11:26   ` Christian Borntraeger
2020-02-21 11:28     ` David Hildenbrand
2020-02-21 13:45       ` 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=d9580cae-6448-4d7a-347a-281df969e945@redhat.com \
    --to=david@redhat.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=frankja@linux.vnet.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mimu@linux.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 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.