Skip to content

Commit

Permalink
x86, um: get rid of arch/um/Kconfig.arch
Browse files Browse the repository at this point in the history
Teach scripts/kconfig/Makefile and top-level Makefile that arch/*/Makefile
is allowed to say Kconfig := <whatever I want instead of arch/blah/Kconfig>.
Rewrite arch/um/Kconfig and arch/um/Kconfig.<subarch> so that the latter
would be top-level one (and include the pieces of the former).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
  • Loading branch information
Al Viro authored and H. Peter Anvin committed Oct 23, 2008
1 parent ec82c32 commit 61bee20
Show file tree
Hide file tree
Showing 7 changed files with 136 additions and 133 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ ifeq ($(config-targets),1)
# KBUILD_DEFCONFIG may point out an alternative default configuration
# used for 'make defconfig'
include $(srctree)/arch/$(SRCARCH)/Makefile
export KBUILD_DEFCONFIG
export KBUILD_DEFCONFIG KBUILD_KCONFIG

config %config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux include/config
Expand Down
77 changes: 77 additions & 0 deletions arch/um/Kconfig.common
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
config DEFCONFIG_LIST
string
option defconfig_list
default "arch/$ARCH/defconfig"

# UML uses the generic IRQ subsystem
config GENERIC_HARDIRQS
bool
default y

config UML
bool
default y

config MMU
bool
default y

config NO_IOMEM
def_bool y

mainmenu "Linux/Usermode Kernel Configuration"

config ISA
bool

config SBUS
bool

config PCI
bool

config PCMCIA
bool

# Yet to do!
config TRACE_IRQFLAGS_SUPPORT
bool
default n

config LOCKDEP_SUPPORT
bool
default y

config STACKTRACE_SUPPORT
bool
default n

config GENERIC_CALIBRATE_DELAY
bool
default y

config GENERIC_BUG
bool
default y
depends on BUG

config GENERIC_TIME
bool
default y

config GENERIC_CLOCKEVENTS
bool
default y

# Used in kernel/irq/manage.c and include/linux/irq.h
config IRQ_RELEASE_METHOD
bool
default y

config HZ
int
default 100

config SUBARCH
string
option env="SUBARCH"
42 changes: 42 additions & 0 deletions arch/um/Kconfig.rest
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
source "init/Kconfig"

source "kernel/Kconfig.freezer"

source "drivers/block/Kconfig"

source "arch/um/Kconfig.char"

source "drivers/base/Kconfig"

source "net/Kconfig"

source "arch/um/Kconfig.net"

source "drivers/net/Kconfig"

source "drivers/connector/Kconfig"

source "fs/Kconfig"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

source "drivers/scsi/Kconfig"

source "drivers/md/Kconfig"

if BROKEN
source "drivers/mtd/Kconfig"
endif

source "drivers/leds/Kconfig"

#This is just to shut up some Kconfig warnings, so no prompt.
config INPUT
bool
default n

source "arch/um/Kconfig.debug"
126 changes: 0 additions & 126 deletions arch/um/Kconfig → arch/um/Kconfig.um
Original file line number Diff line number Diff line change
@@ -1,79 +1,3 @@
config DEFCONFIG_LIST
string
option defconfig_list
default "arch/$ARCH/defconfig"

# UML uses the generic IRQ subsystem
config GENERIC_HARDIRQS
bool
default y

config UML
bool
default y

config MMU
bool
default y

config NO_IOMEM
def_bool y

mainmenu "Linux/Usermode Kernel Configuration"

config ISA
bool

config SBUS
bool

config PCI
bool

config PCMCIA
bool

# Yet to do!
config TRACE_IRQFLAGS_SUPPORT
bool
default n

config LOCKDEP_SUPPORT
bool
default y

config STACKTRACE_SUPPORT
bool
default n

config GENERIC_CALIBRATE_DELAY
bool
default y

config GENERIC_BUG
bool
default y
depends on BUG

config GENERIC_TIME
bool
default y

config GENERIC_CLOCKEVENTS
bool
default y

# Used in kernel/irq/manage.c and include/linux/irq.h
config IRQ_RELEASE_METHOD
bool
default y

config HZ
int
default 100

menu "UML-specific options"

config STATIC_LINK
bool "Force a static link"
default n
Expand All @@ -85,11 +9,6 @@ config STATIC_LINK
Additionally, this option enables using higher memory spaces (up to
2.75G) for UML.

config SUBARCH
string
option env="SUBARCH"

source "arch/um/Kconfig.arch"
source "mm/Kconfig"
source "kernel/time/Kconfig"

Expand Down Expand Up @@ -228,48 +147,3 @@ config KERNEL_STACK_ORDER
This option determines the size of UML kernel stacks. They will
be 1 << order pages. The default is OK unless you're running Valgrind
on UML, in which case, set this to 3.

endmenu

source "init/Kconfig"

source "kernel/Kconfig.freezer"

source "drivers/block/Kconfig"

source "arch/um/Kconfig.char"

source "drivers/base/Kconfig"

source "net/Kconfig"

source "arch/um/Kconfig.net"

source "drivers/net/Kconfig"

source "drivers/connector/Kconfig"

source "fs/Kconfig"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

source "drivers/scsi/Kconfig"

source "drivers/md/Kconfig"

if BROKEN
source "drivers/mtd/Kconfig"
endif

source "drivers/leds/Kconfig"

#This is just to shut up some Kconfig warnings, so no prompt.
config INPUT
bool
default n

source "arch/um/Kconfig.debug"
10 changes: 10 additions & 0 deletions arch/um/Kconfig.x86
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
source "arch/um/Kconfig.common"

menu "UML-specific options"

menu "Host processor type and features"

source "arch/x86/Kconfig.cpu"
Expand Down Expand Up @@ -44,3 +48,9 @@ config SMP_BROKEN

config GENERIC_HWEIGHT
def_bool y

source "arch/um/Kconfig.um"

endmenu

source "arch/um/Kconfig.rest"
8 changes: 2 additions & 6 deletions arch/um/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,7 @@ define archhelp
echo ' find in the kernel root.'
endef

ifneq ($(KBUILD_SRC),)
$(shell mkdir -p $(ARCH_DIR) && ln -fsn $(srctree)/$(ARCH_DIR)/Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
else
$(shell ln -fsn Kconfig.$(HEADER_ARCH) $(ARCH_DIR)/Kconfig.arch)
endif
KBUILD_KCONFIG := arch/um/Kconfig.$(HEADER_ARCH)

archprepare: $(ARCH_SYMLINKS) $(ARCH_DIR)/include/shared/user_constants.h
prepare: $(ARCH_DIR)/include/shared/kern_constants.h
Expand Down Expand Up @@ -128,7 +124,7 @@ endef
# TT or skas makefiles and don't clean skas_ptregs.h.
CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/shared/uml-config.h \
$(ARCH_DIR)/include/shared/user_constants.h \
$(ARCH_DIR)/include/shared/kern_constants.h $(ARCH_DIR)/Kconfig.arch
$(ARCH_DIR)/include/shared/kern_constants.h

MRPROPER_FILES += $(ARCH_SYMLINKS)

Expand Down
4 changes: 4 additions & 0 deletions scripts/kconfig/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@

PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config

ifdef KBUILD_KCONFIG
Kconfig := $(KBUILD_KCONFIG)
else
Kconfig := arch/$(SRCARCH)/Kconfig
endif

xconfig: $(obj)/qconf
$< $(Kconfig)
Expand Down

0 comments on commit 61bee20

Please sign in to comment.