Message ID | 1380101163-20028-5-git-send-email-anup.patel@linaro.org |
---|---|
State | New |
Headers | show |
On Wed, Sep 25, 2013 at 05:58:07PM +0530, Anup Patel wrote: > On Wed, Sep 25, 2013 at 5:43 PM, Alexander Graf <agraf@suse.de> wrote: > > > > On 25.09.2013, at 11:26, Anup Patel wrote: > > > >> To implement CPU=Host we have added KVM_ARM_PREFERRED_TARGET > >> vm ioctl which provides information to user space required for > >> creating VCPU matching underlying Host. > >> > >> This patch adds info related to this new KVM_ARM_PREFERRED_TARGET > >> vm ioctl in the KVM API documentation. > >> > >> Signed-off-by: Anup Patel <anup.patel@linaro.org> > >> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org> > >> --- > >> Documentation/virtual/kvm/api.txt | 27 +++++++++++++++++++++++---- > >> 1 file changed, 23 insertions(+), 4 deletions(-) > >> > >> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt > >> index 858aecf..f31e6e8 100644 > >> --- a/Documentation/virtual/kvm/api.txt > >> +++ b/Documentation/virtual/kvm/api.txt > >> @@ -2303,8 +2303,28 @@ Possible features: > >> - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode. > >> Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only). > >> > >> +4.83 KVM_ARM_PREFERRED_TARGET > > > > Why 4.83 and not 4.86? It feels backwards to rename all these other sections. > > I wanted to have KVM_ARM_xxxx IOCTLs located nearby hence > placed KVM_ARM_PREFERRED_TARGET after KVM_ARM_VCPU_INIT. > > There is no point in keeping KVM_ARM_PREFERRED_TARGET > after KVM_PPC_RTAS_DEFINE_TOKEN and make > KVM_PPC_RTAS_DEFINE_TOKEN dangle in-between documentation > of various KVM_ARM_xxxx IOCTLs. > I checked the git log and this is not the first time this has happened, so I think Anup's point here is valid. -Christoffer
On Wed, Sep 25, 2013 at 02:56:03PM +0530, Anup Patel wrote: > To implement CPU=Host we have added KVM_ARM_PREFERRED_TARGET > vm ioctl which provides information to user space required for > creating VCPU matching underlying Host. > > This patch adds info related to this new KVM_ARM_PREFERRED_TARGET > vm ioctl in the KVM API documentation. > > Signed-off-by: Anup Patel <anup.patel@linaro.org> > Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org> > --- > Documentation/virtual/kvm/api.txt | 27 +++++++++++++++++++++++---- > 1 file changed, 23 insertions(+), 4 deletions(-) > > diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt > index 858aecf..f31e6e8 100644 > --- a/Documentation/virtual/kvm/api.txt > +++ b/Documentation/virtual/kvm/api.txt > @@ -2303,8 +2303,28 @@ Possible features: > - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode. > Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only). > > +4.83 KVM_ARM_PREFERRED_TARGET > > -4.83 KVM_GET_REG_LIST I think the convention here is to keep two new lines after a Section. > +Capability: basic > +Architectures: arm, arm64 > +Type: vm ioctl > +Parameters: struct struct kvm_vcpu_init (out) > +Returns: 0 on success; -1 on error > +Errors: > + ENODEV: no preferred target available for the host > + > +This queries KVM for preferred CPU target type which can be emulated > +by KVM on underlying host. > + > +The ioctl returns struct kvm_vcpu_init instance containing information > +about preferred CPU target type and target specific features available > +for it. > + > +The information returned by this ioctl can be used to prepare instance an instance > +of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result the KVM_ARM_VCPU_INIT ioctl. (the last part is not necessarily true is it? It's only a best bet, think for example about Big.Little...) > +in VCPU matching underlying host. You also need to add something about the features here: The kvm_vcpu_init->features bitmap will have feature bits set if the preferred target recommends setting these features, but this is not required. > + > +4.84 KVM_GET_REG_LIST > > Capability: basic > Architectures: arm, arm64 > @@ -2323,8 +2343,7 @@ struct kvm_reg_list { > This ioctl returns the guest registers that are supported for the > KVM_GET_ONE_REG/KVM_SET_ONE_REG calls. > > - > -4.84 KVM_ARM_SET_DEVICE_ADDR > +4.85 KVM_ARM_SET_DEVICE_ADDR > > Capability: KVM_CAP_ARM_SET_DEVICE_ADDR > Architectures: arm, arm64 > @@ -2362,7 +2381,7 @@ must be called after calling KVM_CREATE_IRQCHIP, but before calling > KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the > base addresses will return -EEXIST. > > -4.85 KVM_PPC_RTAS_DEFINE_TOKEN > +4.86 KVM_PPC_RTAS_DEFINE_TOKEN > > Capability: KVM_CAP_PPC_RTAS > Architectures: ppc > -- > 1.7.9.5 >
On 25.09.2013, at 18:19, Christoffer Dall wrote: > On Wed, Sep 25, 2013 at 05:58:07PM +0530, Anup Patel wrote: >> On Wed, Sep 25, 2013 at 5:43 PM, Alexander Graf <agraf@suse.de> wrote: >>> >>> On 25.09.2013, at 11:26, Anup Patel wrote: >>> >>>> To implement CPU=Host we have added KVM_ARM_PREFERRED_TARGET >>>> vm ioctl which provides information to user space required for >>>> creating VCPU matching underlying Host. >>>> >>>> This patch adds info related to this new KVM_ARM_PREFERRED_TARGET >>>> vm ioctl in the KVM API documentation. >>>> >>>> Signed-off-by: Anup Patel <anup.patel@linaro.org> >>>> Signed-off-by: Pranavkumar Sawargaonkar <pranavkumar@linaro.org> >>>> --- >>>> Documentation/virtual/kvm/api.txt | 27 +++++++++++++++++++++++---- >>>> 1 file changed, 23 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt >>>> index 858aecf..f31e6e8 100644 >>>> --- a/Documentation/virtual/kvm/api.txt >>>> +++ b/Documentation/virtual/kvm/api.txt >>>> @@ -2303,8 +2303,28 @@ Possible features: >>>> - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode. >>>> Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only). >>>> >>>> +4.83 KVM_ARM_PREFERRED_TARGET >>> >>> Why 4.83 and not 4.86? It feels backwards to rename all these other sections. >> >> I wanted to have KVM_ARM_xxxx IOCTLs located nearby hence >> placed KVM_ARM_PREFERRED_TARGET after KVM_ARM_VCPU_INIT. >> >> There is no point in keeping KVM_ARM_PREFERRED_TARGET >> after KVM_PPC_RTAS_DEFINE_TOKEN and make >> KVM_PPC_RTAS_DEFINE_TOKEN dangle in-between documentation >> of various KVM_ARM_xxxx IOCTLs. >> > I checked the git log and this is not the first time this has happened, > so I think Anup's point here is valid. Well, I think it makes sense to be consistent here. Maybe we should add a new section for arch specific ioctls so that we get our own number space? But regardless, all subarchs should try and follow the same scheme - regardless of what the scheme is :). Alex
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 858aecf..f31e6e8 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt @@ -2303,8 +2303,28 @@ Possible features: - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode. Depends on KVM_CAP_ARM_EL1_32BIT (arm64 only). +4.83 KVM_ARM_PREFERRED_TARGET -4.83 KVM_GET_REG_LIST +Capability: basic +Architectures: arm, arm64 +Type: vm ioctl +Parameters: struct struct kvm_vcpu_init (out) +Returns: 0 on success; -1 on error +Errors: + ENODEV: no preferred target available for the host + +This queries KVM for preferred CPU target type which can be emulated +by KVM on underlying host. + +The ioctl returns struct kvm_vcpu_init instance containing information +about preferred CPU target type and target specific features available +for it. + +The information returned by this ioctl can be used to prepare instance +of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result +in VCPU matching underlying host. + +4.84 KVM_GET_REG_LIST Capability: basic Architectures: arm, arm64 @@ -2323,8 +2343,7 @@ struct kvm_reg_list { This ioctl returns the guest registers that are supported for the KVM_GET_ONE_REG/KVM_SET_ONE_REG calls. - -4.84 KVM_ARM_SET_DEVICE_ADDR +4.85 KVM_ARM_SET_DEVICE_ADDR Capability: KVM_CAP_ARM_SET_DEVICE_ADDR Architectures: arm, arm64 @@ -2362,7 +2381,7 @@ must be called after calling KVM_CREATE_IRQCHIP, but before calling KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the base addresses will return -EEXIST. -4.85 KVM_PPC_RTAS_DEFINE_TOKEN +4.86 KVM_PPC_RTAS_DEFINE_TOKEN Capability: KVM_CAP_PPC_RTAS Architectures: ppc