i386: Disable TOPOEXT by default on "-cpu host"

Enabling TOPOEXT is always allowed, but it can't be enabled
blindly by "-cpu host" because it may make guests crash if the
rest of the cache topology information isn't provided or isn't
consistent.

This addresses the bug reported at:
https://bugzilla.redhat.com/show_bug.cgi?id=1613277

Backports commit 7210a02c58572b2686a3a8d610c6628f87864aed from qemu
This commit is contained in:
Eduardo Habkost 2018-08-17 14:33:54 -04:00 committed by Lioncash
parent 1f85fbc4d6
commit f4879ae89f
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7

View File

@ -777,6 +777,8 @@ typedef struct FeatureWordInfo {
uint32_t tcg_features; /* Feature flags supported by TCG */
uint32_t unmigratable_flags; /* Feature flags known to be unmigratable */
uint32_t migratable_flags; /* Feature flags known to be migratable */
/* Features that shouldn't be auto-enabled by "-cpu-host" */
uint32_t no_autoenable_flags;
} FeatureWordInfo;
static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
@ -904,6 +906,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
false,0,
R_ECX,
TCG_EXT3_FEATURES,
CPUID_EXT3_TOPOEXT,
},
// FEAT_8000_0007_EDX
{