All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
@ 2011-08-31  8:58 ` Alexander Graf
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-08-31  8:58 UTC (permalink / raw)
  To: kvm; +Cc: kvm-ppc

We have an ioctl that enables capabilities individually, but no description
on what exactly happens when we enable a capability using this ioctl.

This patch adds documentation for capability enabling in a new section
of the API documentation.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 Documentation/virtual/kvm/api.txt |   48 +++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 2d510b6..8757366 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -1653,3 +1653,51 @@ developer registration required to access it).
 		char padding[256];
 	};
 };
+
+6. Capabilities that can be enabled
+
+There are certain capabilities that change the behavior of the virtual CPU when
+enabled. To enable them, please see section 4.37. Below you can find a list of
+capabilities and what their effect on the vCPU is when enabling them.
+
+The following information is provided along with the description:
+
+  Architectures: which instruction set architectures provide this ioctl.
+      x86 includes both i386 and x86_64.
+
+  Parameters: what parameters are accepted by the capability.
+
+  Returns: the return value.  General error numbers (EBADF, ENOMEM, EINVAL)
+      are not detailed, but errors with specific meanings are.
+
+6.1 KVM_CAP_PPC_OSI
+
+Architectures: ppc
+Parameters: none
+Returns: 0 on success; -1 on error
+
+This capaobility enables interception of OSI hypercalls that otherwise would
+be treated as normal system calls to be injected into the guest. OSI hypercalls
+were invented by Mac-on-Linux to have a standardized communication mechanism
+between the guest and the host.
+
+When this capability is enabled, KVM_EXIT_OSI can occur.
+
+6.2 KVM_CAP_PPC_PAPR
+
+Architectures: ppc
+Parameters: none
+Returns: 0 on success; -1 on error
+
+This capability enables interception of PAPR hypercalls. PAPR hypercalls are
+done using the hypercall instruction "sc 1".
+
+It also sets the guest privilege level to "supervisor" mode. Usually the guest
+runs in "hypervisor" privilege mode with a few missing features.
+
+In addition to the above, it changes the semantics of SDR1. In this mode, the
+HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the
+HTAB invisible to the guest.
+
+When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur.
+
-- 
1.6.0.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
@ 2011-08-31  8:58 ` Alexander Graf
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-08-31  8:58 UTC (permalink / raw)
  To: kvm; +Cc: kvm-ppc

We have an ioctl that enables capabilities individually, but no description
on what exactly happens when we enable a capability using this ioctl.

This patch adds documentation for capability enabling in a new section
of the API documentation.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 Documentation/virtual/kvm/api.txt |   48 +++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 2d510b6..8757366 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -1653,3 +1653,51 @@ developer registration required to access it).
 		char padding[256];
 	};
 };
+
+6. Capabilities that can be enabled
+
+There are certain capabilities that change the behavior of the virtual CPU when
+enabled. To enable them, please see section 4.37. Below you can find a list of
+capabilities and what their effect on the vCPU is when enabling them.
+
+The following information is provided along with the description:
+
+  Architectures: which instruction set architectures provide this ioctl.
+      x86 includes both i386 and x86_64.
+
+  Parameters: what parameters are accepted by the capability.
+
+  Returns: the return value.  General error numbers (EBADF, ENOMEM, EINVAL)
+      are not detailed, but errors with specific meanings are.
+
+6.1 KVM_CAP_PPC_OSI
+
+Architectures: ppc
+Parameters: none
+Returns: 0 on success; -1 on error
+
+This capaobility enables interception of OSI hypercalls that otherwise would
+be treated as normal system calls to be injected into the guest. OSI hypercalls
+were invented by Mac-on-Linux to have a standardized communication mechanism
+between the guest and the host.
+
+When this capability is enabled, KVM_EXIT_OSI can occur.
+
+6.2 KVM_CAP_PPC_PAPR
+
+Architectures: ppc
+Parameters: none
+Returns: 0 on success; -1 on error
+
+This capability enables interception of PAPR hypercalls. PAPR hypercalls are
+done using the hypercall instruction "sc 1".
+
+It also sets the guest privilege level to "supervisor" mode. Usually the guest
+runs in "hypervisor" privilege mode with a few missing features.
+
+In addition to the above, it changes the semantics of SDR1. In this mode, the
+HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the
+HTAB invisible to the guest.
+
+When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur.
+
-- 
1.6.0.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed
  2011-08-31  8:58 ` Alexander Graf
@ 2011-08-31 12:52   ` Sasha Levin
  -1 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2011-08-31 12:52 UTC (permalink / raw)
  To: Alexander Graf; +Cc: kvm, kvm-ppc

On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
> +This capaobility enables interception of OSI hypercalls that otherwise would
	capability

-- 

Sasha.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
@ 2011-08-31 12:52   ` Sasha Levin
  0 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2011-08-31 12:52 UTC (permalink / raw)
  To: Alexander Graf; +Cc: kvm, kvm-ppc

On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
> +This capaobility enables interception of OSI hypercalls that otherwise would
	capability

-- 

Sasha.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
  2011-08-31 12:52   ` [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description Sasha Levin
@ 2011-08-31 13:02     ` Alexander Graf
  -1 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-08-31 13:02 UTC (permalink / raw)
  To: Sasha Levin; +Cc: kvm@vger.kernel.org list, kvm-ppc, Avi Kivity


On 31.08.2011, at 14:52, Sasha Levin wrote:

> On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
>> +This capaobility enables interception of OSI hypercalls that otherwise would
> 	capability

Oops :). Avi, you pulled that one in already. Can you still change it in-tree (it's not gone to master yet, right?) or do you want me to send a typo fix patch on top?


Alex


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
@ 2011-08-31 13:02     ` Alexander Graf
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-08-31 13:02 UTC (permalink / raw)
  To: Sasha Levin; +Cc: kvm@vger.kernel.org list, kvm-ppc, Avi Kivity


On 31.08.2011, at 14:52, Sasha Levin wrote:

> On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
>> +This capaobility enables interception of OSI hypercalls that otherwise would
> 	capability

Oops :). Avi, you pulled that one in already. Can you still change it in-tree (it's not gone to master yet, right?) or do you want me to send a typo fix patch on top?


Alex

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP
  2011-08-31 13:02     ` Alexander Graf
@ 2011-08-31 13:07       ` Avi Kivity
  -1 siblings, 0 replies; 10+ messages in thread
From: Avi Kivity @ 2011-08-31 13:07 UTC (permalink / raw)
  To: Alexander Graf; +Cc: Sasha Levin, kvm@vger.kernel.org list, kvm-ppc

On 08/31/2011 04:02 PM, Alexander Graf wrote:
> On 31.08.2011, at 14:52, Sasha Levin wrote:
>
> >  On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
> >>  +This capaobility enables interception of OSI hypercalls that otherwise would
> >  	capability
>
> Oops :). Avi, you pulled that one in already. Can you still change it in-tree (it's not gone to master yet, right?) or do you want me to send a typo fix patch on top?
>

I fixed it locally here, and no it wasn't pushed yet.

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
@ 2011-08-31 13:07       ` Avi Kivity
  0 siblings, 0 replies; 10+ messages in thread
From: Avi Kivity @ 2011-08-31 13:07 UTC (permalink / raw)
  To: Alexander Graf; +Cc: Sasha Levin, kvm@vger.kernel.org list, kvm-ppc

On 08/31/2011 04:02 PM, Alexander Graf wrote:
> On 31.08.2011, at 14:52, Sasha Levin wrote:
>
> >  On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
> >>  +This capaobility enables interception of OSI hypercalls that otherwise would
> >  	capability
>
> Oops :). Avi, you pulled that one in already. Can you still change it in-tree (it's not gone to master yet, right?) or do you want me to send a typo fix patch on top?
>

I fixed it locally here, and no it wasn't pushed yet.

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
  2011-08-31 13:07       ` [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description Avi Kivity
@ 2011-08-31 13:11         ` Alexander Graf
  -1 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-08-31 13:11 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Sasha Levin, kvm@vger.kernel.org list, kvm-ppc


On 31.08.2011, at 15:07, Avi Kivity wrote:

> On 08/31/2011 04:02 PM, Alexander Graf wrote:
>> On 31.08.2011, at 14:52, Sasha Levin wrote:
>> 
>> >  On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
>> >>  +This capaobility enables interception of OSI hypercalls that otherwise would
>> >  	capability
>> 
>> Oops :). Avi, you pulled that one in already. Can you still change it in-tree (it's not gone to master yet, right?) or do you want me to send a typo fix patch on top?
>> 
> 
> I fixed it locally here, and no it wasn't pushed yet.

Thanks! :)

Alex


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description
@ 2011-08-31 13:11         ` Alexander Graf
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Graf @ 2011-08-31 13:11 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Sasha Levin, kvm@vger.kernel.org list, kvm-ppc


On 31.08.2011, at 15:07, Avi Kivity wrote:

> On 08/31/2011 04:02 PM, Alexander Graf wrote:
>> On 31.08.2011, at 14:52, Sasha Levin wrote:
>> 
>> >  On Wed, 2011-08-31 at 10:58 +0200, Alexander Graf wrote:
>> >>  +This capaobility enables interception of OSI hypercalls that otherwise would
>> >  	capability
>> 
>> Oops :). Avi, you pulled that one in already. Can you still change it in-tree (it's not gone to master yet, right?) or do you want me to send a typo fix patch on top?
>> 
> 
> I fixed it locally here, and no it wasn't pushed yet.

Thanks! :)

Alex


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-08-31 13:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-31  8:58 [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description Alexander Graf
2011-08-31  8:58 ` Alexander Graf
2011-08-31 12:52 ` [PATCH] KVM: Update documentation to include detailed Sasha Levin
2011-08-31 12:52   ` [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description Sasha Levin
2011-08-31 13:02   ` Alexander Graf
2011-08-31 13:02     ` Alexander Graf
2011-08-31 13:07     ` [PATCH] KVM: Update documentation to include detailed ENABLE_CAP Avi Kivity
2011-08-31 13:07       ` [PATCH] KVM: Update documentation to include detailed ENABLE_CAP description Avi Kivity
2011-08-31 13:11       ` Alexander Graf
2011-08-31 13:11         ` Alexander Graf

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.