[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH V1] x86/ucode: optional amd/intel ucode build & load
Introduce configuration variables to make it possible to selectively turn on/off CPU microcode management code in the build for AMD and Intel CPUs. This is to allow build configuration for a specific CPU, not compile and load what will not be used anyway. Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@xxxxxxxx> --- xen/arch/x86/Kconfig | 12 ++++++++++++ xen/arch/x86/cpu/microcode/Makefile | 4 ++-- xen/arch/x86/cpu/microcode/core.c | 5 ++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index d6f3128588..1ee5ae793d 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -350,6 +350,18 @@ config REQUIRE_NX was unavailable. However, if enabled, Xen will no longer boot on any CPU which is lacking NX support. +config MICROCODE_INTEL + bool "Build with Intel CPU ucode support" if EXPERT + default y + help + Support microcode management for Intel processors. If unsure, say Y. + +config MICROCODE_AMD + bool "Build with AMD CPU ucode support" if EXPERT + default y + help + Support microcode management for AMD K10 family of processors + and later. If unsure, say Y. endmenu source "common/Kconfig" diff --git a/xen/arch/x86/cpu/microcode/Makefile b/xen/arch/x86/cpu/microcode/Makefile index aae235245b..abd0afe8c5 100644 --- a/xen/arch/x86/cpu/microcode/Makefile +++ b/xen/arch/x86/cpu/microcode/Makefile @@ -1,3 +1,3 @@ -obj-y += amd.o obj-y += core.o -obj-y += intel.o +obj-$(CONFIG_MICROCODE_AMD) += amd.o +obj-$(CONFIG_MICROCODE_INTEL) += intel.o diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c index 1c9f66ea8a..b7c108f68b 100644 --- a/xen/arch/x86/cpu/microcode/core.c +++ b/xen/arch/x86/cpu/microcode/core.c @@ -865,6 +865,7 @@ int __init early_microcode_init(unsigned long *module_map, switch ( c->x86_vendor ) { +#ifdef CONFIG_MICROCODE_AMD case X86_VENDOR_AMD: if ( c->x86 >= 0x10 ) { @@ -872,11 +873,13 @@ int __init early_microcode_init(unsigned long *module_map, can_load = true; } break; - +#endif +#ifdef CONFIG_MICROCODE_INTEL case X86_VENDOR_INTEL: ucode_ops = intel_ucode_ops; can_load = intel_can_load_microcode(); break; +#endif } if ( !ucode_ops.apply_microcode ) -- 2.25.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |