qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 1/3] IOMMU: add option to enable VTD_CAP_CM t


From: Jason Wang
Subject: Re: [Qemu-devel] [PATCH v6 1/3] IOMMU: add option to enable VTD_CAP_CM to vIOMMU capility exposoed to guest
Date: Tue, 22 Nov 2016 11:59:47 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0



On 2016年11月21日 20:41, Aviv B.D. wrote:


On Fri, Nov 11, 2016 at 6:15 AM, Jason Wang <address@hidden <mailto:address@hidden>> wrote:



    On 2016年11月11日 11:39, Michael S. Tsirkin wrote:

        On Fri, Nov 11, 2016 at 10:32:42AM +0800, Jason Wang wrote:


            On 2016年11月10日 06:00, Michael S. Tsirkin wrote:

                On Wed, Nov 09, 2016 at 03:28:02PM +0800, Jason Wang
                wrote:


                        On 2016年11月08日 19:04, Aviv B.D wrote:

                                From: "Aviv
                                Ben-David"<address@hidden
                                <mailto:address@hidden>>

                                This capability asks the guest to
                                invalidate cache before each map
                                operation.
                                We can use this invalidation to trap
                                map operations in the hypervisor.

                        Hi:

                        Like I've asked twice in the past, I want to
                        know why don't you cache
                        translation faults as what spec required
                        (especially this is a guest visible
                        behavior)?

                        Btw, please cc me on posting future versions.

                        Thanks

                Caching isn't guest visible.

            Seems not, if one fault mapping were cached by IOTLB.
            Guest can notice this
            behavior.

        Sorry, I don't get what you are saying.

                Spec just says you*can*  cache,
                not that you must.

            Yes, but what did in this patch is "don't". What I suggest
            is just a "can",
            since anyway the IOTLB entries were limited and could be
            replaced by other.

            Thanks

        Have trouble understanding this. Can you given an example of
        a guest visible difference?


    I guess this may do the detection:

    1) map iova A to be non-present.
    2) invalidate iova A
    3) map iova A to addr B
    4) access iova A

    A correct implemented CM may meet fault in step 4, but with this
    patch, we never.


By the specification (from intel) section 6.1 (Caching mode) tells that this bit may be present
only on virtual machines.

Yes, but we should also align the behavior to the spec.

So with just this point the guest can detect that it running in
a VM of some sort. Additionally, the wording of the specification enable the host to issue a fault
it your scenario but, doesn't requiring it.

I'm not sure I get the meaning, is there a section that describes your meaning in the spec?

Thanks


Thanks,
Aviv.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]