On 7/18/2019 9:56 AM, Tao Xu wrote:
On 7/18/2019 2:38 AM, Eduardo Habkost wrote:
On Wed, Jul 17, 2019 at 01:39:01PM +0800, Tao Xu wrote:
Hi Eduardo,

Could I ask a question about introducing a old CPU model? Maybe not so old because it was launched in 2017. It is the former generation (Atom Server)
of Snowridge and if this cpu model be added, qemu may can migrate guest
between Denverton CPU and Snowridge CPU.

I am wondering which way is more appropriate, because maybe there are a few
Denverton machines using old microcodes:

1. Just like this patch, introduce one version cpu cpu model.

2. Introduce multi versions of cpu model, cover old microcodes, may be 3
versions.

What exactly are the differences between the old and new
microcodes?  Is it always possible to install a new microcode on
machines that are not up to date?

Denverton Machines with old microcodes didn't have CPUID_7_0_EDX_SPEC_CTRL | CPUID_7_0_EDX_SPEC_CTRL_SSBD on host. But user can update their machine follow the links below:

SSBD:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00115.html
https://access.redhat.com/articles/3436091

SPEC_CTRL:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00088.html
https://access.redhat.com/articles/3436091


Both options look good to me.  I think it's OK to just declare
old microcode versions as not supported by QEMU, but I won't
complain if you decide to add multiple versions.

Thank you Eduardo, I prefer option 1, just this patch. I think because Denverton CPU model will not have compatibility issue and the machines with old microcode are very few.

Hi Tao,

This patch also define CPUID_7_0_EDX_ARCH_CAPABILITIES in features[FEAT_7_0_EDX], but there is no feature defined with .feature[FEAT_ARCH_CAPABILITIES] in this cpu model. Do you miss some features enumerated by MSR_IA32_ARCH_CAPABILITIES in this cpu model? Otherwise it can just remove CPUID_7_0_EDX_ARCH_CAPABILITIES.


On 7/17/2019 12:57 PM, Tao Xu wrote:
Denverton is the Atom Processor of Intel Harrisonville platform.
+        .features[FEAT_7_0_EDX] =
+            CPUID_7_0_EDX_SPEC_CTRL | CPUID_7_0_EDX_ARCH_CAPABILITIES |
+            CPUID_7_0_EDX_SPEC_CTRL_SSBD,
+        /*
+         * Missing: XSAVES (not supported by some Linux versions,
+         * including v4.1 to v4.12).
+         * KVM doesn't yet expose any XSAVES state save component,
+         * and the only one defined in Skylake (processor tracing)
+         * probably will block migration anyway.
+         */
+        .features[FEAT_XSAVE] =
+            CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XSAVEC | CPUID_XSAVE_XGETBV1,
+        .features[FEAT_6_EAX] =
+            CPUID_6_EAX_ARAT,
+        .xlevel = 0x80000008,
+        .model_id = "Intel Atom Processor (Denverton)",
+    },
       {
           .name = "SnowRidge-Server",
           .level = 27,
--
2.20.1







Reply via email to