target/i386: set the CPUID level to 0x14 on old machine-type
authorLuwei Kang <luwei.kang@intel.com>
Thu, 12 Mar 2020 16:48:06 +0000 (00:48 +0800)
committerEduardo Habkost <ehabkost@redhat.com>
Tue, 31 Mar 2020 22:13:32 +0000 (19:13 -0300)
commitddc2fc9e4e42ebce48b088963dc7fbd1c08d5f33
tree9e43323226f0dc3ddf1f9b301ce59e120db43308
parent7b225762c8c05fd31d4c2be116aedfbc00383f8b
target/i386: set the CPUID level to 0x14 on old machine-type

The CPUID level need to be set to 0x14 manually on old
machine-type if Intel PT is enabled in guest. E.g. the
CPUID[0].EAX(level)=7 and CPUID[7].EBX[25](intel-pt)=1 when the
Qemu with "-machine pc-i440fx-3.1 -cpu qemu64,+intel-pt" parameter.

Some Intel PT capabilities are exposed by leaf 0x14 and the
missing capabilities will cause some MSRs access failed.
This patch add a warning message to inform the user to extend
the CPUID level.

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