All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Carsten Otte <cotte@de.ibm.com>
Cc: Marcelo Tossati <mtosatti@redhat.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	KVM <kvm@vger.kernel.org>,
	Joachim von Buttlar <joachim_von_buttlar@de.ibm.com>,
	Jens Freimann <jfrei@de.ibm.com>,
	Constantin Werner <constantin.werner@de.ibm.com>
Subject: Re: [patch 01/12] [PATCH] kvm-s390: ioctl to switch to user controlled virtual machines
Date: Thu, 01 Dec 2011 15:15:03 +0200	[thread overview]
Message-ID: <4ED77DD7.7090507@redhat.com> (raw)
In-Reply-To: <20111201130408.897496445@de.ibm.com>

On 12/01/2011 02:57 PM, Carsten Otte wrote:
> This patch introduces a new config option for user controlled kernel
> virtual machines. It introduces a new ioctl named
> KVM_S390_ENABLE_UCONTROL on the kvm file descriptor which allows for
> a one way transition from a regular kernel virtual machine to a
> user controlled virtual machine. The virtual machine must not have
> any memory slots installed, and no virtual cpus defined.
> Note that the user controlled virtual machines require CAP_SYS_ADMIN
> privileges.
>
> Signed-off-by: Carsten Otte <cotte@de.ibm.com>
> ---
> ---
>  arch/s390/kvm/Kconfig    |    9 +++++++++
>  arch/s390/kvm/kvm-s390.c |   30 ++++++++++++++++++++++++++++++
>  arch/s390/kvm/kvm-s390.h |   10 ++++++++++
>  include/linux/kvm.h      |    3 +++
>  4 files changed, 52 insertions(+)

Documentation/virtual/kvm/api.txt +++++++++++++++++++

>  
> +int kvm_s390_enable_ucontrol(struct kvm *kvm)
> +{
> +#ifdef CONFIG_KVM_UCONTROL
> +	int i;
> +
> +	if (!capable(CAP_SYS_ADMIN))
> +		return -EPERM;
> +
> +	for (i = 0; i < KVM_MAX_VCPUS; i++)
> +		if (kvm->vcpus[i])
> +			return -EINVAL;
> +
> +	if (kvm->memslots->nmemslots)
> +		return -EPERM;

Why different errors?


> +
> +	if (kvm->arch.gmap)
> +		gmap_free(kvm->arch.gmap);
> +
> +	kvm->arch.gmap = NULL;

Locking?

What happens if a vcpu is created afterwards?

I guess you don't mind too much since this is a privileged interface for
a single purpose.

> --- a/include/linux/kvm.h
> +++ b/include/linux/kvm.h
> @@ -654,6 +654,9 @@ struct kvm_clock_data {
>  					struct kvm_userspace_memory_region)
>  #define KVM_SET_TSS_ADDR          _IO(KVMIO,   0x47)
>  #define KVM_SET_IDENTITY_MAP_ADDR _IOW(KVMIO,  0x48, __u64)
> +/* enable ucontrol for s390 */
> +#define KVM_S390_ENABLE_UCONTROL  _IO(KVMIO,  0x49)
> +
>  /* Device model IOC */
>  #define KVM_CREATE_IRQCHIP        _IO(KVMIO,   0x60)
>  #define KVM_IRQ_LINE              _IOW(KVMIO,  0x61, struct kvm_irq_level)
>

#define KVM_CAP_S390_UCONTROL


-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2011-12-01 13:15 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-01 12:57 [patch 00/12] User controlled virtual machines Carsten Otte
2011-12-01 12:57 ` [patch 01/12] [PATCH] kvm-s390: ioctl to switch to user " Carsten Otte
2011-12-01 13:15   ` Avi Kivity [this message]
2011-12-01 13:31     ` Avi Kivity
2011-12-01 14:20     ` Martin Schwidefsky
2011-12-01 12:57 ` [patch 02/12] [PATCH] kvm-s390-ucontrol: per vcpu address spaces Carsten Otte
2011-12-01 13:19   ` Avi Kivity
2011-12-01 12:57 ` [patch 03/12] [PATCH] kvm-s390-ucontrol: export page faults to user Carsten Otte
2011-12-01 12:57 ` [patch 04/12] [PATCH] kvm-s390-ucontrol: export SIE control block " Carsten Otte
2011-12-01 13:25   ` Avi Kivity
2011-12-01 13:26   ` Avi Kivity
2011-12-01 13:59     ` Carsten Otte
2011-12-01 14:04       ` Avi Kivity
2011-12-01 12:57 ` [patch 05/12] [PATCH] kvm-s390-ucontrol: disable in-kernel handling of SIE intercepts Carsten Otte
2011-12-01 12:57 ` [patch 06/12] [PATCH] kvm-s390-ucontrol: disable in-kernel irq stack Carsten Otte
2011-12-01 12:57 ` [patch 07/12] [PATCH] kvm-s390-ucontrol: interface to inject faults on a vcpu page table Carsten Otte
2011-12-01 12:57 ` [patch 08/12] [PATCH] kvm-s390-ucontrol: disable sca Carsten Otte
2011-12-01 12:57 ` [patch 09/12] [PATCH] kvm-s390: fix assumption for KVM_MAX_VCPUS Carsten Otte
2011-12-01 12:57 ` [patch 10/12] [PATCH] kvm-s390: storage key interface Carsten Otte
2011-12-01 12:57 ` [patch 11/12] [PATCH] kvm-s390-ucontrol: announce capability for user controlled vms Carsten Otte
2011-12-01 12:57 ` [patch 12/12] From: Carsten Otte <cotte@de.ibm.com> Carsten Otte
2011-12-01 13:10 ` [patch 00/12] User controlled virtual machines Avi Kivity
2011-12-01 13:33   ` Avi Kivity
2011-12-02 11:52     ` Carsten Otte
  -- strict thread matches above, loose matches on Subject: below --
2011-12-08  9:12 [patch 00/12] Ucontrol patchset V2 Carsten Otte
2011-12-08  9:12 ` [patch 01/12] [PATCH] kvm-s390: ioctl to switch to user controlled virtual machines Carsten Otte
2011-12-08  9:25   ` Sasha Levin
2011-12-08  9:27     ` Carsten Otte
2011-12-08  9:45     ` Avi Kivity
2011-12-08  9:53       ` Sasha Levin
2011-12-08  9:59         ` Avi Kivity
2011-12-08 10:18           ` Alexander Graf
2011-12-08 11:48             ` Carsten Otte
2011-12-08 13:16               ` Alexander Graf

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=4ED77DD7.7090507@redhat.com \
    --to=avi@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=constantin.werner@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=cotte@de.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jfrei@de.ibm.com \
    --cc=joachim_von_buttlar@de.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=schwidefsky@de.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.