[Intel-gfx] Accelerated read from WC mem (i915_memcpy_from_wc()) may not work in virtualization world

Du, Changbin changbin.du at intel.com
Fri Dec 22 02:26:31 UTC 2017


On Thu, Dec 21, 2017 at 10:58:38AM +0000, Chris Wilson wrote:
> Quoting Du, Changbin (2017-12-21 09:52:16)
> > Hi Chris,
> > Our QA reported a problem caused by movntdqa instructions. Currently, the KVM
> > hypervisor doesn't support VEX-prefix instructions emulation. If users passthrough
> > a GPU to guest with vfio option 'x-no-mmap=on', then all access to the BARs will
> > be trapped and emulated. The KVM hypervisor would raise an inertal error to qemu
> > which cause the guest killed. (Since 'movntdqa' ins is not supported.)
> > 
> > One possible solution is that disable this optimization at i915_memcpy_init_early.
> > This require us to identify the CPUID to check if it is running in guest mode.
> 
> But do note we are already checking the CPUID/cpuflags for support; is
> the hv not correcting them?
> -Chris

The CPU does support SSE, but just the KVM ins emulator doesn't. So it is not a
problem if the movntdqa runs on HW directly. But if it is emulated, then run
into failure.


-- 
Thanks,
Changbin Du


More information about the Intel-gfx mailing list