qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH v2 00/12] iommu: add MemTxAttrs argument to


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RFC PATCH v2 00/12] iommu: add MemTxAttrs argument to IOMMU translate function
Date: Tue, 15 May 2018 18:50:16 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

On 15/05/2018 18:28, Peter Maydell wrote:
> 
> Presumably we also want a way for notifier users like vfio to
> detect "I'm dealing with an IOMMU that is txattrs aware in a
> way I can't deal with" so they can usefully bail out rather than
> not working.
> 
> Unfortunately I don't really know enough about our two current
> users of notifiers (vhost and vfio) to know what they actually
> need the iommu notifications for...

As you guessed on IRC, they basically establish a shadow IOMMU page
table or TLB.  My proposal would be to add two MemTxAttrs arguments to
the IOMMUNotify typedef and to memory_region_notify_one, respectively to
indicate which attributes matter (0 = indifferent, 1 = matter) and their
value.  So far so good.

Perhaps memory_region_register_iommu_notifier can also get an argument
with the supported attributes.  The function would then fail if there
are fewer bits set in that argument than what the IOMMU supports...

The only problem with that is that memory_region_register_iommu_notifier
is called late from VFIO, and in a place that really cannot fail (a
MemoryListener's region_add callback).  So I would not be sure about how
to deal with failure in the VFIO code.

Thanks,

Paolo



reply via email to

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