x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and conditionalise ucode

We eventually want to be able to build a stripped down Xen for a single
platform.  Make a start with CONFIG_{AMD,INTEL} (hidden behind EXPERT, but
available to randconfig), and adjust the microcode logic.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Andrew Cooper committed 2024-04-10 18:41:28 +01:00
1 parent 2eea952b70
commit 0e7ea8ca5f
4 files changed
+35 -2

No files matched your search

+2
View File
@@ -51,6 +51,8 @@ config HAS_CC_CET_IBT
menu "Architecture Features"
source "arch/x86/Kconfig.cpu"
source "arch/Kconfig"
config PV
+22
View File
@@ -0,0 +1,22 @@
menu "Supported CPU vendors"
visible if EXPERT
config AMD
bool "Support AMD CPUs"
default y
help
Detection, tunings and quirks for AMD platforms.
May be turned off in builds targetting other vendors. Otherwise,
must be enabled for Xen to work suitably on AMD platforms.
config INTEL
bool "Support Intel CPUs"
default y
help
Detection, tunings and quirks for Intel platforms.
May be turned off in builds targetting other vendors. Otherwise,
must be enabled for Xen to work suitably on Intel platforms.
endmenu
+2 -2
View File
@@ -1,3 +1,3 @@
obj-y += amd.o
obj-$(CONFIG_AMD) += amd.o
obj-y += core.o
obj-y += intel.o
obj-$(CONFIG_INTEL) += intel.o
+9
View File
@@ -70,7 +70,16 @@ struct microcode_ops {
* support available) and (not) ops->apply_microcode (i.e. read only).
* Otherwise, all hooks must be filled in.
*/
#ifdef CONFIG_AMD
void ucode_probe_amd(struct microcode_ops *ops);
#else
static inline void ucode_probe_amd(struct microcode_ops *ops) {}
#endif
#ifdef CONFIG_INTEL
void ucode_probe_intel(struct microcode_ops *ops);
#else
static inline void ucode_probe_intel(struct microcode_ops *ops) {}
#endif
#endif /* ASM_X86_MICROCODE_PRIVATE_H */
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.