From: "Michael S. Tsirkin" <mst@redhat.com>
To: Hendrik Wuethrich <whendrik@google.com>
Cc: qemu-devel@nongnu.org, eduardo@habkost.net,
richard.henderson@linaro.org, marcel.apfelbaum@gmail.com,
pbonzini@redhat.com, zhao1.liu@intel.com, xiaoyao.li@intel.com,
peternewman@google.com
Subject: Re: [PATCH v5 6/8] i386: Add RDT feature flags.
Date: Wed, 8 Jan 2025 13:39:10 -0500 [thread overview]
Message-ID: <20250108133826-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20241213172645.2751696-7-whendrik@google.com>
On Fri, Dec 13, 2024 at 05:26:43PM +0000, Hendrik Wuethrich wrote:
> From: Hendrik Wüthrich <whendrik@google.com>
>
> Add RDT features to feature word / TCG.
>
> Signed-off-by: Hendrik Wüthrich <whendrik@google.com>
> ---
> target/i386/cpu.c | 30 ++++++++++++++++++++++++++++--
> target/i386/cpu.h | 2 ++
> 2 files changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index c6e6cff19d..6f14d6fc62 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -869,7 +869,8 @@ void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1,
> CPUID_7_0_EBX_CLFLUSHOPT | \
> CPUID_7_0_EBX_CLWB | CPUID_7_0_EBX_MPX | CPUID_7_0_EBX_FSGSBASE | \
> CPUID_7_0_EBX_ERMS | CPUID_7_0_EBX_AVX2 | CPUID_7_0_EBX_RDSEED | \
> - CPUID_7_0_EBX_SHA_NI | CPUID_7_0_EBX_KERNEL_FEATURES)
> + CPUID_7_0_EBX_SHA_NI | CPUID_7_0_EBX_KERNEL_FEATURES | \
> + CPUID_7_0_EBX_PQM | CPUID_7_0_EBX_PQE)
> /* missing:
> CPUID_7_0_EBX_HLE
> CPUID_7_0_EBX_INVPCID, CPUID_7_0_EBX_RTM */
> @@ -906,6 +907,7 @@ void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1,
> #define TCG_SGX_12_0_EBX_FEATURES 0
> #define TCG_SGX_12_1_EAX_FEATURES 0
> #define TCG_24_0_EBX_FEATURES 0
> +#define TCG_RDT_F_0_EDX_FEATURES CPUID_F_0_EDX_L3
>
> #if defined CONFIG_USER_ONLY
> #define CPUID_8000_0008_EBX_KERNEL_FEATURES (CPUID_8000_0008_EBX_IBPB | \
> @@ -1063,7 +1065,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
> "fsgsbase", "tsc-adjust", "sgx", "bmi1",
> "hle", "avx2", "fdp-excptn-only", "smep",
> "bmi2", "erms", "invpcid", "rtm",
> - NULL, "zero-fcs-fds", "mpx", NULL,
> + "rdt-m", "zero-fcs-fds", "mpx", "rdt-a",
> "avx512f", "avx512dq", "rdseed", "adx",
> "smap", "avx512ifma", "pcommit", "clflushopt",
> "clwb", "intel-pt", "avx512pf", "avx512er",
> @@ -1651,6 +1653,30 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
> },
> .tcg_features = TCG_SGX_12_1_EAX_FEATURES,
> },
> +
> + [FEAT_RDT_10_0_EBX] = {
> + .type = CPUID_FEATURE_WORD,
> + .feat_names = {
> + NULL, "l3-cat", "l2-cat", "mba"
> + },
> + .cpuid = {
> + .eax = 0x10,
> + .needs_ecx = true, .ecx = 0,
> + .reg = R_EBX,
> + }
> + },
> + [FEAT_RDT_F_0_EDX] = {
> + .type = CPUID_FEATURE_WORD,
> + .feat_names = {
> + [1] = "l3-cmt"
> + },
> + .cpuid = {
> + .eax = 0xf,
> + .needs_ecx = true, .ecx = 0,
> + .reg = R_EDX,
> + },
> + .tcg_features = TCG_RDT_F_0_EDX_FEATURES,
> + },
> };
>
Should these be made unavailable if rdt device is compiled out?
> typedef struct FeatureMask {
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index a1ec2d5dde..2b5a5986de 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -678,7 +678,9 @@ typedef enum FeatureWord {
> FEAT_7_1_EDX, /* CPUID[EAX=7,ECX=1].EDX */
> FEAT_7_2_EDX, /* CPUID[EAX=7,ECX=2].EDX */
> FEAT_24_0_EBX, /* CPUID[EAX=0x24,ECX=0].EBX */
> + FEAT_RDT_F_0_EBX, /* CPUID[EAX=0xf,ECX=0].EBX (RDT CMT/MBM) */
> FEAT_RDT_F_0_EDX, /* CPUID[EAX=0xf,ECX=0].EDX (RDT CMT/MBM) */
> + FEAT_RDT_10_0_EBX, /* CPUID[EAX=0x10,ECX=0].EBX (RDT CAT/MBA) */
> FEATURE_WORDS,
> } FeatureWord;
>
> --
> 2.47.1.613.gc27f4b7a9f-goog
next prev parent reply other threads:[~2025-01-08 18:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-13 17:26 [PATCH v5 0/8] mulate Intel RDT features needed to mount ResCtrl in Linux Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 1/8] i386: Add Intel RDT device and State to config Hendrik Wuethrich
2025-02-20 15:41 ` Jonathan Cameron via
2025-02-28 8:40 ` Hendrik Wüthrich
2024-12-13 17:26 ` [PATCH v5 2/8] i386: Add init and realize functionality for RDT device Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 3/8] i386: Add RDT functionality Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 4/8] i386: Add RDT device interface through MSRs Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 5/8] i386: Add CPUID enumeration for RDT Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 6/8] i386: Add RDT feature flags Hendrik Wuethrich
2025-01-08 18:39 ` Michael S. Tsirkin [this message]
2025-01-15 14:55 ` Hendrik Wüthrich
2024-12-13 17:26 ` [PATCH v5 7/8] i386/cpu: Adjust CPUID level for RDT features Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 8/8] i386/cpu: Adjust level for RDT on full_cpuid_auto_level Hendrik Wuethrich
2025-01-08 18:35 ` Michael S. Tsirkin
2025-02-20 14:50 ` [PATCH v5 0/8] mulate Intel RDT features needed to mount ResCtrl in Linux Michael S. Tsirkin
2025-02-20 15:38 ` Hendrik Wüthrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250108133826-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peternewman@google.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=whendrik@google.com \
--cc=xiaoyao.li@intel.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.