On 10/12/2019 9:21 AM, Eduardo Habkost wrote:
On Sat, Oct 12, 2019 at 09:15:56AM +0800, Xiaoyao Li wrote:
On 10/12/2019 2:21 AM, Eduardo Habkost wrote:
On Fri, Oct 11, 2019 at 10:53:49PM +0800, Xiaoyao Li wrote:
Add new version of Snowridge CPU model that removes MPX feature.

MPX support is being phased out by Intel. GCC has dropped it, Linux kernel
and kvm are also going to do that in the future.

Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
---
Changes in v2:
      - Use CPU model versioning mechanism instead of machine-type compat
---
   target/i386/cpu.c | 13 +++++++++++++
   1 file changed, 13 insertions(+)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 44f1bbdcac76..27b0a17b46a8 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -2793,6 +2793,19 @@ static X86CPUDefinition builtin_x86_defs[] = {
               CPUID_6_EAX_ARAT,
           .xlevel = 0x80000008,
           .model_id = "Intel Atom Processor (SnowRidge)",
+        .versions = (X86CPUVersionDefinition[]) {
+            { .version = 1 },
+            {
+                .version = 2,
+                .alias = "Snowridge-noMPX",

The intention is to stop creating new funny names for CPU model
variations, now, and stick to -v1, -v2, -v3, etc.

The .alias field is optional, and was added only for
compatibility with the existing -noTSX and -IBRS CPU models.

Got it.

+                .props = (PropValue[]) {
+                    { "mpx", "off" },
+                    { "model-id", "Intel Atom Processor (Snowridge, no MPX)" },

Do you think it's important to report a different model-id?
I would keep it the same and only add mpx=off.

I just want to let user know easily the differences between Snowridge-v1 and
Snowridge-v2. Unfortunately, it seems ugly.

When testing with Cascadelake-Server, it puzzles every time that which one
should I choose between Cascadelake-Server-v1 and Cascadelake-Server-v2.
 From the output of "-cpu ?", I don't know the differences between them.
Everytime I have to go to the source code to see the difference.

Maybe there is a way to see/report the differences between different
versions of the same CPU model that I just don't know?

Good point.  I forgot that model-id is also the model description
in "-cpu ?".

Well, it doesn't hurt to have a different model-id in v2 that's
more informative.  Feel free to keep the model-id line in v3.

OK. I will send out the v3 patch keeping the model-id while removing the alias.

BTW, do you have better idea to tell the differences among versions of the same CPU model?

Reply via email to