<div dir="ltr">Hi<div><br></div><div>Yes, my host card is the integrated Intel. I patched the kernel at first, to work with VGA arbitration, when I started virtualizing Windows 7 with BIOS. Then, I successfully switched to Windows 8 (and Windows 10) and UEFI so that I could just use a stock kernel. I had to use a ROM file for the NVIDIA card because it did not support UEFI, but that also worked flawlessly.</div><div><br></div><div>The x-vga=on param is there because I tested it and forgot to remove it. Nevertheless, it had no effect.</div><div><br></div><div>In any case, the successful attempts were made with a commit from the 2.2 branch with the NoSnoop patch. The commit without the patch, and any commit I tested from version 2.3 to 2.8, all fail.</div><div><br></div><div>Anyway this was more an exercise than an actual issue, since I have a working configuration, but maybe it helps you find some bug. Is there anything else you want me to try?</div><div><br></div><div>Thanks</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><br>Javi<br></div></div>
<br><div class="gmail_quote">2017-01-30 21:19 GMT+01:00 Alex Williamson <span dir="ltr"><<a href="mailto:alex.williamson@redhat.com" target="_blank">alex.williamson@redhat.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sun, 29 Jan 2017 23:03:38 +0100<br>
Javier Celaya <<a href="mailto:jcelaya@gmail.com">jcelaya@gmail.com</a>> wrote:<br>
<br>
> The host kernel is version 4.9.0 from Debian Sid. That command outputs<br>
> "f0105a". What does it mean?<br>
<br>
</span>Bit 7 would indicate if the IOMMU supports Snoop Control.  When it<br>
does, the IOMMU page tables can set the SNP bit, which allows<br>
transactions to snoop the processor cache regardless of transaction<br>
attributes such as NoSnoop.  IOW, it basically negates NoSnoop at the<br>
IOMMU level.  Since this bit is clear on your IOMMU, we need to<br>
register non-coherent DMA with KVM.  This affects memory attributes in<br>
a few places and determines whether or not KVM needs to emulate the<br>
WBINVD (write-back-invalidate) instruction.  To some extent, we do need<br>
to trust guest memory attributes to work in this mode, however the<br>
NoSnoop patch, which simply tries to prevent the device from enabling<br>
NoSnoop transactions was a pretty horrible hack.<br>
<br>
I'm sure that lots of us run with the same IOMMU capabilities, I have a<br>
system with identical flags that runs without issue with either an<br>
NVIDIA or AMD card.  I wonder if the problem is more to do with the<br>
fact that your CPU has integrated graphics and you're trying to use<br>
x-vga=on without any mention whether you've patched i915 to properly<br>
work with VGA arbitration.  If the cards support UEFI, you should not<br>
need x-vga=on.  Is the host primary graphics Intel?  I don't understand<br>
why the NoSnoop patch would change your results at all.  Thanks,<br>
<br>
Alex<br>
</blockquote></div><br></div>