[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YxHD1MkulyL3yB9y@gmail.com>
Date: Fri, 2 Sep 2022 10:50:28 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Nathan Chancellor <nathan@...nel.org>,
Masahiro Yamada <masahiroy@...nel.org>,
linux-kbuild@...r.kernel.org
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Borislav Petkov <bp@...en8.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
Will Deacon <will@...nel.org>,
Waiman Long <longman@...hat.com>,
Boqun Feng <boqun.feng@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Subject: Re: [PATCH] x86/config: Make the x86 defconfigs a bit more usable
* Nathan Chancellor <nathan@...nel.org> wrote:
> On Sun, Mar 27, 2022 at 09:03:14PM +0200, Ingo Molnar wrote:
> > Yeah, good catch! ...
> >
> > I use defconfigs by explicitly adding in the architecture:
> >
> > kepler:~/tip> make ARCH=i386 defconfig
> >
> > kepler:~/tip> kconfig-arch
> > i386
> >
> > ... so never I noticed this bug.
>
> Ah, good point!
>
> > I fixed this in the latest version (attached).
> >
> > Arguably 'make ARCH=i386 savedefconfig' should preserve this, so that
> > refreshing defconfigs on bi-arch architectures is idempotent, but that's no
> > excuse to regress the existing defconfig behavior.
>
> Hmmm, I thought that it would, but I think the behavior of savedefconfig
> is actually correct with regards to how it handles CONFIG_64BIT in the
> presence of an explicit ARCH value, based on how CONFIG_64BIT is
> defined:
>
> config 64BIT
> bool "64-bit kernel" if "$(ARCH)" = "x86"
> default "$(ARCH)" != "i386"
> help
> Say yes to build a 64-bit kernel - formerly known as x86_64
> Say no to build a 32-bit kernel - formerly known as i386
>
> As the default is no when ARCH == i386 and there is no prompt in that
> situation, "# CONFIG_64BIT is not set" gets dropped, as that is the
> default. Using savedefconfig without the ARCH variable would do the
> right thing.
>
> I tried playing around with these Kconfig symbols to see if I could get
> something that would work for savedefconfig with or without ARCH, but I
> could not really come up with anything. I did not try super hard though,
> it might still be possible.
Unfortunately, even without the ARCH=i386 'make savedefconfig' doesn't seem
to be doing the right thing & is dropping the '# CONFIG_64BIT is not set'
line:
kepler:~/tip> make ARCH=i386 defconfig
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
kepler:~/tip> make savedefconfig
kepler:~/tip> diff -up arch/x86/configs/i386_defconfig defconfig
--- arch/x86/configs/i386_defconfig 2022-09-02 10:45:43.117430882 +0200
+++ defconfig 2022-09-02 10:46:56.663864901 +0200
@@ -282,4 +282,3 @@ CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_UNWINDER_FRAME_POINTER=y
-# CONFIG_64BIT is not set
kepler:~/tip>
This is annoying in that every time I modify the i386 defconfig and use
'make savedefconfig', I have to manually revert that change ...
This reduces the usability of 'make savedefconfig' quite a bit.
Maybe Masahiro-san can tell me how I'm doing this wrong?
Thanks,
Ingo
Powered by blists - more mailing lists