linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Gleb Natapov <gleb@redhat.com>
Cc: kvm@vger.kernel.org, Alexander Graf <agraf@suse.de>,
	linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH v8] KVM: PPC: reserve a capability and ioctl numbers for realmode VFIO
Date: Wed, 28 Aug 2013 10:51:03 +1000	[thread overview]
Message-ID: <521D4977.7060803@ozlabs.ru> (raw)
In-Reply-To: <20130827105832.GH22899@redhat.com>

On 08/27/2013 08:58 PM, Gleb Natapov wrote:
> On Tue, Aug 27, 2013 at 06:42:18PM +1000, Alexey Kardashevskiy wrote:
>> On 08/27/2013 05:56 PM, Gleb Natapov wrote:
>>> On Thu, Aug 15, 2013 at 05:49:26PM +1000, Alexey Kardashevskiy wrote:
>>>> This is to reserve a capablity number for upcoming support
>>>> of VFIO-IOMMU DMA operations in real mode.
>>>>
>>>> The last ioctl in the group which KVM_CREATE_SPAPR_TCE_IOMMU is added to
>>>> is 0xac, the next two numbers are taken - 0xad for KVM_KVMCLOCK_CTRL and
>>> 0xac was also taken by KVM_SET_ONE_REG :(
>>>
>>>> 0xae for KVM_ARM_VCPU_INIT. So the KVM_CREATE_SPAPR_TCE_IOMMU ioclt gets
>>>> 0xaf.
>>>>
>>>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>>>>
>>>> ---
>>>> Changes:
>>>> 2013/08/15 v8:
>>>> * fixed comment again
>>>>
>>>> 2013/08/15:
>>>> * fixed mistype in comments
>>>> * fixed commit message which says what uses ioctls 0xad and 0xae
>>>>
>>>> 2013/07/16:
>>>> * changed the number
>>>>
>>>> 2013/07/11:
>>>> * changed order in a file, added comment about a gap in ioctl number
>>>> ---
>>>>  include/uapi/linux/kvm.h | 6 ++++++
>>>>  1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
>>>> index 99c2533..bd94127 100644
>>>> --- a/include/uapi/linux/kvm.h
>>>> +++ b/include/uapi/linux/kvm.h
>>>> @@ -668,6 +668,7 @@ struct kvm_ppc_smmu_info {
>>>>  #define KVM_CAP_IRQ_XICS 92
>>>>  #define KVM_CAP_ARM_EL1_32BIT 93
>>>>  #define KVM_CAP_SPAPR_MULTITCE 94
>>>> +#define KVM_CAP_SPAPR_TCE_IOMMU 95
>>>>  
>>>>  #ifdef KVM_CAP_IRQ_ROUTING
>>>>  
>>>> @@ -933,6 +934,11 @@ struct kvm_s390_ucas_mapping {
>>>>  #define KVM_ARM_SET_DEVICE_ADDR	  _IOW(KVMIO,  0xab, struct kvm_arm_device_addr)
>>>>  /* Available with KVM_CAP_PPC_RTAS */
>>>>  #define KVM_PPC_RTAS_DEFINE_TOKEN _IOW(KVMIO,  0xac, struct kvm_rtas_token_args)
>>>> +/* 0xad is taken by KVM_KVMCLOCK_CTRL */
>>>> +/* 0xae is taken by KVM_ARM_VCPU_INIT */
>>>> +/* Available with KVM_CAP_SPAPR_TCE_IOMMU */
>>>> +#define KVM_CREATE_SPAPR_TCE_IOMMU _IOW(KVMIO,  0xaf, \
>>>> +					struct kvm_create_spapr_tce_iommu)
>>>>  
>>> Why not use KVM_CREATE_DEVICE API for that?
>>
>>
>> Because when I came up with my ioctl first time, it was not in upstream and
>> since then nobody pointed me to this new ioctl :)
> Sorry about that :(. The ioctl exists for a while now, but with v8 patch I
> imaging your patch series predates it.

The ioctl I made up is basically a copy of KVM_CREATE_SPAPR_TCE which does
the same thing for emulated devices and it is there for quite a while but
it is not really extensible. And these two ioctls share some bits of code.
Now we will have 2 pieces of code which do almost the same thing but in a
different way. Kinda sucks :(

>> So my stuff is not going to upstream again. Heh. Ok. I'll implement it.
>>
> Thanks! Should I keep KVM_CAP_SPAPR_MULTITCE capability patch or can I
> drop it for now?

Please keep it, it is unrelated to the IOMMU-VFIO thing.



-- 
Alexey

  reply	other threads:[~2013-08-28  0:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-15  7:49 [PATCH v8] KVM: PPC: reserve a capability and ioctl numbers for realmode VFIO Alexey Kardashevskiy
2013-08-27  7:56 ` Gleb Natapov
2013-08-27  8:42   ` Alexey Kardashevskiy
2013-08-27 10:58     ` Gleb Natapov
2013-08-28  0:51       ` Alexey Kardashevskiy [this message]
2013-08-28  1:26         ` Benjamin Herrenschmidt
2013-08-28  6:38           ` Gleb Natapov

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=521D4977.7060803@ozlabs.ru \
    --to=aik@ozlabs.ru \
    --cc=agraf@suse.de \
    --cc=david@gibson.dropbear.id.au \
    --cc=gleb@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=paulus@samba.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).