Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-23 Thread Lan Tianyu
On 2016年11月22日 18:24, Jan Beulich wrote: On 17.11.16 at 16:36, wrote: >> 2) Build ACPI DMAR table in toolstack >> Now tool stack can boot ACPI DMAR table according VM configure and pass >> though it to hvmloader via xenstore ACPI PT channel. But the vIOMMU MMIO >> region is managed by Qemu an

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-22 Thread Lan Tianyu
On 2016年11月21日 15:05, Tian, Kevin wrote: >> If someone add "intel_iommu=on" kernel parameter manually, IOMMU driver >> > will panic guest because it can't enable DMA remapping function via gcmd >> > register and "Translation Enable Status" bit in gsts register is never >> > set by vIOMMU. This show

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-22 Thread Jan Beulich
>>> On 17.11.16 at 16:36, wrote: > 2) Build ACPI DMAR table in toolstack > Now tool stack can boot ACPI DMAR table according VM configure and pass > though it to hvmloader via xenstore ACPI PT channel. But the vIOMMU MMIO > region is managed by Qemu and it's need to be populated into DMAR > table.

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-22 Thread Lan Tianyu
On 2016年11月21日 21:41, Andrew Cooper wrote: > On 17/11/16 15:36, Lan Tianyu wrote: >> 3.2 l2 translation >> 1) For virtual PCI device >> Xen dummy xen-vIOMMU in Qemu translates IOVA to target GPA via new >> hypercall when DMA operation happens. >> >> When guest triggers a invalidation operation, the

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-21 Thread Tian, Kevin
> From: Andrew Cooper [mailto:andrew.coop...@citrix.com] > Sent: Monday, November 21, 2016 9:41 PM > > On 17/11/16 15:36, Lan Tianyu wrote: > > 3.2 l2 translation > > 1) For virtual PCI device > > Xen dummy xen-vIOMMU in Qemu translates IOVA to target GPA via new > > hypercall when DMA operation h

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-21 Thread Stefano Stabellini
On Mon, 21 Nov 2016, Julien Grall wrote: > On 21/11/2016 02:21, Lan, Tianyu wrote: > > On 11/19/2016 3:43 AM, Julien Grall wrote: > > > On 17/11/2016 09:36, Lan Tianyu wrote: > > Hi Julien: > > Hello Lan, > > > Thanks for your input. This interface is just for virtual PCI device > > which is

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-21 Thread Andrew Cooper
On 17/11/16 15:36, Lan Tianyu wrote: > 3.2 l2 translation > 1) For virtual PCI device > Xen dummy xen-vIOMMU in Qemu translates IOVA to target GPA via new > hypercall when DMA operation happens. > > When guest triggers a invalidation operation, there maybe in-fly DMA > request for virtual device ha

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-21 Thread Julien Grall
On 21/11/2016 02:21, Lan, Tianyu wrote: On 11/19/2016 3:43 AM, Julien Grall wrote: On 17/11/2016 09:36, Lan Tianyu wrote: Hi Julien: Hello Lan, Thanks for your input. This interface is just for virtual PCI device which is called by Qemu. I am not familiar with ARM. Are there any non-P

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-20 Thread Tian, Kevin
> From: Lan, Tianyu > Sent: Thursday, November 17, 2016 11:37 PM > > Change since V2: > 1) Update motivation for Xen vIOMMU - 288 vcpus support part > Add descriptor about plan of increasing vcpu from 128 to 255 and > dependency between X2APIC and interrupt remapping. > 2) Update

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-20 Thread Lan, Tianyu
On 11/19/2016 3:43 AM, Julien Grall wrote: Hi Lan, On 17/11/2016 09:36, Lan Tianyu wrote: 1) Definition of "struct xen_dmop_viommu_op" as new hypercall parameter. struct xen_dmop_viommu_op { u32 cmd; u32 domid; u32 viommu_id; union { struct { u32 capabili

Re: [Xen-devel] Xen virtual IOMMU high level design doc V3

2016-11-18 Thread Julien Grall
Hi Lan, On 17/11/2016 09:36, Lan Tianyu wrote: 1) Definition of "struct xen_dmop_viommu_op" as new hypercall parameter. struct xen_dmop_viommu_op { u32 cmd; u32 domid; u32 viommu_id; union { struct { u32 capabilities; } query_capabilities; st