qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] target/i386: Add bus lock debug exception support


From: Paolo Bonzini
Subject: Re: [PATCH] target/i386: Add bus lock debug exception support
Date: Tue, 2 Feb 2021 12:03:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

On 02/02/21 10:02, Chenyi Qiang wrote:
Bus lock debug exception is a feature that can notify the kernel by
generate an #DB trap after the instruction acquires a bus lock when
CPL>0. This allows the kernel to enforce user application throttling or
mitigations.

This feature is enumerated via CPUID.(EAX=7,ECX=0).ECX[bit 24].

Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
---
  target/i386/cpu.c | 2 +-
  target/i386/cpu.h | 2 ++
  2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index ae89024d36..55f3b5829f 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -963,7 +963,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
              "avx512bitalg", NULL, "avx512-vpopcntdq", NULL,
              "la57", NULL, NULL, NULL,
              NULL, NULL, "rdpid", NULL,
-            NULL, "cldemote", NULL, "movdiri",
+            "bus-lock-detect", "cldemote", NULL, "movdiri",
              "movdir64b", NULL, NULL, NULL,
          },
          .cpuid = {
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index d23a5b340a..417f49b721 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -762,6 +762,8 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS];
  #define CPUID_7_0_ECX_LA57              (1U << 16)
  /* Read Processor ID */
  #define CPUID_7_0_ECX_RDPID             (1U << 22)
+/* Bus Lock Debug Exception */
+#define CPUID_7_0_ECX_BUS_LOCK_DETECT   (1U << 24)
  /* Cache Line Demote Instruction */
  #define CPUID_7_0_ECX_CLDEMOTE          (1U << 25)
  /* Move Doubleword as Direct Store Instruction */


Queued, thanks.

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]