[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/4] target/i386: Remove monitor from some CPU models
From: |
Eduardo Habkost |
Subject: |
Re: [PATCH v3 2/4] target/i386: Remove monitor from some CPU models |
Date: |
Fri, 28 Feb 2020 16:39:09 -0500 |
On Wed, Feb 12, 2020 at 04:13:26PM +0800, Tao Xu wrote:
> Add new version of Snowridge, Denverton, Opteron_G3, EPYC, and Dhyana
> CPU model to remove MONITOR/MWAIT feature.
>
> After QEMU/KVM use "-overcommit cpu-pm=on" to expose MONITOR/MWAIT
> (commit id 6f131f13e68d648a8e4f083c667ab1acd88ce4cd), the MONITOR/MWAIT
> feature in these CPU model is unused.
>
> Signed-off-by: Tao Xu <address@hidden>
What exactly is the problem you are trying to fix?
No CPU model will ever have monitor=on set by default with KVM,
because kvm_default_props has a monitor=off element.
> ---
> target/i386/cpu.c | 38 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 848c992cd3..6905e4eabd 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -3731,6 +3731,14 @@ static X86CPUDefinition builtin_x86_defs[] = {
> { /* end of list */ },
> },
> },
> + {
> + .version = 3,
> + .props = (PropValue[]) {
> + /* mpx was already removed by -v2 above */
> + { "monitor", "off" },
> + { /* end of list */ },
> + },
> + },
> { /* end of list */ },
> },
> },
> @@ -3842,6 +3850,17 @@ static X86CPUDefinition builtin_x86_defs[] = {
> CPUID_EXT3_ABM | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM,
> .xlevel = 0x80000008,
> .model_id = "AMD Opteron 23xx (Gen 3 Class Opteron)",
> + .versions = (X86CPUVersionDefinition[]) {
> + { .version = 1 },
> + {
> + .version = 2,
> + .props = (PropValue[]) {
> + { "monitor", "off" },
> + { /* end of list */ },
> + },
> + },
> + { /* end of list */ },
> + },
> },
> {
> .name = "Opteron_G4",
> @@ -3966,6 +3985,14 @@ static X86CPUDefinition builtin_x86_defs[] = {
> { /* end of list */ }
> }
> },
> + {
> + .version = 3,
> + .props = (PropValue[]) {
> + /* ibpb was already enabled by -v2 above */
> + { "monitor", "off" },
> + { /* end of list */ },
> + },
> + },
> { /* end of list */ }
> }
> },
> @@ -4018,6 +4045,17 @@ static X86CPUDefinition builtin_x86_defs[] = {
> .xlevel = 0x8000001E,
> .model_id = "Hygon Dhyana Processor",
> .cache_info = &epyc_cache_info,
> + .versions = (X86CPUVersionDefinition[]) {
> + { .version = 1 },
> + {
> + .version = 2,
> + .props = (PropValue[]) {
> + { "monitor", "off" },
> + { /* end of list */ },
> + },
> + },
> + { /* end of list */ },
> + },
> },
> };
>
> --
> 2.20.1
>
>
--
Eduardo