Patchwork [RFC,3/3] KVM: ARM: Update documentation for KVM_ARM_VCPU_INIT ioctl

login
register
mail settings
Submitter Anup Patel
Date Sept. 5, 2013, 2:46 p.m.
Message ID <1378392362-6773-4-git-send-email-anup.patel@linaro.org>
Download mbox | patch
Permalink /patch/272905/
State New
Headers show

Comments

Anup Patel - Sept. 5, 2013, 2:46 p.m.
To implement target type KVM_ARM_TARGET_HOST we make the
KVM_ARM_VCPU_INIT ioctl bi-direction so that KVM ARM/ARM64
can return appropriate target type to user space via
struct kvm_vcpu_init.

Signed-off-by: Anup Patel <anup.patel@linaro.org>
Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
---
 Documentation/virtual/kvm/api.txt |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Claudio Fontana - Sept. 6, 2013, 8:05 a.m.
Hi Anup,

I am no native English speaker, but this is my attempt at improving the descriptions:

On 05.09.2013 16:46, Anup Patel wrote:
> To implement target type KVM_ARM_TARGET_HOST we make the
> KVM_ARM_VCPU_INIT ioctl bi-direction so that KVM ARM/ARM64
> can return appropriate target type to user space via
> struct kvm_vcpu_init.

If I understood correctly:

To implement target type KVM_ARM_TARGET_HOST we change
the "struct kvm_cpu_init" input parameter into an in/out
parameter, so that KVM ARM/ARM64 can inform user space about
the chosen target type.

> Signed-off-by: Anup Patel <anup.patel@linaro.org>
> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
> ---
>  Documentation/virtual/kvm/api.txt |    5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
> index ef925ea..c0a3a05 100644
> --- a/Documentation/virtual/kvm/api.txt
> +++ b/Documentation/virtual/kvm/api.txt
> @@ -2283,7 +2283,7 @@ current state.  "addr" is ignored.
>  Capability: basic
>  Architectures: arm, arm64
>  Type: vcpu ioctl
> -Parameters: struct struct kvm_vcpu_init (in)
> +Parameters: struct kvm_vcpu_init (in/out)
>  Returns: 0 on success; -1 on error
>  Errors:
>    EINVAL:    the target is unknown, or the combination of features is invalid.
> @@ -2303,6 +2303,9 @@ Possible features:
>  	- KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode.
>  	  Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only).
>  
> +This ioctl returns updated struct kvm_vcpu_init showing VCPU target 
> +type and VCPU features that will be available.
> +

This ioctl returns an updated struct kvm_vcpu_init informing about the
chosen VCPU target type and available VCPU features.

>  
>  4.83 KVM_GET_REG_LIST
>  
> 

Ciao,

Claudio
Anup Patel - Sept. 6, 2013, 10:13 a.m.
On Fri, Sep 6, 2013 at 1:35 PM, Claudio Fontana
<claudio.fontana@huawei.com> wrote:
> Hi Anup,
>
> I am no native English speaker, but this is my attempt at improving the descriptions:
>
> On 05.09.2013 16:46, Anup Patel wrote:
>> To implement target type KVM_ARM_TARGET_HOST we make the
>> KVM_ARM_VCPU_INIT ioctl bi-direction so that KVM ARM/ARM64
>> can return appropriate target type to user space via
>> struct kvm_vcpu_init.
>
> If I understood correctly:
>
> To implement target type KVM_ARM_TARGET_HOST we change
> the "struct kvm_cpu_init" input parameter into an in/out
> parameter, so that KVM ARM/ARM64 can inform user space about
> the chosen target type.

Yes, you got it right.

Actually, KVM will return back both VCPU target type and VCPU
features that KVM will be emulating for the VCPU.

>
>> Signed-off-by: Anup Patel <anup.patel@linaro.org>
>> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org>
>> ---
>>  Documentation/virtual/kvm/api.txt |    5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
>> index ef925ea..c0a3a05 100644
>> --- a/Documentation/virtual/kvm/api.txt
>> +++ b/Documentation/virtual/kvm/api.txt
>> @@ -2283,7 +2283,7 @@ current state.  "addr" is ignored.
>>  Capability: basic
>>  Architectures: arm, arm64
>>  Type: vcpu ioctl
>> -Parameters: struct struct kvm_vcpu_init (in)
>> +Parameters: struct kvm_vcpu_init (in/out)
>>  Returns: 0 on success; -1 on error
>>  Errors:
>>    EINVAL:    the target is unknown, or the combination of features is invalid.
>> @@ -2303,6 +2303,9 @@ Possible features:
>>       - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode.
>>         Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only).
>>
>> +This ioctl returns updated struct kvm_vcpu_init showing VCPU target
>> +type and VCPU features that will be available.
>> +
>
> This ioctl returns an updated struct kvm_vcpu_init informing about the
> chosen VCPU target type and available VCPU features.
>
>>
>>  4.83 KVM_GET_REG_LIST
>>
>>
>
> Ciao,
>
> Claudio
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Regards,
Anup

Patch

diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index ef925ea..c0a3a05 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -2283,7 +2283,7 @@  current state.  "addr" is ignored.
 Capability: basic
 Architectures: arm, arm64
 Type: vcpu ioctl
-Parameters: struct struct kvm_vcpu_init (in)
+Parameters: struct kvm_vcpu_init (in/out)
 Returns: 0 on success; -1 on error
 Errors:
   EINVAL:    the target is unknown, or the combination of features is invalid.
@@ -2303,6 +2303,9 @@  Possible features:
 	- KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode.
 	  Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only).
 
+This ioctl returns updated struct kvm_vcpu_init showing VCPU target 
+type and VCPU features that will be available.
+
 
 4.83 KVM_GET_REG_LIST