]> git.proxmox.com Git - mirror_qemu.git/commit - target/i386/cpu.c
i386: Disable Intel PT if packets IP payloads have LIP values
authorLuwei Kang <luwei.kang@intel.com>
Tue, 13 Mar 2018 19:26:31 +0000 (03:26 +0800)
committerEduardo Habkost <ehabkost@redhat.com>
Mon, 19 Mar 2018 20:05:57 +0000 (17:05 -0300)
commitc078ca968c6c7cb62781c1843d840cb0f5c72781
tree97d7ba1f9eb86a71a74b9672e686e342f7100277
parent99193d8f2ef594648ad67cc3d007b0e4fb2f8cf8
i386: Disable Intel PT if packets IP payloads have LIP values

Intel processor trace should be disabled when
CPUID.(EAX=14H,ECX=0H).ECX.[bit31] is set.
Generated packets which contain IP payloads will have LIP
values when this bit is set, or IP payloads will have RIP
values.
Currently, The information of CPUID 14H is constant to make
live migration safty and this bit is always 0 in guest even
if host support LIP values.
Guest sees the bit is 0 will expect IP payloads with RIP
values, but the host CPU will generate IP payloads with
LIP values if this bit is set in HW.
To make sure the value of IP payloads correctly, Intel PT
should be disabled when bit[31] is set.

Signed-off-by: Luwei Kang <luwei.kang@intel.com>
Message-Id: <1520969191-18162-1-git-send-email-luwei.kang@intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
target/i386/cpu.c