target/i386: Add bus lock debug exception support
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> Message-Id: <20210202090224.13274-1-chenyi.qiang@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
3a2e982d47
commit
06e878b413
|
@ -963,7 +963,7 @@ static FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
||||||
"avx512bitalg", NULL, "avx512-vpopcntdq", NULL,
|
"avx512bitalg", NULL, "avx512-vpopcntdq", NULL,
|
||||||
"la57", NULL, NULL, NULL,
|
"la57", NULL, NULL, NULL,
|
||||||
NULL, NULL, "rdpid", NULL,
|
NULL, NULL, "rdpid", NULL,
|
||||||
NULL, "cldemote", NULL, "movdiri",
|
"bus-lock-detect", "cldemote", NULL, "movdiri",
|
||||||
"movdir64b", NULL, NULL, "pks",
|
"movdir64b", NULL, NULL, "pks",
|
||||||
},
|
},
|
||||||
.cpuid = {
|
.cpuid = {
|
||||||
|
|
|
@ -769,6 +769,8 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS];
|
||||||
#define CPUID_7_0_ECX_LA57 (1U << 16)
|
#define CPUID_7_0_ECX_LA57 (1U << 16)
|
||||||
/* Read Processor ID */
|
/* Read Processor ID */
|
||||||
#define CPUID_7_0_ECX_RDPID (1U << 22)
|
#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 */
|
/* Cache Line Demote Instruction */
|
||||||
#define CPUID_7_0_ECX_CLDEMOTE (1U << 25)
|
#define CPUID_7_0_ECX_CLDEMOTE (1U << 25)
|
||||||
/* Move Doubleword as Direct Store Instruction */
|
/* Move Doubleword as Direct Store Instruction */
|
||||||
|
|
Loading…
Reference in a new issue