Skip to contentSkip to conversation

kill i386 and x86_64 directories

PATCH In review Sam Ravnborg 8 participants 27 messages Oct 25, 2007 – Oct 26, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover kill i386 and x86_64 directories

This series kill the old i386 and x86_64 directories. The relevant files are moved and adapted and Kconfig.debug was consolidated (thanks to Randy).

I had to modify both the top-lvel Makefile and the kconfig Makefile to accomplish this. It was done in such a way that it is trivial for other archs to use the same mechanism should they have the need.

To solve the defconfig issue (i386 and x86_64 cannot share one) the arch/x86/configs/ directory were introduced. This has been used by other archs for some time now but x86 had not had the need until now.

The Kconfig files could be consolidated much more - I only did the minimal changes to make it work in the new place.

Total diffstat (in git format):

 Makefile                                           |    7 ++-
 arch/i386/.gitignore                               |    1 -
 arch/{i386 => x86}/Kconfig.cpu                     |    0 
 arch/{i386 => x86}/Kconfig.debug                   |   51 +++++++++++++---
 arch/{i386/Kconfig => x86/Kconfig.i386}            |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64}        |    6 +--
 arch/x86/Makefile                                  |   16 +++++
 arch/{i386/Makefile => x86/Makefile_32}            |    7 +--
 arch/{i386/Makefile.cpu => x86/Makefile_32.cpu}    |    0 
 arch/{x86_64/Makefile => x86/Makefile_64}          |    5 +-
 .../{i386/defconfig => x86/configs/i386_defconfig} |    0 
 .../defconfig => x86/configs/x86_64_defconfig}     |    0 
 arch/x86_64/.gitignore                             |    1 -
 arch/x86_64/Kconfig.debug                          |   61 --------------------
 scripts/kconfig/Makefile                           |   35 +++++++-----
 15 files changed, 89 insertions(+), 105 deletions(-)

Patches follows.
The full serie can be pulled from:

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

Note: The serie were slightly modfied compared to the fist published
version.

Sam

#1 lore raw

PATCH 1/6 x86: move i386 and x86_64 Makefiles to arch/x86

Quoted 1 line

From 9d80894bef9805c70795f73ce1758d2a9e4cb077 Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 19:42:04 +0200
Subject: [PATCH] x86: move i386 and x86_64 Makefiles to arch/x86

Moving the ARCH specific Makefiles for i386 and x86_64 required a litle bit tweaking in the top-lvel Makefile.

SRCARCH is now set in the top-level Makefile because we need this info to include the correct arch Makefile.

---
 Makefile                                        |    7 +++++--
 arch/x86/Makefile                               |   13 +++++++++++++
 arch/{i386/Makefile => x86/Makefile_32}         |    7 ++-----
 arch/{i386/Makefile.cpu => x86/Makefile_32.cpu} |    0 
 arch/{x86_64/Makefile => x86/Makefile_64}       |    5 +----
 5 files changed, 21 insertions(+), 11 deletions(-)
 create mode 100644 arch/x86/Makefile
 rename arch/{i386/Makefile => x86/Makefile_32} (98%)
 rename arch/{i386/Makefile.cpu => x86/Makefile_32.cpu} (100%)
 rename arch/{x86_64/Makefile => x86/Makefile_64} (99%)
Makefile +5 -2
index 2a47290..8816060 100644
@@ -196,6 +196,9 @@ CROSS_COMPILE	?=
 UTS_MACHINE 	:= $(ARCH)
 SRCARCH 	:= $(ARCH)
 
+# for i386 and x86_64 we use SRCARCH equal to x86
+SRCARCH := $(if $(filter x86_64 i386,$(SRCARCH)),x86,$(SRCARCH))
+
 KCONFIG_CONFIG	?= .config
 
 # SHELL used by kbuild
@@ -418,7 +421,7 @@ ifeq ($(config-targets),1)
 # Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
 # KBUILD_DEFCONFIG may point out an alternative default configuration
 # used for 'make defconfig'
-include $(srctree)/arch/$(ARCH)/Makefile
+include $(srctree)/arch/$(SRCARCH)/Makefile
 export KBUILD_DEFCONFIG
 
 config %config: scripts_basic outputmakefile FORCE
@@ -497,7 +500,7 @@ else
 KBUILD_CFLAGS	+= -O2
 endif
 
-include $(srctree)/arch/$(ARCH)/Makefile
+include $(srctree)/arch/$(SRCARCH)/Makefile
 
 ifdef CONFIG_FRAME_POINTER
 KBUILD_CFLAGS	+= -fno-omit-frame-pointer -fno-optimize-sibling-calls
arch/x86/Makefile new file +13 -0
new file mode 100644
index 0000000..65077d7
@@ -0,0 +1,13 @@
+# Unified Makefile for i386 and x86_64
+
+# No need to remake these files
+$(srctree)/arch/x86/Makefile%: ;
+
+ifeq ($(ARCH),i386)
+        include $(srctree)/arch/x86/Makefile_32
+else
+        include $(srctree)/arch/x86/Makefile_64
+endif
+
+
+
arch/x86/Makefile_32 renamed from arch/i386/Makefile +2 -5
similarity index 98%
rename from arch/i386/Makefile
rename to arch/x86/Makefile_32
index f5b9a37..346ac07 100644
@@ -1,5 +1,5 @@
 #
-# i386/Makefile
+# i386 Makefile
 #
 # This file is included by the global makefile so that you can add your own
 # architecture-specific flags and dependencies. Remember to do have actions
@@ -17,9 +17,6 @@
 # 20050320  Kianusch Sayah Karadji <[email protected]>
 #           Added support for GEODE CPU
 
-# Fill in SRCARCH
-SRCARCH	:= x86
-
 # BITS is used as extension for files which are available in a 32 bit
 # and a 64 bit version to simplify shared Makefiles.
 # e.g.: obj-y += foo_$(BITS).o
@@ -46,7 +43,7 @@ KBUILD_CFLAGS += -pipe -msoft-float -mregparm=3 -freg-struct-return
 KBUILD_CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)
 
 # CPU-specific tuning. Anything which can be shared with UML should go here.
-include $(srctree)/arch/i386/Makefile.cpu
+include $(srctree)/arch/x86/Makefile_32.cpu
 
 # temporary until string.h is fixed
 cflags-y += -ffreestanding
arch/x86/Makefile_32.cpu renamed from arch/i386/Makefile.cpu +0 -0
similarity index 100%
rename from arch/i386/Makefile.cpu
rename to arch/x86/Makefile_32.cpu
arch/x86/Makefile_64 renamed from arch/x86_64/Makefile +1 -4
similarity index 99%
rename from arch/x86_64/Makefile
rename to arch/x86/Makefile_64
index 20eb69b..57e714a 100644
@@ -1,5 +1,5 @@
 #
-# x86_64/Makefile
+# x86_64 Makefile
 #
 # This file is included by the global makefile so that you can add your own
 # architecture-specific flags and dependencies. Remember to do have actions
@@ -21,9 +21,6 @@
 #
 # $Id: Makefile,v 1.31 2002/03/22 15:56:07 ak Exp $
 
-# Fill in SRCARCH
-SRCARCH	:= x86
-
 # BITS is used as extension for files which are available in a 32 bit
 # and a 64 bit version to simplify shared Makefiles.
 # e.g.: obj-y += foo_$(BITS).o
Signature · 1 line
1.5.3.4.1157.g0e74-dirty
#2 lore raw

PATCH 2/6 x86: move defconfig files for i386 and x86_64 to x86

In reply to Sam Ravnborg
Quoted 1 line

From 81ee173db26217c54731bbc4c5b864fa01c6f28c Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 20:31:19 +0200
Subject: [PATCH] x86: move defconfig files for i386 and x86_64 to x86

With some small changes to kconfig makefile we can now locate the defconfig files for i386 and x86_64 in the configs/ subdirectory under x86.
make ARCH=i386 defconfig and make defconfig works as expected also after this change.
But arch maintainers shall now update a defconfig file in the configs/ directory.

---
 arch/x86/Makefile                                  |    5 ++++-
 .../{i386/defconfig => x86/configs/i386_defconfig} |    0 
 .../defconfig => x86/configs/x86_64_defconfig}     |    0 
 scripts/kconfig/Makefile                           |    6 +++---
 4 files changed, 7 insertions(+), 4 deletions(-)
 rename arch/{i386/defconfig => x86/configs/i386_defconfig} (100%)
 rename arch/{x86_64/defconfig => x86/configs/x86_64_defconfig} (100%)
arch/x86/Makefile +4 -1
index 65077d7..3095973 100644
@@ -1,6 +1,9 @@
 # Unified Makefile for i386 and x86_64
 
-# No need to remake these files
+# select defconfig based on actual architecture
+KBUILD_DEFCONFIG := $(ARCH)_defconfig
+
+# # No need to remake these files
 $(srctree)/arch/x86/Makefile%: ;
 
 ifeq ($(ARCH),i386)
arch/x86/configs/i386_defconfig renamed from arch/i386/defconfig +0 -0
similarity index 100%
rename from arch/i386/defconfig
rename to arch/x86/configs/i386_defconfig
arch/x86/configs/x86_64_defconfig renamed from arch/x86_64/defconfig +0 -0
similarity index 100%
rename from arch/x86_64/defconfig
rename to arch/x86/configs/x86_64_defconfig
scripts/kconfig/Makefile +3 -3
index 83c5e76..fbf39cc 100644
@@ -60,12 +60,12 @@ defconfig: $(obj)/conf
 ifeq ($(KBUILD_DEFCONFIG),)
 	$< -d arch/$(ARCH)/Kconfig
 else
-	@echo *** Default configuration is based on '$(KBUILD_DEFCONFIG)'
-	$(Q)$< -D arch/$(ARCH)/configs/$(KBUILD_DEFCONFIG) arch/$(ARCH)/Kconfig
+	@echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
+	$(Q)$< -D arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) arch/$(ARCH)/Kconfig
 endif
 
 %_defconfig: $(obj)/conf
-	$(Q)$< -D arch/$(ARCH)/configs/$@ arch/$(ARCH)/Kconfig
+	$(Q)$< -D arch/$(SRCARCH)/configs/$@ arch/$(ARCH)/Kconfig
 
 # Help text used by make help
 help:
Signature · 1 line
1.5.3.4.1157.g0e74-dirty
#3 lore raw

PATCH 3/6 x86: unification of i386 and x86_64 Kconfig.debug

In reply to Sam Ravnborg
Quoted 1 line

From 16b853f53463e43bfce341965ac10a78a3755a14 Mon Sep 17 00:00:00 2001

From: Randy Dunlap <[email protected]>
Date: Wed, 24 Oct 2007 15:50:43 -0700
Subject: [PATCH] x86: unification of i386 and x86_64 Kconfig.debug

Adding proper dependencies so the two Kconfig.debug files are now identical.

---
 arch/i386/Kconfig.debug             |   51 ++++++++++++++++++++++++++++-------
 arch/x86_64/Kconfig                 |    4 ---
 arch/{i386 => x86_64}/Kconfig.debug |   51 ++++++++++++++++++++++++++++-------
 3 files changed, 82 insertions(+), 24 deletions(-)
 copy arch/{i386 => x86_64}/Kconfig.debug (65%)
arch/i386/Kconfig.debug +41 -10
index f03531e..970b2de 100644
@@ -1,14 +1,14 @@
 menu "Kernel hacking"
 
 config TRACE_IRQFLAGS_SUPPORT
-	bool
-	default y
+	def_bool y
 
 source "lib/Kconfig.debug"
 
 config EARLY_PRINTK
 	bool "Early printk" if EMBEDDED && DEBUG_KERNEL
 	default y
+	depends on X86_32
 	help
 	  Write kernel log output directly into the VGA buffer or to a serial
 	  port.
@@ -37,10 +37,12 @@ config DEBUG_STACK_USAGE
 
 comment "Page alloc debug is incompatible with Software Suspend on i386"
 	depends on DEBUG_KERNEL && HIBERNATION
+	depends on X86_32
 
 config DEBUG_PAGEALLOC
 	bool "Debug page memory allocations"
 	depends on DEBUG_KERNEL && !HIBERNATION && !HUGETLBFS
+	depends on X86_32
 	help
 	  Unmap pages from the kernel linear mapping after free_pages().
 	  This results in a large slowdown, but helps to find certain types
@@ -59,6 +61,7 @@ config DEBUG_RODATA
 config 4KSTACKS
 	bool "Use 4Kb for kernel stacks instead of 8Kb"
 	depends on DEBUG_KERNEL
+	depends on X86_32
 	help
 	  If you say Y here the kernel will use a 4Kb stacksize for the
 	  kernel stack attached to each process/thread. This facilitates
@@ -67,22 +70,50 @@ config 4KSTACKS
 	  will also use IRQ stacks to compensate for the reduced stackspace.
 
 config X86_FIND_SMP_CONFIG
-	bool
+	def_bool y
 	depends on X86_LOCAL_APIC || X86_VOYAGER
-	default y
+	depends on X86_32
 
 config X86_MPPARSE
-	bool
+	def_bool y
 	depends on X86_LOCAL_APIC && !X86_VISWS
-	default y
+	depends on X86_32
 
 config DOUBLEFAULT
 	default y
 	bool "Enable doublefault exception handler" if EMBEDDED
+	depends on X86_32
+	help
+	  This option allows trapping of rare doublefault exceptions that
+	  would otherwise cause a system to silently reboot. Disabling this
+	  option saves about 4k and might cause you much additional grey
+	  hair.
+
+config IOMMU_DEBUG
+	bool "Enable IOMMU debugging"
+	depends on IOMMU && DEBUG_KERNEL
+	depends on X86_64
 	help
-          This option allows trapping of rare doublefault exceptions that
-          would otherwise cause a system to silently reboot. Disabling this
-          option saves about 4k and might cause you much additional grey
-          hair.
+	  Force the IOMMU to on even when you have less than 4GB of
+	  memory and add debugging code. On overflow always panic. And
+	  allow to enable IOMMU leak tracing. Can be disabled at boot
+	  time with iommu=noforce. This will also enable scatter gather
+	  list merging.  Currently not recommended for production
+	  code. When you use it make sure you have a big enough
+	  IOMMU/AGP aperture.  Most of the options enabled by this can
+	  be set more finegrained using the iommu= command line
+	  options. See Documentation/x86_64/boot-options.txt for more
+	  details.
+
+config IOMMU_LEAK
+	bool "IOMMU leak tracing"
+	depends on DEBUG_KERNEL
+	depends on IOMMU_DEBUG
+	help
+	  Add a simple leak tracer to the IOMMU code. This is useful when you
+	  are debugging a buggy device driver that leaks IOMMU mappings.
+
+#config X86_REMOTE_DEBUG
+#	bool "kgdb debugging stub"
 
 endmenu
arch/x86_64/Kconfig +0 -4
index 308970a..1bc0268 100644
@@ -97,10 +97,6 @@ config X86_CMPXCHG
 	bool
 	default y
 
-config EARLY_PRINTK
-	bool
-	default y
-
 config GENERIC_ISA_DMA
 	bool
 	default y
arch/x86_64/Kconfig.debug renamed from arch/i386/Kconfig.debug +41 -10

93 lines not on this page · raw message

Signature · 1 line
1.5.3.4.1157.g0e74-dirty
#4 lore raw

Re: [PATCH 3/6] x86: unification of i386 and x86_64 Kconfig.debug

Quoted 39 lines · Sam Ravnborg

From 16b853f53463e43bfce341965ac10a78a3755a14 Mon Sep 17 00:00:00 2001
From: Randy Dunlap <[email protected]>
Date: Wed, 24 Oct 2007 15:50:43 -0700
Subject: [PATCH] x86: unification of i386 and x86_64 Kconfig.debug

Adding proper dependencies so the two Kconfig.debug files are now identical.

---
 arch/i386/Kconfig.debug             |   51 ++++++++++++++++++++++++++++-------
 arch/x86_64/Kconfig                 |    4 ---
 arch/{i386 => x86_64}/Kconfig.debug |   51 ++++++++++++++++++++++++++++-------
 3 files changed, 82 insertions(+), 24 deletions(-)
 copy arch/{i386 => x86_64}/Kconfig.debug (65%)
arch/i386/Kconfig.debug +2 -2
index f03531e..970b2de 100644
@@ -1,14 +1,14 @@
 menu "Kernel hacking"
 
 config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default y
+       def_bool y
 
 source "lib/Kconfig.debug"
 
 config EARLY_PRINTK
        bool "Early printk" if EMBEDDED && DEBUG_KERNEL
        default y
+       depends on X86_32
        help
          Write kernel log output directly into the VGA buffer or to a serial
          port.
@@ -37,10 +37,12 @@ config DEBUG_STACK_USAGE

...

Quoted 29 lines
arch/x86_64/Kconfig +0 -4
index 308970a..1bc0268 100644
@@ -97,10 +97,6 @@ config X86_CMPXCHG
        bool
        default y
 
-config EARLY_PRINTK
-       bool
-       default y
-
 config GENERIC_ISA_DMA
        bool
        default y
arch/x86_64/Kconfig.debug renamed from arch/i386/Kconfig.debug +1 -2
similarity index 65%
copy from arch/i386/Kconfig.debug
copy to arch/x86_64/Kconfig.debug
index f03531e..970b2de 100644
@@ -1,14 +1,14 @@
 menu "Kernel hacking"
 
 config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default y
+       def_bool y

arch/x86_64/Kconfig.debug line 14

Quoted 10 lines
arch/x86_64/Kconfig.debug renamed from arch/i386/Kconfig.debug +1 -0
 
 source "lib/Kconfig.debug"
 
 config EARLY_PRINTK
        bool "Early printk" if EMBEDDED && DEBUG_KERNEL
        default y
+       depends on X86_32
        help
          Write kernel log output directly into the VGA buffer or to a serial
          port.

...

why disabling early_printk for x86_64?

YH

#5 lore raw

Re: [PATCH 3/6] x86: unification of i386 and x86_64 Kconfig.debug

Quoted 82 lines · On Thu, 25 Oct 2007 16:30:48 -0700 Yinghai Lu wrote:
Quoted 39 lines · Sam Ravnborg

From 16b853f53463e43bfce341965ac10a78a3755a14 Mon Sep 17 00:00:00 2001
From: Randy Dunlap <[email protected]>
Date: Wed, 24 Oct 2007 15:50:43 -0700
Subject: [PATCH] x86: unification of i386 and x86_64 Kconfig.debug

Adding proper dependencies so the two Kconfig.debug files are now identical.

---
 arch/i386/Kconfig.debug             |   51 ++++++++++++++++++++++++++++-------
 arch/x86_64/Kconfig                 |    4 ---
 arch/{i386 => x86_64}/Kconfig.debug |   51 ++++++++++++++++++++++++++++-------
 3 files changed, 82 insertions(+), 24 deletions(-)
 copy arch/{i386 => x86_64}/Kconfig.debug (65%)
arch/i386/Kconfig.debug +2 -2
index f03531e..970b2de 100644
@@ -1,14 +1,14 @@
 menu "Kernel hacking"
 
 config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default y
+       def_bool y
 
 source "lib/Kconfig.debug"
 
 config EARLY_PRINTK
        bool "Early printk" if EMBEDDED && DEBUG_KERNEL
        default y
+       depends on X86_32
        help
          Write kernel log output directly into the VGA buffer or to a serial
          port.
@@ -37,10 +37,12 @@ config DEBUG_STACK_USAGE

...

Quoted 39 lines
arch/x86_64/Kconfig +0 -4
index 308970a..1bc0268 100644
@@ -97,10 +97,6 @@ config X86_CMPXCHG
        bool
        default y
 
-config EARLY_PRINTK
-       bool
-       default y
-
 config GENERIC_ISA_DMA
        bool
        default y
arch/x86_64/Kconfig.debug renamed from arch/i386/Kconfig.debug +2 -2
similarity index 65%
copy from arch/i386/Kconfig.debug
copy to arch/x86_64/Kconfig.debug
index f03531e..970b2de 100644
@@ -1,14 +1,14 @@
 menu "Kernel hacking"
 
 config TRACE_IRQFLAGS_SUPPORT
-       bool
-       default y
+       def_bool y
 
 source "lib/Kconfig.debug"
 
 config EARLY_PRINTK
        bool "Early printk" if EMBEDDED && DEBUG_KERNEL
        default y
+       depends on X86_32
        help
          Write kernel log output directly into the VGA buffer or to a serial
          port.

...

Quoted 1 line

why disabling early_printk for x86_64?

It doesn't do that. EARLY_PRINTK for x86_64 lives in arch/x86_64/Kconfig (i.e., a different file).

Patches welcome.

---
~Randy

#6 lore raw

Re: [PATCH 3/6] x86: unification of i386 and x86_64 Kconfig.debug

Quoted 6 lines · Randy Dunlap

It doesn't do that. EARLY_PRINTK for x86_64 lives in arch/x86_64/Kconfig (i.e., a different file).

Patches welcome.

I think Sam's patchset already takes care of that.

-hpa

#7 lore raw

Re: [PATCH 3/6] x86: unification of i386 and x86_64 Kconfig.debug

Quoted 9 lines · H. Peter Anvin
Quoted 6 lines · Randy Dunlap

It doesn't do that. EARLY_PRINTK for x86_64 lives in arch/x86_64/Kconfig (i.e., a different file).

Patches welcome.

I think Sam's patchset already takes care of that.

arch/x86_64/Kconfig.debug will be removed. in 5/6 patch. and in the same patch arch/i386/Kconfig.debug will be arch/x86/Kconfig.debug and it make EARLY_PRINTK depend on x86_32

YH

#8 lore raw

Re: [PATCH 3/6] x86: unification of i386 and x86_64 Kconfig.debug

In reply to Yinghai Lu
Quoted 10 lines · Yinghai Lu
Quoted 7 lines

config EARLY_PRINTK

        bool "Early printk" if EMBEDDED && DEBUG_KERNEL
        default y

+ depends on X86_32
help
Write kernel log output directly into the VGA buffer or to a serial port.

...

why disabling early_printk for x86_64?

The abovce disables the prompt but arch/x86_64/Kconifg.x86_64 set the value to y so EARLY_PRINTK is always enabled (see answer I wrote to Kay).

This patchset leaves room for futher clean-up which is welcome. The aim was to unify the two Kconfig.debug file where Randy did a quick and good job. The aim was not maximum unification of the Kconfig files used for the two ARCH's this comes later - and there are much to be done here.

Please let me know if you see other issues woth the patch serie.

Sam

#9 lore raw

PATCH 4/6 kconfig: small code refactoring in kconfig Makefile

In reply to Sam Ravnborg
Quoted 1 line

From 7cadfc607d91f536996a46c186711c82378e75ec Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 20:42:18 +0200
Subject: [PATCH] kconfig: small code refactoring in kconfig Makefile

Do not hardcode the arch/$(ARCH)/Kconfig name all over

---
 scripts/kconfig/Makefile |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)
scripts/kconfig/Makefile +15 -13
index fbf39cc..3c9db07 100644
@@ -4,23 +4,25 @@
 
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
 
+Kconfig := arch/$(ARCH)/Kconfig
+
 xconfig: $(obj)/qconf
-	$< arch/$(ARCH)/Kconfig
+	$< $(Kconfig)
 
 gconfig: $(obj)/gconf
-	$< arch/$(ARCH)/Kconfig
+	$< $(Kconfig)
 
 menuconfig: $(obj)/mconf
-	$< arch/$(ARCH)/Kconfig
+	$< $(Kconfig)
 
 config: $(obj)/conf
-	$< arch/$(ARCH)/Kconfig
+	$< $(Kconfig)
 
 oldconfig: $(obj)/conf
-	$< -o arch/$(ARCH)/Kconfig
+	$< -o $(Kconfig)
 
 silentoldconfig: $(obj)/conf
-	$< -s arch/$(ARCH)/Kconfig
+	$< -s $(Kconfig)
 
 # Create new linux.po file
 # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
@@ -45,27 +47,27 @@ update-po-config: $(obj)/kxgettext
 PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig
 
 randconfig: $(obj)/conf
-	$< -r arch/$(ARCH)/Kconfig
+	$< -r $(Kconfig)
 
 allyesconfig: $(obj)/conf
-	$< -y arch/$(ARCH)/Kconfig
+	$< -y $(Kconfig)
 
 allnoconfig: $(obj)/conf
-	$< -n arch/$(ARCH)/Kconfig
+	$< -n $(Kconfig)
 
 allmodconfig: $(obj)/conf
-	$< -m arch/$(ARCH)/Kconfig
+	$< -m $(Kconfig)
 
 defconfig: $(obj)/conf
 ifeq ($(KBUILD_DEFCONFIG),)
-	$< -d arch/$(ARCH)/Kconfig
+	$< -d $(Kconfig)
 else
 	@echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
-	$(Q)$< -D arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) arch/$(ARCH)/Kconfig
+	$(Q)$< -D arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
 endif
 
 %_defconfig: $(obj)/conf
-	$(Q)$< -D arch/$(SRCARCH)/configs/$@ arch/$(ARCH)/Kconfig
+	$(Q)$< -D arch/$(SRCARCH)/configs/$@ $(Kconfig)
 
 # Help text used by make help
 help:
Signature · 1 line
1.5.3.4.1157.g0e74-dirty
#10 lore raw

PATCH 5/6 x86: move i386 and x86_64 Kconfig files to x86 directory

In reply to Sam Ravnborg
Quoted 1 line

From 6654a98eb8587f0538904c9bdb9aeaf9d577f182 Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 21:04:16 +0200
Subject: [PATCH] x86: move i386 and x86_64 Kconfig files to x86 directory

After a small change in kconfig Makefile we could
move all x86 Kconfig files to x86 directory.

---
 arch/{i386 => x86}/Kconfig.cpu              |    0 
 arch/{i386 => x86}/Kconfig.debug            |    0 
 arch/{i386/Kconfig => x86/Kconfig.i386}     |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64} |    2 +-
 arch/x86_64/Kconfig.debug                   |  119 ---------------------------
 scripts/kconfig/Makefile                    |    7 ++-
 6 files changed, 9 insertions(+), 123 deletions(-)
 rename arch/{i386 => x86}/Kconfig.cpu (100%)
 rename arch/{i386 => x86}/Kconfig.debug (100%)
 rename arch/{i386/Kconfig => x86/Kconfig.i386} (99%)
 rename arch/{x86_64/Kconfig => x86/Kconfig.x86_64} (99%)
 delete mode 100644 arch/x86_64/Kconfig.debug
arch/x86/Kconfig.cpu renamed from arch/i386/Kconfig.cpu +0 -0
similarity index 100%
rename from arch/i386/Kconfig.cpu
rename to arch/x86/Kconfig.cpu
arch/x86/Kconfig.debug renamed from arch/i386/Kconfig.debug +0 -0
similarity index 100%
rename from arch/i386/Kconfig.debug
rename to arch/x86/Kconfig.debug
arch/x86/Kconfig.i386 renamed from arch/i386/Kconfig +2 -2
similarity index 99%
rename from arch/i386/Kconfig
rename to arch/x86/Kconfig.i386
index b4437ce..7331efe 100644
@@ -287,7 +287,7 @@ config ES7000_CLUSTERED_APIC
 	default y
 	depends on SMP && X86_ES7000 && MPENTIUMIII
 
-source "arch/i386/Kconfig.cpu"
+source "arch/x86/Kconfig.cpu"
 
 config HPET_TIMER
 	bool "HPET Timer Support"
@@ -1272,7 +1272,7 @@ source "fs/Kconfig"
 
 source "kernel/Kconfig.instrumentation"
 
-source "arch/i386/Kconfig.debug"
+source "arch/x86/Kconfig.debug"
 
 source "security/Kconfig"
 
arch/x86/Kconfig.x86_64 renamed from arch/x86_64/Kconfig +1 -1
similarity index 99%
rename from arch/x86_64/Kconfig
rename to arch/x86/Kconfig.x86_64
index 1bc0268..04b8095 100644
@@ -831,7 +831,7 @@ source fs/Kconfig
 
 source "kernel/Kconfig.instrumentation"
 
-source "arch/x86_64/Kconfig.debug"
+source "arch/x86/Kconfig.debug"
 
 source "security/Kconfig"
 
arch/x86_64/Kconfig.debug deleted +0 -119

119 lines not on this page · raw message

scripts/kconfig/Makefile +6 -1
index 3c9db07..5959412 100644
@@ -4,7 +4,12 @@
 
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
 
-Kconfig := arch/$(ARCH)/Kconfig
+# If a arch/$(SRCARCH)/Kconfig.$(ARCH) file exist use it
+ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/Kconfig.$(ARCH)),)
+        Kconfig := arch/$(SRCARCH)/Kconfig.$(ARCH)
+else
+        Kconfig := arch/$(SRCARCH)/Kconfig
+endif
 
 xconfig: $(obj)/qconf
 	$< $(Kconfig)
Signature · 1 line
1.5.3.4.1157.g0e74-dirty
#11 lore raw

Re: [PATCH 5/6] x86: move i386 and x86_64 Kconfig files to x86 directory

Quoted 9 lines · Sam Ravnborg

From 6654a98eb8587f0538904c9bdb9aeaf9d577f182 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 21:04:16 +0200
Subject: [PATCH] x86: move i386 and x86_64 Kconfig files to x86 directory

After a small change in kconfig Makefile we could
move all x86 Kconfig files to x86 directory.

Quoted 13 lines
---
 arch/{i386 => x86}/Kconfig.cpu              |    0
 arch/{i386 => x86}/Kconfig.debug            |    0
 arch/{i386/Kconfig => x86/Kconfig.i386}     |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64} |    2 +-
 arch/x86_64/Kconfig.debug                   |  119 ---------------------------
 scripts/kconfig/Makefile                    |    7 ++-
 6 files changed, 9 insertions(+), 123 deletions(-)
 rename arch/{i386 => x86}/Kconfig.cpu (100%)
 rename arch/{i386 => x86}/Kconfig.debug (100%)
 rename arch/{i386/Kconfig => x86/Kconfig.i386} (99%)
 rename arch/{x86_64/Kconfig => x86/Kconfig.x86_64} (99%)
 delete mode 100644 arch/x86_64/Kconfig.debug

arch/i386/Kconfig.debug will be arch/x86/Kconfig.debug

in it, EARLY_PRINTK will depend on X86_32

YH

#12 lore raw

Re: [PATCH 5/6] x86: move i386 and x86_64 Kconfig files to x86 directory

Quoted 23 lines · On Thu, 25 Oct 2007 18:53:18 -0700 Yinghai Lu wrote:
Quoted 9 lines · Sam Ravnborg

From 6654a98eb8587f0538904c9bdb9aeaf9d577f182 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 21:04:16 +0200
Subject: [PATCH] x86: move i386 and x86_64 Kconfig files to x86 directory

After a small change in kconfig Makefile we could
move all x86 Kconfig files to x86 directory.

Quoted 13 lines
---
 arch/{i386 => x86}/Kconfig.cpu              |    0
 arch/{i386 => x86}/Kconfig.debug            |    0
 arch/{i386/Kconfig => x86/Kconfig.i386}     |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64} |    2 +-
 arch/x86_64/Kconfig.debug                   |  119 ---------------------------
 scripts/kconfig/Makefile                    |    7 ++-
 6 files changed, 9 insertions(+), 123 deletions(-)
 rename arch/{i386 => x86}/Kconfig.cpu (100%)
 rename arch/{i386 => x86}/Kconfig.debug (100%)
 rename arch/{i386/Kconfig => x86/Kconfig.i386} (99%)
 rename arch/{x86_64/Kconfig => x86/Kconfig.x86_64} (99%) <------<
 delete mode 100644 arch/x86_64/Kconfig.debug                    |
Quoted 4 lines
                                                                   |
arch/i386/Kconfig.debug will be arch/x86/Kconfig.debug             |
                                                                   |
in it, EARLY_PRINTK will depend on X86_32                          |
                                                                     |

but EARLY_PRINTK for x86_64 is here ------------------------------- ^

so we didn't lose it. However, they should live in the same place so that confusion like this does not continue.

You can make a patch. or I can. or Sam can. or someone else can...

---
~Randy

#13 lore raw

Re: [PATCH 5/6] x86: move i386 and x86_64 Kconfig files to x86 directory

Quoted 29 lines · Randy Dunlap
Quoted 23 lines · On Thu, 25 Oct 2007 18:53:18 -0700 Yinghai Lu wrote:
Quoted 9 lines · Sam Ravnborg

From 6654a98eb8587f0538904c9bdb9aeaf9d577f182 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 21:04:16 +0200
Subject: [PATCH] x86: move i386 and x86_64 Kconfig files to x86 directory

After a small change in kconfig Makefile we could
move all x86 Kconfig files to x86 directory.

Quoted 13 lines
---
 arch/{i386 => x86}/Kconfig.cpu              |    0
 arch/{i386 => x86}/Kconfig.debug            |    0
 arch/{i386/Kconfig => x86/Kconfig.i386}     |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64} |    2 +-
 arch/x86_64/Kconfig.debug                   |  119 ---------------------------
 scripts/kconfig/Makefile                    |    7 ++-
 6 files changed, 9 insertions(+), 123 deletions(-)
 rename arch/{i386 => x86}/Kconfig.cpu (100%)
 rename arch/{i386 => x86}/Kconfig.debug (100%)
 rename arch/{i386/Kconfig => x86/Kconfig.i386} (99%)
 rename arch/{x86_64/Kconfig => x86/Kconfig.x86_64} (99%) <------<
 delete mode 100644 arch/x86_64/Kconfig.debug                    |
Quoted 4 lines
                                                                   |
arch/i386/Kconfig.debug will be arch/x86/Kconfig.debug             |
                                                                   |
in it, EARLY_PRINTK will depend on X86_32                          |
Quoted 7 lines
                                                                     |

but EARLY_PRINTK for x86_64 is here ------------------------------- ^

so we didn't lose it. However, they should live in the same place so that confusion like this does not continue.

You can make a patch. or I can. or Sam can. or someone else can...

in PATCH 3/5 that Sam sent out.

Quoted 1 line

From 16b853f53463e43bfce341965ac10a78a3755a14 Mon Sep 17 00:00:00 2001

From: Randy Dunlap <[email protected]>
Date: Wed, 24 Oct 2007 15:50:43 -0700
Subject: [PATCH] x86: unification of i386 and x86_64 Kconfig.debug

Adding proper dependencies so the two Kconfig.debug files are now identical.

---
 arch/i386/Kconfig.debug             |   51 ++++++++++++++++++++++++++++-------
 arch/x86_64/Kconfig                 |    4 ---
 arch/{i386 => x86_64}/Kconfig.debug |   51 ++++++++++++++++++++++++++++-------
 3 files changed, 82 insertions(+), 24 deletions(-)
 copy arch/{i386 => x86_64}/Kconfig.debug (65%)

...

arch/x86_64/Kconfig +0 -4
index 308970a..1bc0268 100644
@@ -97,10 +97,6 @@ config X86_CMPXCHG
       bool
       default y
 
-config EARLY_PRINTK
-       bool
-       default y
-
 config GENERIC_ISA_DMA
       bool
       default y

but
in git

http://git.kernel.org/?p=linux/kernel/git/sam/x86.git;a=commitdiff;h=d013a27cb79a01b324f93adb275162c244cca2de

doesn't include that removing..

interesting.

YH

#14 lore raw

Re: [PATCH 5/6] x86: move i386 and x86_64 Kconfig files to x86 directory

Quoted 74 lines · On Thu, 25 Oct 2007 22:51:56 -0700 Yinghai Lu wrote:
Quoted 29 lines · Randy Dunlap
Quoted 23 lines · On Thu, 25 Oct 2007 18:53:18 -0700 Yinghai Lu wrote:
Quoted 9 lines · Sam Ravnborg

From 6654a98eb8587f0538904c9bdb9aeaf9d577f182 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 21:04:16 +0200
Subject: [PATCH] x86: move i386 and x86_64 Kconfig files to x86 directory

After a small change in kconfig Makefile we could
move all x86 Kconfig files to x86 directory.

Quoted 13 lines
---
 arch/{i386 => x86}/Kconfig.cpu              |    0
 arch/{i386 => x86}/Kconfig.debug            |    0
 arch/{i386/Kconfig => x86/Kconfig.i386}     |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64} |    2 +-
 arch/x86_64/Kconfig.debug                   |  119 ---------------------------
 scripts/kconfig/Makefile                    |    7 ++-
 6 files changed, 9 insertions(+), 123 deletions(-)
 rename arch/{i386 => x86}/Kconfig.cpu (100%)
 rename arch/{i386 => x86}/Kconfig.debug (100%)
 rename arch/{i386/Kconfig => x86/Kconfig.i386} (99%)
 rename arch/{x86_64/Kconfig => x86/Kconfig.x86_64} (99%) <------<
 delete mode 100644 arch/x86_64/Kconfig.debug                    |
Quoted 4 lines
                                                                   |
arch/i386/Kconfig.debug will be arch/x86/Kconfig.debug             |
                                                                   |
in it, EARLY_PRINTK will depend on X86_32                          |
Quoted 7 lines
                                                                     |

but EARLY_PRINTK for x86_64 is here ------------------------------- ^

so we didn't lose it. However, they should live in the same place so that confusion like this does not continue.

You can make a patch. or I can. or Sam can. or someone else can...

in PATCH 3/5 that Sam sent out.

Quoted 1 line

From 16b853f53463e43bfce341965ac10a78a3755a14 Mon Sep 17 00:00:00 2001

From: Randy Dunlap <[email protected]>
Date: Wed, 24 Oct 2007 15:50:43 -0700
Subject: [PATCH] x86: unification of i386 and x86_64 Kconfig.debug

Adding proper dependencies so the two Kconfig.debug files are now identical.

---
 arch/i386/Kconfig.debug             |   51 ++++++++++++++++++++++++++++-------
 arch/x86_64/Kconfig                 |    4 ---
 arch/{i386 => x86_64}/Kconfig.debug |   51 ++++++++++++++++++++++++++++-------
 3 files changed, 82 insertions(+), 24 deletions(-)
 copy arch/{i386 => x86_64}/Kconfig.debug (65%)

...

arch/x86_64/Kconfig +0 -4
index 308970a..1bc0268 100644
@@ -97,10 +97,6 @@ config X86_CMPXCHG
       bool
       default y
 
-config EARLY_PRINTK
-       bool
-       default y
-
 config GENERIC_ISA_DMA
       bool
       default y
Quoted 8 lines

but
in git

http://git.kernel.org/?p=linux/kernel/git/sam/x86.git;a=commitdiff;h=d013a27cb79a01b324f93adb275162c244cca2de

doesn't include that removing..

interesting.

Oh, OK. We'll get it fixed (if it needs fixing).

---
~Randy

#16 lore raw

Re: [PATCH 5/6] x86: move i386 and x86_64 Kconfig files to x86 directory

Quoted 11 lines · Sam Ravnborg
Quoted 7 lines

but
in git

http://git.kernel.org/?p=linux/kernel/git/sam/x86.git;a=commitdiff;h=d013a27cb79a01b324f93adb275162c244cca2de

doesn't include that removing..

That's the bug Kay noticed.
It should not have been removed so I fixedit and pushed out a new change. Again - please see reply to Kay and read the [GIT PULL] mail.

Good. that compiles without problem on x86_64.

BTW:
why not using Kconfig.x86_32 instead of Kconfig.i386?

YH

YH

#17 lore raw

Re: [PATCH 5/6] x86: move i386 and x86_64 Kconfig files to x86 directory

Quoted 3 lines

BTW:
why not using Kconfig.x86_32 instead of Kconfig.i386?

See scripts/kconfig/Makefile:
Here we use (in the x86 case):
Kconfig := arch/$(SRCARCH)/Kconfig.$(ARCH)

So the "i386" comes from ARCH equals to i386.

The advantage is that the patch to kconfig
is generic so other arch's can use SRCARCH if they like without having a hardcoded list in the kconfig Makefile.

Sam

#18 lore raw

PATCH 6/6 x86: kill the old i386 and x86_64 directories

In reply to Sam Ravnborg
Quoted 1 line

From c54efdb8c66e1850be60e2320a24c96957c87372 Mon Sep 17 00:00:00 2001

From: Sam Ravnborg <[email protected]>
Date: Thu, 25 Oct 2007 21:06:56 +0200
Subject: [PATCH] x86: kill the old i386 and x86_64 directories

The last remaining bits were two .gitignore files. Deleting them and we have no more use of the directories.

git will most likely not delete the directories for you, so this is a thing to do manually (or create a fresh clone).

---
 arch/i386/.gitignore   |    1 -
 arch/x86_64/.gitignore |    1 -
 2 files changed, 0 insertions(+), 2 deletions(-)
 delete mode 100644 arch/i386/.gitignore
 delete mode 100644 arch/x86_64/.gitignore
arch/i386/.gitignore deleted +0 -1
deleted file mode 100644
index 36ef4c3..0000000
@@ -1 +0,0 @@
-boot
arch/x86_64/.gitignore deleted +0 -1
deleted file mode 100644
index 36ef4c3..0000000
@@ -1 +0,0 @@
-boot
Signature · 1 line
1.5.3.4.1157.g0e74-dirty
#19 lore raw
In reply to Sam Ravnborg
Quoted 19 lines · Sam Ravnborg

This series kill the old i386 and x86_64 directories. The relevant files are moved and adapted and Kconfig.debug was consolidated (thanks to Randy).

I had to modify both the top-lvel Makefile and the kconfig Makefile to accomplish this. It was done in such a way that it is trivial for other archs to use the same mechanism should they have the need.

To solve the defconfig issue (i386 and x86_64 cannot share one) the arch/x86/configs/ directory were introduced. This has been used by other archs for some time now but x86 had not had the need until now.

The Kconfig files could be consolidated much more - I only did the minimal changes to make it work in the new place.

Total diffstat (in git format):

Quoted 17 lines
 Makefile                                           |    7 ++-
 arch/i386/.gitignore                               |    1 -
 arch/{i386 => x86}/Kconfig.cpu                     |    0 
 arch/{i386 => x86}/Kconfig.debug                   |   51 +++++++++++++---
 arch/{i386/Kconfig => x86/Kconfig.i386}            |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64}        |    6 +--
 arch/x86/Makefile                                  |   16 +++++
 arch/{i386/Makefile => x86/Makefile_32}            |    7 +--
 arch/{i386/Makefile.cpu => x86/Makefile_32.cpu}    |    0 
 arch/{x86_64/Makefile => x86/Makefile_64}          |    5 +-
 .../{i386/defconfig => x86/configs/i386_defconfig} |    0 
 .../defconfig => x86/configs/x86_64_defconfig}     |    0 
 arch/x86_64/.gitignore                             |    1 -
 arch/x86_64/Kconfig.debug                          |   61 --------------------
 scripts/kconfig/Makefile                           |   35 +++++++-----
 15 files changed, 89 insertions(+), 105 deletions(-)

By the way I consider this -rc1 material.
Because:
1) It sort of finishes the initial merge
2) Any breakage should be easy to trigger (build breakage) and easy to fix.

It is 1) that make me say this is -rc1 materail,
and 2) that say that this is an acceptable 'breaking the rules' patch serie.

Sam

#20 lore raw
Quoted 38 lines · Sam Ravnborg
Quoted 19 lines · Sam Ravnborg

This series kill the old i386 and x86_64 directories. The relevant files are moved and adapted and Kconfig.debug was consolidated (thanks to Randy).

I had to modify both the top-lvel Makefile and the kconfig Makefile to accomplish this. It was done in such a way that it is trivial for other archs to use the same mechanism should they have the need.

To solve the defconfig issue (i386 and x86_64 cannot share one) the arch/x86/configs/ directory were introduced. This has been used by other archs for some time now but x86 had not had the need until now.

The Kconfig files could be consolidated much more - I only did the minimal changes to make it work in the new place.

Total diffstat (in git format):

Quoted 17 lines
 Makefile                                           |    7 ++-
 arch/i386/.gitignore                               |    1 -
 arch/{i386 => x86}/Kconfig.cpu                     |    0
 arch/{i386 => x86}/Kconfig.debug                   |   51 +++++++++++++---
 arch/{i386/Kconfig => x86/Kconfig.i386}            |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64}        |    6 +--
 arch/x86/Makefile                                  |   16 +++++
 arch/{i386/Makefile => x86/Makefile_32}            |    7 +--
 arch/{i386/Makefile.cpu => x86/Makefile_32.cpu}    |    0
 arch/{x86_64/Makefile => x86/Makefile_64}          |    5 +-
 .../{i386/defconfig => x86/configs/i386_defconfig} |    0
 .../defconfig => x86/configs/x86_64_defconfig}     |    0
 arch/x86_64/.gitignore                             |    1 -
 arch/x86_64/Kconfig.debug                          |   61 --------------------
 scripts/kconfig/Makefile                           |   35 +++++++-----
 15 files changed, 89 insertions(+), 105 deletions(-)
Quoted 7 lines

By the way I consider this -rc1 material.
Because:
1) It sort of finishes the initial merge
2) Any breakage should be easy to trigger (build breakage) and easy to fix.

It is 1) that make me say this is -rc1 materail,
and 2) that say that this is an acceptable 'breaking the rules' patch serie.

Hey Sam,
I get this after a simple pull from your tree and a: make clean; make:
LD init/built-in.o
LD .tmp_vmlinux1
arch/x86/kernel/head_64.o: In function `early_idt_handler':
(.text.head+0x1e5): undefined reference to early_printk' arch/x86/kernel/head64.o: In function x86_64_start_kernel':
head64.c:(.init.text+0xa8): undefined reference to early_printk' arch/x86/kernel/built-in.o: In function early_panic':
(.text+0x9c07): undefined reference to early_printk' arch/x86/mm/built-in.o: In function init_memory_mapping':
(.init.text+0xc0a): undefined reference to `early_printk'
make: *** [.tmp_vmlinux1] Error 1

Cheers,
Kay

#21 lore raw
Quoted 7 lines · Kay Sievers
Quoted 6 lines

Because:
1) It sort of finishes the initial merge
2) Any breakage should be easy to trigger (build breakage) and easy to fix.

It is 1) that make me say this is -rc1 materail,
and 2) that say that this is an acceptable 'breaking the rules' patch serie.

Quoted 13 lines

Hey Sam,
I get this after a simple pull from your tree and a: make clean; make:
LD init/built-in.o
LD .tmp_vmlinux1
arch/x86/kernel/head_64.o: In function `early_idt_handler':
(.text.head+0x1e5): undefined reference to early_printk' arch/x86/kernel/head64.o: In function x86_64_start_kernel':
head64.c:(.init.text+0xa8): undefined reference to early_printk' arch/x86/kernel/built-in.o: In function early_panic':
(.text+0x9c07): undefined reference to early_printk' arch/x86/mm/built-in.o: In function init_memory_mapping':
(.init.text+0xc0a): undefined reference to `early_printk'
make: *** [.tmp_vmlinux1] Error 1

I think this is my changes to the Kconfig.debug path I received from Randy.

Checking....
Yup - reverting my change bring back EARLY_PRINTK wich is always required on x86_64.

I will redo the series - and build test a bit more. Thanks.

Sam

#22 lore raw
In reply to Sam Ravnborg

Sam,

Quoted 9 lines · Sam Ravnborg

This series kill the old i386 and x86_64 directories. The relevant files are moved and adapted and Kconfig.debug was consolidated (thanks to Randy).

I had to modify both the top-lvel Makefile and the kconfig Makefile to accomplish this. It was done in such a way that it is trivial for other archs to use the same mechanism should they have the need.

Quoted 7 lines

To solve the defconfig issue (i386 and x86_64 cannot share one) the arch/x86/configs/ directory were introduced. This has been used by other archs for some time now but x86 had not had the need until now.

The Kconfig files could be consolidated much more - I only did the minimal changes to make it work in the new place.

Thanks for doing this.

I think the last remaining bit to cleanup is the symlink from arch/x86/boot/bzImage. Now that the old directories are gone it does not make much sense to keep them alive. Andrew will survive it :)

Please send it Linus wards and feel free to add my Acked-by to all of them.

Thanks,

tglx

#23 lore raw

Hi Linus.

This patch serie kill the old i386 and x86_64 directories. Introducing a few trivial changes in top-level Makefile and kconfig Makefile allows us to move all files to arch/x86/ where they belong.

Kay Sievers hit a bug in the first patch-set - this is now fixed and the updated patch set is uploaded to my x86.git tree.
Build tested on both i386 and x86_64.
I test builded a few other archs just to check that I did not break them.

Shortlog:

Randy Dunlap (1):
x86: unification of i386 and x86_64 Kconfig.debug

Sam Ravnborg (5):
x86: move i386 and x86_64 Makefiles to arch/x86
x86: move defconfig files for i386 and x86_64 to x86
kconfig: small code refactoring in kconfig Makefile
x86: move i386 and x86_64 Kconfig files to x86 directory
x86: kill the old i386 and x86_64 directories

diffstat:

 Makefile                                           |    7 ++-
 arch/i386/.gitignore                               |    1 -
 arch/{i386 => x86}/Kconfig.cpu                     |    0 
 arch/{i386 => x86}/Kconfig.debug                   |   51 +++++++++++++---
 arch/{i386/Kconfig => x86/Kconfig.i386}            |    4 +-
 arch/{x86_64/Kconfig => x86/Kconfig.x86_64}        |    2 +-
 arch/x86/Makefile                                  |   16 +++++
 arch/{i386/Makefile => x86/Makefile_32}            |    7 +--
 arch/{i386/Makefile.cpu => x86/Makefile_32.cpu}    |    0 
 arch/{x86_64/Makefile => x86/Makefile_64}          |    5 +-
 .../{i386/defconfig => x86/configs/i386_defconfig} |    0 
 .../defconfig => x86/configs/x86_64_defconfig}     |    0 
 arch/x86_64/.gitignore                             |    1 -
 arch/x86_64/Kconfig.debug                          |   61 --------------------
 scripts/kconfig/Makefile                           |   35 +++++++-----
 15 files changed, 89 insertions(+), 101 deletions(-)

A nice patch serie that deletes more lines than it adds.

Under normal circumstances I would not send this to you after the merge window but this serie give a good hint to the casual reader that something changed now the directories are gone. So they do not ask - why are so many files missing. Now they will hunt for the new location.

Thomas wrote:

Quoted 9 lines · Thomas Gleixner

Thanks for doing this.

I think the last remaining bit to cleanup is the symlink from arch/x86/boot/bzImage. Now that the old directories are gone it does not make much sense to keep them alive. Andrew will survive it :)

Please send it Linus wards and feel free to add my Acked-by to all of them.

I did not amend the serie to add his acked-by - but just kept it in this mail.

Please pull from:

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


	Sam
#24 lore raw
In reply to Thomas Gleixner
Quoted 4 lines · Thomas Gleixner

I think the last remaining bit to cleanup is the symlink from arch/x86/boot/bzImage. Now that the old directories are gone it does not make much sense to keep them alive. Andrew will survive it :)

It is not just Andrew I'm afraid.
We got a Debian bug-report too when we did not have the symlink and I asume this is true for several others.
We should let it stay in 2.6.24 and remove the symlink for 2.6.25 IMO.

Sam

#25 lore raw
Quoted 10 lines · On Fri, 26 Oct 2007 08:23:36 +0200 Sam Ravnborg <[email protected]> wrote:
Quoted 4 lines · Thomas Gleixner

I think the last remaining bit to cleanup is the symlink from arch/x86/boot/bzImage. Now that the old directories are gone it does not make much sense to keep them alive. Andrew will survive it :)

It is not just Andrew I'm afraid.
We got a Debian bug-report too when we did not have the symlink and I asume this is true for several others.
We should let it stay in 2.6.24 and remove the symlink for 2.6.25 IMO.

I would put it on the list and leave it for a couple of years so that people using old distros have all upgraded at that point. Adrian will remember to delete it if its on the list to go ....

#26 lore raw
In reply to Sam Ravnborg
Quoted 10 lines · On Fri, 26 Oct 2007 08:23:36 +0200 Sam Ravnborg <[email protected]> wrote:
Quoted 4 lines · Thomas Gleixner

I think the last remaining bit to cleanup is the symlink from arch/x86/boot/bzImage. Now that the old directories are gone it does not make much sense to keep them alive. Andrew will survive it :)

It is not just Andrew I'm afraid.
We got a Debian bug-report too when we did not have the symlink and I asume this is true for several others.
We should let it stay in 2.6.24 and remove the symlink for 2.6.25 IMO.

that's the worst of all things to do... either make a change in ONE go, when you do all the changes anyway (users will remmeber 2.6.24 was the unification kernel, but 2.6.25 breaking stuff will be a total surprise)... or keep them around forever. As long as it works, nobody will change the scripts.