From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH 02/12] x86: Add more granularity to the vendors in Kconfig
Date: Tue, 10 Feb 2026 09:26:20 +0100 [thread overview]
Message-ID: <aYrrrLuDXuOffsgx@Mac.lan> (raw)
In-Reply-To: <20260206161539.209922-3-alejandro.garciavallejo@amd.com>
On Fri, Feb 06, 2026 at 05:15:24PM +0100, Alejandro Vallejo wrote:
> This enables very aggressive DCE passes on single-vendor builds in later
> patches, as it will allow most vendor checks to become statically chosen
> branches. A lot of statics go away and a lot more inlining will be allowed.
>
> A prerequisite for such optimisation is to expand Kconfig to have the
> full set of vendors. Adds Hygon, Centaur, Shanghai and the unknown-vendor
> path. Have Hygon select AMD, and Centaur|Shanghai select Intel.
>
> Not a functional change.
>
> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@amd.com>
> ---
> rfc -> v1:
> * s/depends on/select/
> * s/UNKNOWN_CPU/UNKNOWN_CPU_VENDOR/
> * Removed "if unsure, say Y"
> ---
> xen/arch/x86/Kconfig.cpu | 43 +++++++++++++++++++++++++++++++++++++++
> xen/arch/x86/cpu/Makefile | 6 +++---
> 2 files changed, 46 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/x86/Kconfig.cpu b/xen/arch/x86/Kconfig.cpu
> index 5fb18db1aa..f895cfe97a 100644
> --- a/xen/arch/x86/Kconfig.cpu
> +++ b/xen/arch/x86/Kconfig.cpu
> @@ -19,4 +19,47 @@ config INTEL
> May be turned off in builds targetting other vendors. Otherwise,
> must be enabled for Xen to work suitably on Intel platforms.
>
> +config HYGON
> + bool "Support Hygon CPUs"
> + select AMD
> + default y
> + help
> + Detection, tunings and quirks for Hygon platforms.
> +
> + May be turned off in builds targetting other vendors. Otherwise,
> + must be enabled for Xen to work suitably on Hygon platforms.
> +
> +
> +config CENTAUR
> + bool "Support Centaur CPUs"
> + select INTEL
> + default y
> + help
> + Detection, tunings and quirks for Centaur platforms.
> +
> + May be turned off in builds targetting other vendors. Otherwise,
> + must be enabled for Xen to work suitably on Centaur platforms.
> +
> +config SHANGHAI
> + bool "Support Shanghai CPUs"
> + select INTEL
> + default y
> + help
> + Detection, tunings and quirks for Shanghai platforms.
> +
> + May be turned off in builds targetting other vendors. Otherwise,
> + must be enabled for Xen to work suitably on Shanghai platforms.
> +
> +config UNKNOWN_CPU_VENDOR
> + bool "Support unknown CPU vendors"
> + default y
> + help
> + This option prevents a panic on boot when the host CPU vendor isn't
> + supported by going into a legacy compatibility mode and not applying
> + any relevant tunings or quirks.
> +
> + Not selecting this options while selecting multiple vendors doesn't have
> + any major effect on code size, but selecting a single vendor with this
> + option cleared produces a much smaller build.
> +
> endmenu
> diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
> index 7cfe28b7ec..84b060aa41 100644
> --- a/xen/arch/x86/cpu/Makefile
> +++ b/xen/arch/x86/cpu/Makefile
> @@ -3,13 +3,13 @@ obj-y += microcode/
> obj-y += mtrr/
>
> obj-y += amd.o
> -obj-y += centaur.o
> +obj-$(CONFIG_CENTAUR) += centaur.o
Maybe I'm missing some context here, but I think this would break the
build?
cpu/centaur.c exports centaur_cpu_dev which is referenced from
cpu/common.c, and I don't see you making that reference in
cpu/common.c conditional to CONFIG_CENTAUR being defined?
I think the same applies to Hygon and Shanghai.
Thanks, Roger.
next prev parent reply other threads:[~2026-02-10 8:26 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 16:15 [PATCH 00/12] const-ify vendor checks Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 01/12] x86: Reject CPU policies with vendors other than the host's Alejandro Vallejo
2026-02-10 8:19 ` Roger Pau Monné
2026-02-10 10:11 ` Alejandro Vallejo
2026-02-11 15:41 ` Jan Beulich
2026-02-11 17:41 ` Alejandro Vallejo
2026-02-12 7:16 ` Jan Beulich
2026-02-06 16:15 ` [PATCH 02/12] x86: Add more granularity to the vendors in Kconfig Alejandro Vallejo
2026-02-10 8:26 ` Roger Pau Monné [this message]
2026-02-10 10:04 ` Alejandro Vallejo
2026-02-11 16:06 ` Jan Beulich
2026-02-11 17:51 ` Alejandro Vallejo
2026-02-12 7:24 ` Jan Beulich
2026-02-06 16:15 ` [PATCH 03/12] x86: Add cpu_vendor() as a wrapper for the host's CPU vendor Alejandro Vallejo
2026-02-10 8:46 ` Roger Pau Monné
2026-02-10 10:35 ` Alejandro Vallejo
2026-02-10 12:06 ` Roger Pau Monné
2026-02-11 16:04 ` Jan Beulich
2026-02-11 17:35 ` Alejandro Vallejo
2026-02-11 17:57 ` Alejandro Vallejo
2026-02-12 10:52 ` Jan Beulich
2026-02-12 14:36 ` Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 04/12] x86: Migrate MSR handler vendor checks to cpu_vendor() Alejandro Vallejo
2026-02-11 16:15 ` Jan Beulich
2026-02-06 16:15 ` [PATCH 05/12] x86: Migrate spec_ctrl " Alejandro Vallejo
2026-02-12 10:49 ` Jan Beulich
2026-02-12 14:55 ` Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 06/12] x86: Migrate switch " Alejandro Vallejo
2026-02-12 11:06 ` Jan Beulich
2026-02-12 15:06 ` Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 07/12] x86: Have x86_emulate/ implement the single-vendor optimisation Alejandro Vallejo
2026-02-12 11:26 ` Jan Beulich
2026-02-12 15:29 ` Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 07/12] x86: Migrate x86_emulate/ to use cpu_vendor() Alejandro Vallejo
2026-02-12 11:31 ` Jan Beulich
2026-02-12 15:30 ` Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 08/12] x86/acpi: Migrate vendor checks to cpu_vendor() Alejandro Vallejo
2026-02-12 11:52 ` Jan Beulich
2026-02-12 15:34 ` Alejandro Vallejo
2026-02-12 15:52 ` Jan Beulich
2026-02-06 16:15 ` [PATCH 09/12] x86/pv: " Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 10/12] x86/mcheck: Migrate vendor checks to use cpu_vendor() Alejandro Vallejo
2026-02-12 12:02 ` Jan Beulich
2026-02-12 12:21 ` Jan Beulich
2026-02-12 15:46 ` Alejandro Vallejo
2026-02-06 16:15 ` [PATCH 11/12] x86/cpu: " Alejandro Vallejo
2026-02-12 13:17 ` Jan Beulich
2026-02-06 16:15 ` [PATCH 12/12] x86: Migrate every remaining raw vendor check to cpu_vendor() Alejandro Vallejo
2026-02-12 13:29 ` Jan Beulich
2026-02-09 9:21 ` [PATCH 00/12] const-ify vendor checks Jan Beulich
2026-02-09 10:05 ` Alejandro Vallejo
2026-02-09 10:15 ` Jan Beulich
2026-02-09 11:56 ` Alejandro Vallejo
2026-02-09 12:52 ` Jan Beulich
2026-02-09 14:37 ` Alejandro Vallejo
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=aYrrrLuDXuOffsgx@Mac.lan \
--to=roger.pau@citrix.com \
--cc=alejandro.garciavallejo@amd.com \
--cc=andrew.cooper3@citrix.com \
--cc=jason.andryuk@amd.com \
--cc=jbeulich@suse.com \
--cc=xen-devel@lists.xenproject.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.