Skip to content
Snippets Groups Projects
  • Eduardo Habkost's avatar
    bb4928c7
    i386: Disable OSPKE on CPU model definitions · bb4928c7
    Eduardo Habkost authored
    
    Currently, the Cascadelake-Server, Icelake-Client, and
    Icelake-Server are always generating the following warning:
    
      qemu-system-x86_64: warning: \
        host doesn't support requested feature: CPUID.07H:ECX [bit 4]
    
    This happens because OSPKE was never returned by
    GET_SUPPORTED_CPUID or x86_cpu_get_supported_feature_word().
    OSPKE is a runtime flag automatically set by the KVM module or by
    TCG code, was always cleared by x86_cpu_filter_features(), and
    was not supposed to appear on the CPU model table.
    
    Remove the OSPKE flag from the CPU model table entries, to avoid
    the bogus warning and avoid returning invalid feature data on
    query-cpu-* QMP commands.  As OSPKE was always cleared by
    x86_cpu_filter_features(), this won't have any guest-visible
    impact.
    
    Include a test case that should detect the problem if we introduce
    a similar bug again.
    
    Fixes: c7a88b52 ("i386: Add new model of Cascadelake-Server")
    Fixes: 8a11c62d ("i386: Add new CPU model Icelake-{Server,Client}")
    Cc: Tao Xu <tao3.xu@intel.com>
    Cc: Robert Hoo <robert.hu@linux.intel.com>
    Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
    Message-Id: <20190319200515.14999-1-ehabkost@redhat.com>
    Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
    bb4928c7
    History
    i386: Disable OSPKE on CPU model definitions
    Eduardo Habkost authored
    
    Currently, the Cascadelake-Server, Icelake-Client, and
    Icelake-Server are always generating the following warning:
    
      qemu-system-x86_64: warning: \
        host doesn't support requested feature: CPUID.07H:ECX [bit 4]
    
    This happens because OSPKE was never returned by
    GET_SUPPORTED_CPUID or x86_cpu_get_supported_feature_word().
    OSPKE is a runtime flag automatically set by the KVM module or by
    TCG code, was always cleared by x86_cpu_filter_features(), and
    was not supposed to appear on the CPU model table.
    
    Remove the OSPKE flag from the CPU model table entries, to avoid
    the bogus warning and avoid returning invalid feature data on
    query-cpu-* QMP commands.  As OSPKE was always cleared by
    x86_cpu_filter_features(), this won't have any guest-visible
    impact.
    
    Include a test case that should detect the problem if we introduce
    a similar bug again.
    
    Fixes: c7a88b52 ("i386: Add new model of Cascadelake-Server")
    Fixes: 8a11c62d ("i386: Add new CPU model Icelake-{Server,Client}")
    Cc: Tao Xu <tao3.xu@intel.com>
    Cc: Robert Hoo <robert.hu@linux.intel.com>
    Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
    Message-Id: <20190319200515.14999-1-ehabkost@redhat.com>
    Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>