❦ 8 janvier 2018 19:16 -0200, Eduardo Habkost <ehabk...@redhat.com> :
> One possible way to work around this problem is to declare that > QEMU 2.12 with KVM will require Linux v3.6 and newer (because we > need Linux kernel commit ad756a1603c5 "KVM: VMX: Implement > PCID/INVPCID for guests with EPT"). I have proposed something > similar to allow us to enable kvm_pv_eoi by default, some time > ago: > https://www.mail-archive.com/qemu-devel@nongnu.org/msg486559.html > ("qemu-doc: Document minimum kernel version for KVM in x86_64"). I don't see a way to probe KVM to know what's supported, so yes. Should I add a paragraph similar to yours or would your patch be merged soon? What are the consequences of running a too old kernel? Would KVM just hide PCID flag? > Second, we need compatibility entries setting pcid=off on > PC_COMPAT_2_10 so we don't break compatibility on older > machine-types. diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 6f77eb066587..da5bd8304eb0 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -327,6 +327,14 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); .driver = TYPE_X86_CPU,\ .property = "x-hv-max-vps",\ .value = "0x40",\ + },{\ + .driver = "SandyBridge-" TYPE_X86_CPU,\ + .property = "pcid",\ + .value = "off",\ + },{\ + .driver = "IvyBridge-" TYPE_X86_CPU,\ + .property = "pcid",\ + .value = "off",\ },{\ .driver = "i440FX-pcihost",\ .property = "x-pci-hole64-fix",\ I'll resend a proper patch once the first point is cleared. -- Make sure input cannot violate the limits of the program. - The Elements of Programming Style (Kernighan & Plauger)