[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] target/i386: Add Snowridge-v2 (noMPX) CPU model
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH v2] target/i386: Add Snowridge-v2 (noMPX) CPU model |
Date: |
Fri, 11 Oct 2019 22:21:34 -0300 |
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 <address@hidden>
> > > ---
> > > 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.
Thanks!
--
Eduardo