Patchwork [QEMU] i386: cpu: add missing CPUID[EAX=7, ECX=0] flag names

login
register
mail settings
Submitter Eduardo Habkost
Date Oct. 9, 2012, 2:03 p.m.
Message ID <1349791439-15369-1-git-send-email-ehabkost@redhat.com>
Download mbox | patch
Permalink /patch/190311/
State New
Headers show

Comments

Eduardo Habkost - Oct. 9, 2012, 2:03 p.m.
This makes QEMU recognize the following CPU flag names:

 Flags            | Corresponding KVM kernel commit
 -----------------+----------------------------------------
 FSGSBASE         | 176f61da82435eae09cc96f70b530d1ba0746b8b
 AVX2, BMI1, BMI2 | fb215366b3c7320ac25dca766a0152df16534932
 HLE, RTM         | 83c529151ab0d4a813e3f6a3e293fff75d468519
 INVPCID          | ad756a1603c5fac207758faaac7f01c34c9d0b7b
 ERMS             | a01c8f9b4e266df1d7166d23216f2060648f862d

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 target-i386/cpu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Don Slutz - Oct. 9, 2012, 4:43 p.m.
On 10/09/12 10:03, Eduardo Habkost wrote:
> This makes QEMU recognize the following CPU flag names:
>
>   Flags            | Corresponding KVM kernel commit
>   -----------------+----------------------------------------
>   FSGSBASE         | 176f61da82435eae09cc96f70b530d1ba0746b8b
>   AVX2, BMI1, BMI2 | fb215366b3c7320ac25dca766a0152df16534932
>   HLE, RTM         | 83c529151ab0d4a813e3f6a3e293fff75d468519
>   INVPCID          | ad756a1603c5fac207758faaac7f01c34c9d0b7b
>   ERMS             | a01c8f9b4e266df1d7166d23216f2060648f862d
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>   target-i386/cpu.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index f3708e6..b012372 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -105,8 +105,8 @@ static const char *svm_feature_name[] = {
>   };
>   
>   static const char *cpuid_7_0_ebx_feature_name[] = {
> -    NULL, NULL, NULL, NULL, NULL, NULL, NULL, "smep",
> -    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> +    "fsgsbase", NULL, NULL, "bmi1", "hle", "avx2", NULL, "smep",
> +    "bmi2", "erms", "invpcid", "rtm", NULL, NULL, NULL, NULL,
>       NULL, NULL, NULL, NULL, "smap", NULL, NULL, NULL,
>       NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
>   };
Reviewed-by: Don Slutz <Don@CloudSwitch.com>
Marcelo Tosatti - Oct. 26, 2012, 7:40 p.m.
On Tue, Oct 09, 2012 at 12:43:52PM -0400, Don Slutz wrote:
> On 10/09/12 10:03, Eduardo Habkost wrote:
> >This makes QEMU recognize the following CPU flag names:
> >
> >  Flags            | Corresponding KVM kernel commit
> >  -----------------+----------------------------------------
> >  FSGSBASE         | 176f61da82435eae09cc96f70b530d1ba0746b8b
> >  AVX2, BMI1, BMI2 | fb215366b3c7320ac25dca766a0152df16534932
> >  HLE, RTM         | 83c529151ab0d4a813e3f6a3e293fff75d468519
> >  INVPCID          | ad756a1603c5fac207758faaac7f01c34c9d0b7b
> >  ERMS             | a01c8f9b4e266df1d7166d23216f2060648f862d
> >
> >Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> >---
> >  target-i386/cpu.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> >diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> >index f3708e6..b012372 100644
> >--- a/target-i386/cpu.c
> >+++ b/target-i386/cpu.c
> >@@ -105,8 +105,8 @@ static const char *svm_feature_name[] = {
> >  };
> >  static const char *cpuid_7_0_ebx_feature_name[] = {
> >-    NULL, NULL, NULL, NULL, NULL, NULL, NULL, "smep",
> >-    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> >+    "fsgsbase", NULL, NULL, "bmi1", "hle", "avx2", NULL, "smep",
> >+    "bmi2", "erms", "invpcid", "rtm", NULL, NULL, NULL, NULL,
> >      NULL, NULL, NULL, NULL, "smap", NULL, NULL, NULL,
> >      NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> >  };
> Reviewed-by: Don Slutz <Don@CloudSwitch.com>

Applied to uq/master, thanks.

Patch

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index f3708e6..b012372 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -105,8 +105,8 @@  static const char *svm_feature_name[] = {
 };
 
 static const char *cpuid_7_0_ebx_feature_name[] = {
-    NULL, NULL, NULL, NULL, NULL, NULL, NULL, "smep",
-    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+    "fsgsbase", NULL, NULL, "bmi1", "hle", "avx2", NULL, "smep",
+    "bmi2", "erms", "invpcid", "rtm", NULL, NULL, NULL, NULL,
     NULL, NULL, NULL, NULL, "smap", NULL, NULL, NULL,
     NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
 };