Message ID | 20171219033730.12748-3-haozhong.zhang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Dec 19, 2017 at 11:37:30AM +0800, Haozhong Zhang wrote: > CPUID_7_0_EBX_CLFLUSHOPT is missed in current "Skylake-Server" cpu > model. Add it to "Skylake-Server" cpu model on pc-i440fx-2.12 and > pc-q35-2.12. Keep it disabled in "Skylake-Server" cpu model on older > machine types. > > Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Michael, do you want to merge it through your tree as it needs the pc-2.12 patch? > --- > include/hw/i386/pc.h | 5 +++++ > target/i386/cpu.c | 2 +- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > index 83d825e896..bb49165fe0 100644 > --- a/include/hw/i386/pc.h > +++ b/include/hw/i386/pc.h > @@ -323,6 +323,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); > > #define PC_COMPAT_2_11 \ > HW_COMPAT_2_11 \ > + {\ > + .driver = "Skylake-Server" "-" TYPE_X86_CPU,\ > + .property = "clflushopt",\ > + .value = "off",\ > + }, > > #define PC_COMPAT_2_10 \ > HW_COMPAT_2_10 \ > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > index 82603e3130..54574fa232 100644 > --- a/target/i386/cpu.c > +++ b/target/i386/cpu.c > @@ -1376,7 +1376,7 @@ static X86CPUDefinition builtin_x86_defs[] = { > CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_MPX | CPUID_7_0_EBX_CLWB | > CPUID_7_0_EBX_AVX512F | CPUID_7_0_EBX_AVX512DQ | > CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512CD | > - CPUID_7_0_EBX_AVX512VL, > + CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT, > /* Missing: XSAVES (not supported by some Linux versions, > * including v4.1 to v4.12). > * KVM doesn't yet expose any XSAVES state save component, > -- > 2.14.1 > >
On Tue, Dec 19, 2017 at 02:35:20PM -0200, Eduardo Habkost wrote: > On Tue, Dec 19, 2017 at 11:37:30AM +0800, Haozhong Zhang wrote: > > CPUID_7_0_EBX_CLFLUSHOPT is missed in current "Skylake-Server" cpu > > model. Add it to "Skylake-Server" cpu model on pc-i440fx-2.12 and > > pc-q35-2.12. Keep it disabled in "Skylake-Server" cpu model on older > > machine types. > > > > Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com> > > > Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> > > Michael, do you want to merge it through your tree as it needs > the pc-2.12 patch? Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Please merge it ASAP. > > > --- > > include/hw/i386/pc.h | 5 +++++ > > target/i386/cpu.c | 2 +- > > 2 files changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h > > index 83d825e896..bb49165fe0 100644 > > --- a/include/hw/i386/pc.h > > +++ b/include/hw/i386/pc.h > > @@ -323,6 +323,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); > > > > #define PC_COMPAT_2_11 \ > > HW_COMPAT_2_11 \ > > + {\ > > + .driver = "Skylake-Server" "-" TYPE_X86_CPU,\ > > + .property = "clflushopt",\ > > + .value = "off",\ > > + }, > > > > #define PC_COMPAT_2_10 \ > > HW_COMPAT_2_10 \ > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > > index 82603e3130..54574fa232 100644 > > --- a/target/i386/cpu.c > > +++ b/target/i386/cpu.c > > @@ -1376,7 +1376,7 @@ static X86CPUDefinition builtin_x86_defs[] = { > > CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_MPX | CPUID_7_0_EBX_CLWB | > > CPUID_7_0_EBX_AVX512F | CPUID_7_0_EBX_AVX512DQ | > > CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512CD | > > - CPUID_7_0_EBX_AVX512VL, > > + CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT, > > /* Missing: XSAVES (not supported by some Linux versions, > > * including v4.1 to v4.12). > > * KVM doesn't yet expose any XSAVES state save component, > > -- > > 2.14.1 > > > > > > -- > Eduardo
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 83d825e896..bb49165fe0 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -323,6 +323,11 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); #define PC_COMPAT_2_11 \ HW_COMPAT_2_11 \ + {\ + .driver = "Skylake-Server" "-" TYPE_X86_CPU,\ + .property = "clflushopt",\ + .value = "off",\ + }, #define PC_COMPAT_2_10 \ HW_COMPAT_2_10 \ diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 82603e3130..54574fa232 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1376,7 +1376,7 @@ static X86CPUDefinition builtin_x86_defs[] = { CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_MPX | CPUID_7_0_EBX_CLWB | CPUID_7_0_EBX_AVX512F | CPUID_7_0_EBX_AVX512DQ | CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512CD | - CPUID_7_0_EBX_AVX512VL, + CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT, /* Missing: XSAVES (not supported by some Linux versions, * including v4.1 to v4.12). * KVM doesn't yet expose any XSAVES state save component,
CPUID_7_0_EBX_CLFLUSHOPT is missed in current "Skylake-Server" cpu model. Add it to "Skylake-Server" cpu model on pc-i440fx-2.12 and pc-q35-2.12. Keep it disabled in "Skylake-Server" cpu model on older machine types. Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com> --- include/hw/i386/pc.h | 5 +++++ target/i386/cpu.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-)