qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] i386: add KNM cpu model


From: Boqun Feng
Subject: Re: [Qemu-devel] [PATCH] i386: add KNM cpu model
Date: Fri, 16 Mar 2018 10:11:57 +0800
User-agent: Mutt/1.9.3 (2018-01-21)

On Wed, Mar 14, 2018 at 01:01:30PM +0000, Daniel P. Berrangé wrote:
> On Wed, Mar 14, 2018 at 03:29:59PM +0800, Boqun Feng wrote:
> > A new cpu model called "KNM" is added to model Knights Mill processors.
> 
> Why the obscure acryonym? Can't we just call it KnightsMill so it is
> obvious what it is to everyone, as we've done for all other Intel
> CPU model names in the past.
> 

Ah.. my bad, good point! I will rename to "KnightsMill" in the next
version.

> > Compared to "Skylake-Server" cpu model, the following features are
> > added:
> > 
> >     avx512_4vnniw avx512_4fmaps avx512pf avx512er avx512_vpopcntdq
> > 
> > and the following features are removed:
> > 
> >     pcid invpcid clflushopt avx512dq avx512bw axv512cd clwb smap rtm
> >     mpx xsavec xgetbv1 hle
> 
> "pcid" was one of the features critical to mitigate performance
> downside of the Meltdown bug fix in guests. Will Knights Mill have
> a fix for Meltdown in hardware, to avoid the need for split table
> pages and thus avoid the perf hit in guests ?
> 

I got the confirmation the Knights Mill doesn't have PCID at all. For
the alternative fix for Meltdown in hardware, I will ask around and info
you if I get something.

Regards,
Boqun

> > 
> > Signed-off-by: Boqun Feng <address@hidden>
> > ---
> >  target/i386/cpu.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 42 insertions(+)
> > 
> > diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> > index 2c04645ceac9..215a9ee6026a 100644
> > --- a/target/i386/cpu.c
> > +++ b/target/i386/cpu.c
> > @@ -1795,6 +1795,48 @@ static X86CPUDefinition builtin_x86_defs[] = {
> >          .xlevel = 0x80000008,
> >          .model_id = "Intel Xeon Processor (Skylake, IBRS)",
> >      },
> > +    {
> > +        .name = "KNM",
> > +        .level = 0xd,
> > +        .vendor = CPUID_VENDOR_INTEL,
> > +        .family = 6,
> > +        .model = 133,
> > +        .stepping = 0,
> > +        .features[FEAT_1_EDX] =
> > +            CPUID_VME | CPUID_SS | CPUID_SSE2 | CPUID_SSE | CPUID_FXSR |
> > +            CPUID_MMX | CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | 
> > CPUID_CMOV |
> > +            CPUID_MCA | CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC |
> > +            CPUID_CX8 | CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC |
> > +            CPUID_PSE | CPUID_DE | CPUID_FP87,
> > +        .features[FEAT_1_ECX] =
> > +            CPUID_EXT_AVX | CPUID_EXT_XSAVE | CPUID_EXT_AES |
> > +            CPUID_EXT_POPCNT | CPUID_EXT_X2APIC | CPUID_EXT_SSE42 |
> > +            CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_SSSE3 |
> > +            CPUID_EXT_PCLMULQDQ | CPUID_EXT_SSE3 |
> > +            CPUID_EXT_TSC_DEADLINE_TIMER | CPUID_EXT_FMA | CPUID_EXT_MOVBE 
> > |
> > +            CPUID_EXT_F16C | CPUID_EXT_RDRAND,
> > +        .features[FEAT_8000_0001_EDX] =
> > +            CPUID_EXT2_LM | CPUID_EXT2_PDPE1GB | CPUID_EXT2_RDTSCP |
> > +            CPUID_EXT2_NX | CPUID_EXT2_SYSCALL,
> > +        .features[FEAT_8000_0001_ECX] =
> > +            CPUID_EXT3_ABM | CPUID_EXT3_LAHF_LM | CPUID_EXT3_3DNOWPREFETCH,
> > +        .features[FEAT_7_0_EBX] =
> > +            CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | 
> > CPUID_7_0_EBX_AVX2 |
> > +            CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_ERMS |
> > +            CPUID_7_0_EBX_RDSEED | CPUID_7_0_EBX_ADX | 
> > CPUID_7_0_EBX_AVX512F |
> > +            CPUID_7_0_EBX_AVX512CD | CPUID_7_0_EBX_AVX512PF |
> > +            CPUID_7_0_EBX_AVX512ER,
> > +        .features[FEAT_7_0_ECX] =
> > +            CPUID_7_0_ECX_AVX512_VPOPCNTDQ,
> > +        .features[FEAT_7_0_EDX] =
> > +            CPUID_7_0_EDX_AVX512_4VNNIW | CPUID_7_0_EDX_AVX512_4FMAPS,
> > +        .features[FEAT_XSAVE] =
> > +            CPUID_XSAVE_XSAVEOPT,
> > +        .features[FEAT_6_EAX] =
> > +            CPUID_6_EAX_ARAT,
> > +        .xlevel = 0x80000008,
> > +        .model_id = "Intel Xeon Phi Processor (Knights Mill)",
> > +    },
> >      {
> >          .name = "Opteron_G1",
> >          .level = 5,
> > -- 
> > 2.16.1
> > 
> > 
> 
> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]