i386: add KnightsMill cpu model
PATCH v2 1/1 i386: add KnightsMill cpu model
A new cpu model called "KnightsMill" is added to model Knights Mill processors. 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 clwb smap rtm mpx xsavec xgetbv1 hle
---
v1 --> v2:
* Change the model name to "KnightsMill" as per Daniel's
suggestion.
target/i386/cpu.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)
target/i386/cpu.c +42 -0
@@ -1795,6 +1795,48 @@ static X86CPUDefinition builtin_x86_defs[] = { .xlevel = 0x80000008, .model_id = "Intel Xeon Processor (Skylake, IBRS)", }, + { + .name = "KnightsMill", + .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,
Signature · 1 line
2.16.1
Ping ;-)
Regards,
Boqun
Quoted 77 lines · Boqun Feng
A new cpu model called "KnightsMill" is added to model Knights Mill processors. Compared to "Skylake-Server" cpu model, the following features are added:
avx512_4vnniw avx512_4fmaps avx512pf avx512er avx512_vpopcntdqand the following features are removed:
pcid invpcid clflushopt avx512dq avx512bw clwb smap rtm mpx xsavec xgetbv1 hle
Signed-off-by Boqun Feng <[email protected]>---
v1 --> v2:* Change the model name to "KnightsMill" as per Daniel's
suggestion.target/i386/cpu.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)target/i386/cpu.c +42
-0@@ -1795,6 +1795,48 @@ static X86CPUDefinition builtin_x86_defs[] = { .xlevel = 0x80000008, .model_id = "Intel Xeon Processor (Skylake, IBRS)", }, + { + .name = "KnightsMill", + .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,Signature · 1 line
2.16.1
Quoted 1 line · Boqun Feng
Ping ;-)
It missed soft feature freeze (March 13th), so I will queue this for 2.13. Thanks!
Quoted 82 lines
Regards,
BoqunQuoted 77 lines · Boqun Feng
A new cpu model called "KnightsMill" is added to model Knights Mill processors. Compared to "Skylake-Server" cpu model, the following features are added:
avx512_4vnniw avx512_4fmaps avx512pf avx512er avx512_vpopcntdqand the following features are removed:
pcid invpcid clflushopt avx512dq avx512bw clwb smap rtm mpx xsavec xgetbv1 hle
Signed-off-by Boqun Feng <[email protected]>---
v1 --> v2:* Change the model name to "KnightsMill" as per Daniel's
suggestion.target/i386/cpu.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)target/i386/cpu.c +42
-0@@ -1795,6 +1795,48 @@ static X86CPUDefinition builtin_x86_defs[] = { .xlevel = 0x80000008, .model_id = "Intel Xeon Processor (Skylake, IBRS)", }, + { + .name = "KnightsMill", + .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,Signature · 1 line
2.16.1
Signature · 1 line
Eduardo