Re: KVM: How does is PAT emulation supposed to work?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2015-04-13 07:16+0200, Jan Kiszka:
> Hi all,
> 
> while digging into the PAT topic for Jailhouse, I also wondered how KVM
> deals with it. And I'm still not getting it complete - or there is a bug:
> 
> KVM intercepts all guest writes to the PAT MSR and instead keeps the
> guest value in vcpu->arch.pat. But, besides returning that value back on
> read accesses, arch.pat has no other purpose.
> 
> On Intel, we only seem to have proper emulation - through hardware -
> when VMX supports PAT switching (see vmx_set_msr). On AMD, the situation
> is even worse as the g_pat save field is not updated at all on PAT
> writes. That seems to be a low hanging fruit to bring svm on the same
> support level as vmx.
> 
> Or am I missing something?

I don't think so, it looks buggy ... we could switch PAT manually, if it
isn't accelerated by hardware.

> PS: If someone has a good idea for a simple test case on machines
> without IOMMU (like my current boxes), thus without a chance to use
> device pass-through to stress guest PAT settings, I would be all ears.

Not a good one:  KVM sets VMX_EPT_IPAT_BIT for RAM unless
kvm_arch_has_noncoherent_dma().  You can comment the line in
vmx_get_mt_mask(), or call kvm_arch_register_noncoherent_dma(),
for guest PAT to work on normal memory.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux