From: Zhao Liu <zhao1.liu@intel.com>
To: Babu Moger <babu.moger@amd.com>
Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org,
davydov-max@yandex-team.ru
Subject: Re: [PATCH v5 1/6] target/i386: Update EPYC CPU model for Cache property, RAS, SVM feature bits
Date: Thu, 20 Feb 2025 18:59:34 +0800 [thread overview]
Message-ID: <Z7cLFrIPmrUGuqp4@intel.com> (raw)
In-Reply-To: <c777bf763a636c8922164a174685b4f03864452f.1738869208.git.babu.moger@amd.com>
> +static CPUCaches epyc_v5_cache_info = {
> + .l1d_cache = &(CPUCacheInfo) {
> + .type = DATA_CACHE,
> + .level = 1,
> + .size = 32 * KiB,
> + .line_size = 64,
> + .associativity = 8,
> + .partitions = 1,
> + .sets = 64,
> + .lines_per_tag = 1,
> + .self_init = 1,
For consistency as the below parts, it's better to code `true` for all
boolean types.
> + .share_level = CPU_TOPOLOGY_LEVEL_CORE,
> + },
> + .l1i_cache = &(CPUCacheInfo) {
> + .type = INSTRUCTION_CACHE,
> + .level = 1,
> + .size = 64 * KiB,
> + .line_size = 64,
> + .associativity = 4,
> + .partitions = 1,
> + .sets = 256,
> + .lines_per_tag = 1,
> + .self_init = 1,
ditto.
Others are fine for me, so,
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
And one more thing :-) ...
> static const CPUCaches epyc_rome_cache_info = {
> .l1d_cache = &(CPUCacheInfo) {
> .type = DATA_CACHE,
> @@ -5207,6 +5261,25 @@ static const X86CPUDefinition builtin_x86_defs[] = {
> },
> .cache_info = &epyc_v4_cache_info
> },
> + {
> + .version = 5,
> + .props = (PropValue[]) {
> + { "overflow-recov", "on" },
> + { "succor", "on" },
When I checks the "overflow-recov" and "succor" enabling, I find these 2
bits are set unconditionally.
I'm not sure if all AMD platforms support both bits, do you think it's
necessary to check the host support?
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 6c749d4ee812..03e463076632 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -555,7 +555,10 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function,
cpuid_1_edx = kvm_arch_get_supported_cpuid(s, 1, 0, R_EDX);
ret |= cpuid_1_edx & CPUID_EXT2_AMD_ALIASES;
} else if (function == 0x80000007 && reg == R_EBX) {
- ret |= CPUID_8000_0007_EBX_OVERFLOW_RECOV | CPUID_8000_0007_EBX_SUCCOR;
+ uint32_t ebx;
+ host_cpuid(0x80000007, 0, &unused, &ebx, &unused, &unused);
+
+ ret |= ebx & (CPUID_8000_0007_EBX_OVERFLOW_RECOV | CPUID_8000_0007_EBX_SUCCOR);
} else if (function == KVM_CPUID_FEATURES && reg == R_EAX) {
/* kvm_pv_unhalt is reported by GET_SUPPORTED_CPUID, but it can't
* be enabled without the in-kernel irqchip
Thanks,
Zhao
next prev parent reply other threads:[~2025-02-20 10:40 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-06 19:28 [PATCH v5 0/6] target/i386: Update EPYC CPU models for Cache property, RAS, SVM feature and add EPYC-Turin CPU model Babu Moger
2025-02-06 19:28 ` [PATCH v5 1/6] target/i386: Update EPYC CPU model for Cache property, RAS, SVM feature bits Babu Moger
2025-02-20 10:59 ` Zhao Liu [this message]
2025-02-25 17:01 ` John Allen
2025-02-26 20:28 ` Moger, Babu
2025-02-27 6:42 ` Zhao Liu
2025-02-06 19:28 ` [PATCH v5 2/6] target/i386: Update EPYC-Rome " Babu Moger
2025-02-20 11:18 ` Zhao Liu
2025-02-21 0:41 ` Moger, Babu
2025-02-06 19:28 ` [PATCH v5 3/6] target/i386: Update EPYC-Milan " Babu Moger
2025-02-20 11:26 ` Zhao Liu
2025-02-21 0:43 ` Moger, Babu
2025-02-06 19:28 ` [PATCH v5 4/6] target/i386: Add feature that indicates WRMSR to BASE reg is non-serializing Babu Moger
2025-02-20 12:00 ` Zhao Liu
2025-02-21 0:45 ` Moger, Babu
2025-02-06 19:28 ` [PATCH v5 5/6] target/i386: Update EPYC-Genoa for Cache property, perfmon-v2, RAS and SVM feature bits Babu Moger
2025-02-20 12:05 ` Zhao Liu
2025-02-21 0:46 ` Moger, Babu
2025-02-21 0:46 ` Moger, Babu
2025-02-06 19:28 ` [PATCH v5 6/6] target/i386: Add support for EPYC-Turin model Babu Moger
2025-02-20 12:11 ` Zhao Liu
2025-02-21 0:48 ` Moger, Babu
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=Z7cLFrIPmrUGuqp4@intel.com \
--to=zhao1.liu@intel.com \
--cc=babu.moger@amd.com \
--cc=davydov-max@yandex-team.ru \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.