From: Sean Christopherson <seanjc@google.com>
To: Ewan Hai <ewanhai-oc@zhaoxin.com>
Cc: pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com,
bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com,
x86@kernel.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, ewanhai@zhaoxin.com,
cobechen@zhaoxin.com, leoliu@zhaoxin.com, lyleli@zhaoxin.com
Subject: Re: [PATCH] KVM: x86: expose CPUID 0xC000_0000 for Zhaoxin "Shanghai" vendor
Date: Fri, 15 Aug 2025 17:29:04 -0700 [thread overview]
Message-ID: <aJ_Q0Lu8qCqjHgTk@google.com> (raw)
In-Reply-To: <ed29e030-63f2-493f-af74-d1d0e1fb09e4@zhaoxin.com>
On Wed, Aug 13, 2025, Ewan Hai wrote:
>
>
> On 8/12/25 11:07, Sean Christopherson wrote:
> > On Sun, Aug 10, 2025, Ewan Hai wrote:
> > > rename the local constant CENTAUR_CPUID_SIGNATURE to ZHAOXIN_CPUID_SIGNATURE.
> > Why? I'm not inclined to rename any of the Centaur references, as I don't see
> > any point in effectively rewriting history. If we elect to rename things, then
> > it needs to be done in a separate patch, there needs to be proper justification,
> > and _all_ references should be converted, e.g. converting just this one macro
> > creates discrepancies even with cpuid.c, as there are multiple comments that
> > specifically talk about Centaur CPUID leaves.
> >
> Okay, it seems I oversimplified the situation.
>
> My initial thought was that, since there will no longer be separate handling for
> "Centaurhauls," nearly all new software and hardware features will be applied to
> both "Centaurhauls" and " Shanghai " vendors in parallel. This would gradually
> lead to more and more occurrences of if (vendor == centaur || vendor ==
> shanghai) in the kernel code. In that case, introducing an is_zhaoxin_vendor()
> helper could significantly reduce the number of repetitive if (xx || yy) checks.
>
> However, it appears that this "duplication issue" is not a real concern for now.
> We can revisit it later when it becomes a practical problem.
>
> For the current matter, there are two possible approaches. Which one do you
> prefer? Or, if you have other suggestions, please let me know and I will
> incorporate your recommendation into the v2 patch.
>
> ## Version 1 ##
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -1820,7 +1820,8 @@ static int get_cpuid_func(struct kvm_cpuid_array *array, u32 func,
> int r;
>
> if (func == CENTAUR_CPUID_SIGNATURE &&
> - boot_cpu_data.x86_vendor != X86_VENDOR_CENTAUR)
> + boot_cpu_data.x86_vendor != X86_VENDOR_CENTAUR &&
> + boot_cpu_data.x86_vendor != X86_VENDOR_ZHAOXIN)
> return 0;
>
> r = do_cpuid_func(array, func, type);
This version, please. As you note above, if we need to tweak things in the future
to dedup code, then I'm happy to do so. But for now, I don't think KVM needs to
do anything more than add X86_VENDOR_ZHAOXIN to the set of compatible vendor.
prev parent reply other threads:[~2025-08-16 0:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-11 1:35 [PATCH] KVM: x86: expose CPUID 0xC000_0000 for Zhaoxin "Shanghai" vendor Ewan Hai
2025-08-12 15:07 ` Sean Christopherson
2025-08-13 8:38 ` Ewan Hai
2025-08-16 0:29 ` Sean Christopherson [this message]
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=aJ_Q0Lu8qCqjHgTk@google.com \
--to=seanjc@google.com \
--cc=bp@alien8.de \
--cc=cobechen@zhaoxin.com \
--cc=dave.hansen@linux.intel.com \
--cc=ewanhai-oc@zhaoxin.com \
--cc=ewanhai@zhaoxin.com \
--cc=hpa@zytor.com \
--cc=kvm@vger.kernel.org \
--cc=leoliu@zhaoxin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lyleli@zhaoxin.com \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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.