[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT)
From: |
Liu, Yi L |
Subject: |
Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT) |
Date: |
Tue, 18 Apr 2017 06:02:44 +0000 |
> > Hi Peter,
> >
> > Skip address space switching is a good idea to support Passthru mode.
> > However, without the address space, the vfio notifier would not be
> > registered, thus vIOMMU emulator has no way to connect to host. It is
> > no harm if there is only map/unmap notifier. But if we have more
> > notifiers other than map/unmap, it may be a problem.
> >
> > I think we need to reconsider it here.
>
> For now I think as switching is good to us in general. Could I know more
> context
> about this? Would it be okay to work on top of this in the future?
>
Let me explain. For vSVM enabling, it needs to add new notifier to bind gPASID
table
to host. If an assigned device uses SVM in guest, as designed guest IOMMU
driver would
set "pt" for it. This is to make sure the host second-level page table stores
GPA->HPA
mapping. So that pIOMMU can do nested translation to achieve gVA->GPA GPA->HPA
mapping.
So the situation is if we want to keep GPA->HPA mapping, we should skip address
space
switch, but the vfio listener would not know vIOMMU is added, so no vfio
notifier would
be registered. But if we do the switch, the GPA->HPA mapping is unmapped. And
need
another way to build the GPA->HPA mapping.
I think we may have two choice here. Pls let me know your ideas.
1. skip the switch for "pt" mode, find other way to register vfio notifiers.
not sure if this
is workable. Just a quick thought.
2. do the switch, and rebuild GPA->HPA mapping if device use "pt" mode. For
this option,
I also have two way to build the GPA->HPA mapping.
a) walk all the memory region sections in address_space_memory, and build the
mapping.
address_space_memory.dispatch->map.sections, sections stores all the mapped
sections.
b) let guest iommu driver mimics a 1:1 mapping for the devices use "pt" mode.
in this way,
the GPA->HPA mapping could be setup by walking the guest SL page table. This is
consistent
with your vIOVA replay solution.
Also I'm curious if Tianyu's fault report framework needs to register new
notifiers.
Thanks,
Yi L
- Re: [Qemu-devel] [PATCH v2 1/7] memory: tune last param of iommu_ops.translate(), (continued)
- [Qemu-devel] [PATCH v2 2/7] memory: remove the last param in memory_region_iommu_replay(), Peter Xu, 2017/04/17
- [Qemu-devel] [PATCH v2 3/7] x86-iommu: use DeviceClass properties, Peter Xu, 2017/04/17
- [Qemu-devel] [PATCH v2 4/7] intel_iommu: renaming context entry helpers, Peter Xu, 2017/04/17
- [Qemu-devel] [PATCH v2 5/7] intel_iommu: provide vtd_ce_get_type(), Peter Xu, 2017/04/17
- [Qemu-devel] [PATCH v2 6/7] intel_iommu: use IOMMU_ACCESS_FLAG(), Peter Xu, 2017/04/17
- [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Peter Xu, 2017/04/17
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Liu, Yi L, 2017/04/18
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Peter Xu, 2017/04/18
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT),
Liu, Yi L <=
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Peter Xu, 2017/04/18
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Liu, Yi L, 2017/04/18
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Lan Tianyu, 2017/04/19
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Peter Xu, 2017/04/19
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Liu, Yi L, 2017/04/20
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Peter Xu, 2017/04/20
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Liu, Yi L, 2017/04/20
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Peter Xu, 2017/04/20
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Lan Tianyu, 2017/04/20
- Re: [Qemu-devel] [PATCH v2 7/7] intel_iommu: support passthrough (PT), Lan, Tianyu, 2017/04/20