[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 26/29] target/i386: Add bus lock debug exception support
From: |
Paolo Bonzini |
Subject: |
[PULL 26/29] target/i386: Add bus lock debug exception support |
Date: |
Fri, 26 Feb 2021 09:05:23 +0100 |
From: Chenyi Qiang <chenyi.qiang@intel.com>
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>
---
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 bc6956561a..50008431c3 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, "pks",
},
.cpuid = {
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 8be39cfb62..b4b136cd0d 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -769,6 +769,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 */
--
2.29.2
- [PULL 10/29] scsi: introduce scsi_sense_from_errno(), (continued)
- [PULL 10/29] scsi: introduce scsi_sense_from_errno(), Paolo Bonzini, 2021/02/26
- [PULL 13/29] scsi: drop 'result' argument from command_complete callback, Paolo Bonzini, 2021/02/26
- [PULL 18/29] qemu-options: update to show preferred boolean syntax for -netdev, Paolo Bonzini, 2021/02/26
- [PULL 12/29] scsi-disk: pass guest recoverable errors through even for rerror=stop, Paolo Bonzini, 2021/02/26
- [PULL 16/29] qemu-options: update to show preferred boolean syntax for -chardev, Paolo Bonzini, 2021/02/26
- [PULL 17/29] qemu-options: update to show preferred boolean syntax for -spice, Paolo Bonzini, 2021/02/26
- [PULL 20/29] qemu-options: update to show preferred boolean syntax for -vnc, Paolo Bonzini, 2021/02/26
- [PULL 21/29] docs: update to show preferred boolean syntax for -chardev, Paolo Bonzini, 2021/02/26
- [PULL 23/29] docs: update to show preferred boolean syntax for -cpu, Paolo Bonzini, 2021/02/26
- [PULL 28/29] chardev: do not use short form boolean options in non-QemuOpts character device descriptions, Paolo Bonzini, 2021/02/26
- [PULL 26/29] target/i386: Add bus lock debug exception support,
Paolo Bonzini <=
- [PULL 29/29] tcg/i386: rdpmc: fix the the condtions, Paolo Bonzini, 2021/02/26
- [PULL 04/29] scsi: make io_timeout configurable, Paolo Bonzini, 2021/02/26
- [PULL 08/29] scsi-disk: move scsi_handle_rw_error earlier, Paolo Bonzini, 2021/02/26
- [PULL 07/29] virtio-scsi: don't process IO on fenced dataplane, Paolo Bonzini, 2021/02/26
- [PULL 11/29] scsi-disk: pass SCSI status to scsi_handle_rw_error, Paolo Bonzini, 2021/02/26
- [PULL 09/29] scsi-disk: do not complete requests early for rerror/werror=ignore, Paolo Bonzini, 2021/02/26
- [PULL 15/29] gdbstub: use preferred boolean option syntax, Paolo Bonzini, 2021/02/26
- [PULL 14/29] char: don't fail when client is not connected, Paolo Bonzini, 2021/02/26
- [PULL 19/29] qemu-options: update to show preferred boolean syntax for -incoming, Paolo Bonzini, 2021/02/26
- [PULL 22/29] docs: update to show preferred boolean syntax for -vnc, Paolo Bonzini, 2021/02/26