Skip to content

enable "make ARCH=x86"

Sam Ravnborg lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest11 patches 22 repliesIn review
  2. v11 patch 12 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11x86: unification of cfufreq/Kconfigarch/x86/Kconfig.i386 arch/x86/Kconfig.x86_64 arch/x86/kernel/cpu/cpufreq/Kconfig +2 more+277 -3600 replies
2/11x86: start unification of arch/x86/Kconfig.*arch/x86/Kconfig arch/x86/Kconfig.i386 arch/x86/Kconfig.x86_64+404 -4580 replies
3/11x86: arch/x86/Kconfig.cpu unificationarch/x86/Kconfig arch/x86/Kconfig.cpu arch/x86/Kconfig.x86_64 +1 more+95 -1340 replies
4/11x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386arch/x86/Kconfig.i386+53 -370 replies
5/11x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86_64arch/x86/Kconfig.x86_64+17 -170 replies
6/11x86: copy x86_64 specific Kconfig symbols to Kconfig.i386arch/x86/Kconfig arch/x86/Kconfig.i386+198 -230 replies
7/11x86: move all simple arch settings to Kconfigarch/x86/Kconfig arch/x86/Kconfig.i386 arch/x86/Kconfig.x86_64+136 -2340 replies
8/11x86: move the rest of the menu's to Kconfigarch/x86/Kconfig arch/x86/Kconfig.i386 arch/x86/Kconfig.x86_64+1052 -15430 replies
9/11x86: enable "make ARCH=x86"Makefile arch/x86/Kconfig arch/x86/Kconfig.i386 +7 more+35 -560 replies
10/11x86: drop backward compatibility symlinks to i386/boot and x86_64/bootarch/x86/Makefile_32 arch/x86/Makefile_64+0 -40 replies
11/11kbuild: sanity check the specified archMakefile+5 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH 0/11 v3] enable "make ARCH=x86"

With this patchset the former ARCH=i386 / ARCH=x86_64 are replaced by ARCH=x86.
The rationale behind the patchset are that with a unified x86 architecture this should be reflected in the build commands.

With this patch set the 32/64 bit selection is done at configuration time like we know it from parisc and powerpc.

Please pull to your cleanup branch:

ssh://master.kernel.org/pub/scm/linux/kernel/git/sam/x86.git

I leave it to you (x86 maintainers) to decide when to push this to Linus. But I strongly suggest sooner is better so we finish the build parts of the x86 unification.

It has been asked: what about "make ARCH=x86_64 allmodconfig" Here Adrian posted the receipe:

$ cat myconfig
CONFIG_X86_32=n
CONFIG_X86_64=y
$ make allmodconfig KCONFIG_ALLCONFIG=myconfig

Not a simple as before but far more powerfull.

The patchset does not only enable ARCH=x86 but is also a nice cleanup as the diffstat tells us:

 15 files changed, 579 insertions(+), 1173 deletions(-)

The majority of the changes are due to the unification the Kconfig files for 32 and 64 bit.

The shortlog is here:

x86: unification of cfufreq/Kconfig
x86: start unification of arch/x86/Kconfig.*
x86: arch/x86/Kconfig.cpu unification
x86: add X86_32 dependency to i386 specific symbols in Kconfig.i386
x86: add X86_64 dependency to x86_64 specific symbols in Kconfig.x86_64
x86: copy x86_64 specific Kconfig symbols to Kconfig.i386
x86: move all simple arch settings to Kconfig
x86: move the rest of the menu's to Kconfig

The first 8 patches are just unification of the Kconfig files. All comments from previous postings has been incorporated.

      x86: enable "make ARCH=x86"

This is the patch that get rid of ARCH=i386 and ARCH=x86_64 and introduce ARCH=x86.
It touches several files but the changes are all one or two-liners.

x86: drop backward compatibility symlinks to i386/boot and x86_64/boot
kbuild: sanity check the specified arch

The last two patches are nice bonus patches.
The fist kill the symlinks to bzImage.
Now that we changed everything else to x86 there is no reason to keep the backward compatibility symlinks
It is now people know we are unifying {i386,x86_64}=>x86 so the will not be too suprised seeing some breakage.
If we do not kill the symlinks now - then when..

The last patch is a simple sanity check that make sure the specified ARCH is valid - and hints that x86 is now used.

I have doen a limited number of builds here at home - all with success. And others have reported success with the previous patchset.

The full diffstat:

 Makefile                                           |    9 +-
 arch/x86/{Kconfig.i386 => Kconfig}                 |  570 ++++++++++---
 arch/x86/Kconfig.cpu                               |  121 ++--
 arch/x86/Kconfig.x86_64                            |  839 --------------------
 arch/x86/Makefile                                  |    6 +-
 arch/x86/Makefile_32                               |    2 -
 arch/x86/Makefile_64                               |    2 -
 arch/x86/boot/Makefile                             |    6 +-
 arch/x86/boot/cpucheck.c                           |    6 -
 arch/x86/kernel/Makefile_32                        |    3 +-
 arch/x86/kernel/Makefile_64                        |    2 +
 .../x86/kernel/cpu/cpufreq/{Kconfig_32 => Kconfig} |   69 ++-
 arch/x86/kernel/cpu/cpufreq/Kconfig_64             |  108 ---
 arch/x86/vdso/Makefile                             |    2 +-
 scripts/kconfig/Makefile                           |    7 +-
 15 files changed, 579 insertions(+), 1173 deletions(-)

Patches follow and will be sent to lkml only.

Sam