Re: [PATCH v2 01/10] x86/Kconfig: enable X86_X2APIC by default and improve help text

From: Dave Hansen
Date: Fri Nov 04 2022 - 13:29:41 EST


On 11/3/22 16:41, Elliott, Robert (Servers) wrote:
> How are the defconfig files supposed to keep up with valid
> combinations of options?

On some level, it doesn't matter as long as "make defconfig" and the
Kconfig rules result in something generally sane.

> Despite its filename, arch/x86/configs/x86_64_defconfig does not even have:
> CONFIG_X86_64=y
> which enables many options. That was added by:
> commit 622e3f28e50f ("x86: 64-bit defconfig remake")
> Sun May 4 19:57:19 2008 +0400
> but removed by:
> commit 8b1bb90701f9a51f ("defconfig reduction")
> Sat Aug 14 22:05:58 2010 +0200
>
> It does have
> CONFIG_SMP=y
>
> which should imply X86_LOCAL_APIC, but that's missing too.
>
> It does have
> CONFIG_HYPERVISOR_GUEST=y
> so doesn't need IRQ_REMAP to enable X86_X2APIC.

It sounds like folks generally want the defconfig files to have minimal
contents. CONFIG_X86_64 isn't in there because it's not _needed_.

So, if the attached patch results in:

$ rm .config
$ make defconfig
$ grep X86_X2APIC .config
CONFIG_X86_X2APIC=y

Is there really anything else we need? Kconfig seems to have figured
everything out just fine and without any complaints.diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index 69784505a7a8..8cccda2a89c9 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -30,6 +30,7 @@ CONFIG_KALLSYMS_ALL=y
CONFIG_PROFILING=y
CONFIG_SMP=y
CONFIG_HYPERVISOR_GUEST=y
+CONFIG_X86_X2APIC=y
CONFIG_PARAVIRT=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_MICROCODE_AMD=y