[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aBr_GZ9P7k_I7RU6@gmail.com>
Date: Wed, 7 May 2025 08:35:05 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: linux-kernel@...r.kernel.org, "H. Peter Anvin" <hpa@...or.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Peter Zijlstra <peterz@...radead.org>,
Borislav Petkov <bp@...en8.de>,
Thomas Gleixner <tglx@...utronix.de>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Ard Biesheuvel <ardb@...nel.org>,
David Woodhouse <dwmw@...zon.co.uk>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Michal Marek <michal.lkml@...kovi.net>
Subject: Re: [PATCH 04/15] x86/kbuild: Introduce the 'x86_32' subarchitecture
* Arnd Bergmann <arnd@...db.de> wrote:
> On Tue, May 6, 2025, at 19:09, Ingo Molnar wrote:
> >
> > # Additional ARCH settings for x86
> > -ifeq ($(ARCH),i386)
> > +ifeq ($(ARCH),x86_64)
> > SRCARCH := x86
> > endif
> > -ifeq ($(ARCH),x86_64)
> > +ifeq ($(ARCH),x86_32)
> > + SRCARCH := x86
> > +endif
> > +ifeq ($(ARCH),i386)
> > SRCARCH := x86
> > endif
>
> Would it be possible to just remove the entire SRCARCH hack for x86?
> It's not clear from the changelog what the intention was in 2007 when
> it was added, but my impression was that this should be a temporary
> workaround to users doing 'make defconfig' on i386 would still get a
> 32-bit config by default and didn't have to change there scripts.
Correct, this was done during the x86 unification: a significant number
of kernel developers were still using 32-bit x86 systems, and they
expected the host architecture to be used by default like it was when
it lived in arch/i386/.
Ie. it was a 'seamless x86 unification' build feature.
I'd be glad to add a tested patch for SRCARCH hack removal, which
should simplify things a bit.
> Also, I don't think there are any systems that return 'x86_32' from
> 'uname -m', so your added special case would never be used by
> default, only when cross-compiling from some other architecture.
No, on most 32-bit systems 'uname -m' returns 'i686', which we cannot
use straight away anyway. And it looked a bit silly to me for us to
fudge over the architecture from 'i686' to 'i386', when we haven't
supported i386 for quite some while and are now working on i486
removal...
Let's just have x86_32 as the internal primary subarchitecture name,
with support for historic aliases like 'i386'. That it cleans up things
for defconfig naming is a bonus.
Thanks,
Ingo
Powered by blists - more mailing lists