cryptospore / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-x86-cpu-Enable-CLDEMOTE-Demote-Cache-Line-cpu-featur.patch

Pablo Greco e6a3ae
From a10f2cff4a418edae4f3040c4bf09e5aad80316a Mon Sep 17 00:00:00 2001
Pablo Greco e6a3ae
From: "plai@redhat.com" <plai@redhat.com>
Pablo Greco e6a3ae
Date: Mon, 20 May 2019 20:05:56 +0100
Pablo Greco e6a3ae
Subject: [PATCH 1/5] x86/cpu: Enable CLDEMOTE(Demote Cache Line) cpu feature
Pablo Greco e6a3ae
Pablo Greco e6a3ae
RH-Author: plai@redhat.com
Pablo Greco e6a3ae
Message-id: <1554409731-21082-1-git-send-email-plai@redhat.com>
Pablo Greco e6a3ae
Patchwork-id: 85447
Pablo Greco e6a3ae
O-Subject: [RHEL8.1 qemu-kvm PATCH] x86/cpu: Enable CLDEMOTE(Demote Cache Line) cpu feature
Pablo Greco e6a3ae
Bugzilla: 1696436
Pablo Greco e6a3ae
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
Pablo Greco e6a3ae
RH-Acked-by: John Snow <jsnow@redhat.com>
Pablo Greco e6a3ae
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
From: Jingqi Liu <jingqi.liu@intel.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1696436
Pablo Greco e6a3ae
Brew:  http://brewweb.devel.redhat.com/brew/taskinfo?taskID=20946375
Pablo Greco e6a3ae
Branch: rhel-8.1.0
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Tested by Intel QA on SNR (simics)
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Pablo Greco e6a3ae
---
Pablo Greco e6a3ae
 target/i386/cpu.c | 2 +-
Pablo Greco e6a3ae
 target/i386/cpu.h | 1 +
Pablo Greco e6a3ae
 2 files changed, 2 insertions(+), 1 deletion(-)
Pablo Greco e6a3ae
Pablo Greco e6a3ae
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
Pablo Greco e6a3ae
index 8ff6c38..77be7e8 100644
Pablo Greco e6a3ae
--- a/target/i386/cpu.c
Pablo Greco e6a3ae
+++ b/target/i386/cpu.c
Pablo Greco e6a3ae
@@ -1025,7 +1025,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
Pablo Greco e6a3ae
             "avx512bitalg", NULL, "avx512-vpopcntdq", NULL,
Pablo Greco e6a3ae
             "la57", NULL, NULL, NULL,
Pablo Greco e6a3ae
             NULL, NULL, "rdpid", NULL,
Pablo Greco e6a3ae
-            NULL, NULL, NULL, NULL,
Pablo Greco e6a3ae
+            NULL, "cldemote", NULL, NULL,
Pablo Greco e6a3ae
             NULL, NULL, NULL, NULL,
Pablo Greco e6a3ae
         },
Pablo Greco e6a3ae
         .cpuid = {
Pablo Greco e6a3ae
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
Pablo Greco e6a3ae
index 3ae0e8c..4f9df6e 100644
Pablo Greco e6a3ae
--- a/target/i386/cpu.h
Pablo Greco e6a3ae
+++ b/target/i386/cpu.h
Pablo Greco e6a3ae
@@ -684,6 +684,7 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS];
Pablo Greco e6a3ae
 #define CPUID_7_0_ECX_AVX512_VPOPCNTDQ (1U << 14) /* POPCNT for vectors of DW/QW */
Pablo Greco e6a3ae
 #define CPUID_7_0_ECX_LA57     (1U << 16)
Pablo Greco e6a3ae
 #define CPUID_7_0_ECX_RDPID    (1U << 22)
Pablo Greco e6a3ae
+#define CPUID_7_0_ECX_CLDEMOTE (1U << 25)  /* CLDEMOTE Instruction */
Pablo Greco e6a3ae
 
Pablo Greco e6a3ae
 #define CPUID_7_0_EDX_AVX512_4VNNIW (1U << 2) /* AVX512 Neural Network Instructions */
Pablo Greco e6a3ae
 #define CPUID_7_0_EDX_AVX512_4FMAPS (1U << 3) /* AVX512 Multiply Accumulation Single Precision */
Pablo Greco e6a3ae
-- 
Pablo Greco e6a3ae
1.8.3.1
Pablo Greco e6a3ae