On Mon, Oct 22, 2018 at 10:43:32AM -0400, Jintack Lim wrote: > On Mon, Oct 22, 2018 at 5:27 AM Peter Xu <pet...@redhat.com> wrote: > > > > On Mon, Oct 22, 2018 at 12:22:02AM -0400, Jintack Lim wrote: > > > Hi, > > > > > > I wonder if vIOMMU is working for Windows VM? > > > > > > I tried it with v2.11.0, but it didn't seem to work. I assume that seaBIOS > > > sets IOMMU on by default as is the case when I launched a Linux VM. But I > > > might be missing something. Can somebody shed some light on it? > > > > Hi, Jintack, > > > > Thanks Peter, > > > I think at least the latest QEMU should work for Windows, but I don't > > really run Windows that frequently. > > > > What is the error you've encountered? Have you tried the latest QEMU, > > or switching Windows versions to try? > > I ran Windows commands in Windows Powershell like below. Well, I guess > this is not the best way to check IOMMU presence, but couldn't find a > better way to do it. > > $ (Get-VMHost).IovSupport > false > $ (Get-VMHost).IovSupportReasons > The chipset on the system does not do DMA remapping, ... > > I just tried QEMU v3.0.0, but I see the same symptom. I'm using > Windows server 2016. Unfortunately, trying another Windows version > would be hard for me at this point. > > I just wonder if there's way to check if Vt-d is on in SeaBIOS?
I'm not sure whether SeaBIOS would enable VT-d or has any kind of support of it at all even if the translation unit is provided. > > > > > What I can remember about Windows is that Ladi had fixed a bug for > > windows-only (8991c460be, "intel_iommu: relax iq tail check on > > VTD_GCMD_QIE enable", 2017-07-03) but it should be even in 2.10 so I > > guess it's not the problem you've encountered. > > I'm CCing Ladi, just in case he has some idea :) Good idea, though I'm afraid the RH email could be stall though. :) I can try to install one Windows Server 2016 some day but I cannot really guarantee. Feel free to try to debug it on your own :). Basically I would consider to enable the IOMMU traces in intel_iommu.c just like what you have done before when with the vfio-pci devices and check out the log. Normally we should see plenty of MMIOs to setup the device and hopefully that would provide hint on what's wrong there. Regards, -- Peter Xu