[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1377073172-3662-3-git-send-email-richard@nod.at>
Date: Wed, 21 Aug 2013 10:19:26 +0200
From: Richard Weinberger <richard@....at>
To: linux-arch@...r.kernel.org
Cc: mmarek@...e.cz, geert@...ux-m68k.org, ralf@...ux-mips.org,
lethal@...ux-sh.org, jdike@...toit.com, gxt@...c.pku.edu.cn,
tglx@...utronix.de, mingo@...hat.com, hpa@...or.com,
x86@...nel.org, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-m68k@...ts.linux-m68k.org,
linux-mips@...ux-mips.org, linux-sh@...r.kernel.org,
user-mode-linux-devel@...ts.sourceforge.net,
Richard Weinberger <richard@....at>,
Ramkumar Ramachandra <artagnon@...il.com>
Subject: [PATCH 2/8] um: Do not use SUBARCH
>From now on UML does no longer depend on SUBARCH and will
never silently change CONFIG_64BIT.
"make defconfig ARCH=um" produces now a .config with is suitable
for your host arch.
"make i386_defconfig ARCH=um" replaces "make defconfig ARCH=um SUBARCH=i386"
"and make x86_64_defconfig ARCH=um" replaces "make defconfig ARCH=um SUBARCH=x86_64"
Finally a "make ARCH=um" will produce an UML as described in your .config and you
don't have to worry about setting the correct SUBARCH.
This patch is based on: https://lkml.org/lkml/2013/7/4/396
Cc: Ramkumar Ramachandra <artagnon@...il.com>
Signed-off-by: Richard Weinberger <richard@....at>
---
arch/um/Kconfig.common | 4 ----
arch/um/Makefile | 21 +++++++++++----------
arch/x86/Makefile.um | 2 +-
arch/x86/um/Kconfig | 6 +++---
4 files changed, 15 insertions(+), 18 deletions(-)
diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common
index bceee66..a7ef0b4 100644
--- a/arch/um/Kconfig.common
+++ b/arch/um/Kconfig.common
@@ -58,7 +58,3 @@ config GENERIC_BUG
config HZ
int
default 100
-
-config SUBARCH
- string
- option env="SUBARCH"
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 133f7de..5bc7892 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -8,6 +8,8 @@
ARCH_DIR := arch/um
OS := $(shell uname -s)
+OS_ARCH := $(shell uname -m)
+
# We require bash because the vmlinux link and loader script cpp use bash
# features.
SHELL := /bin/bash
@@ -20,15 +22,14 @@ core-y += $(ARCH_DIR)/kernel/ \
MODE_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include/shared/skas
-HEADER_ARCH := $(SUBARCH)
-
-# Additional ARCH settings for x86
-ifeq ($(SUBARCH),i386)
- HEADER_ARCH := x86
-endif
-ifeq ($(SUBARCH),x86_64)
- HEADER_ARCH := x86
- KBUILD_CFLAGS += -mcmodel=large
+# Currently we support only i386 and x86_64, if you port UML to another arch
+# add another if branch...
+ifeq ($(OS_ARCH),x86_64)
+ HEADER_ARCH := x86
+ KBUILD_DEFCONFIG := x86_64_defconfig
+else
+ HEADER_ARCH := x86
+ KBUILD_DEFCONFIG := i386_defconfig
endif
HOST_DIR := arch/$(HEADER_ARCH)
@@ -155,4 +156,4 @@ endef
include/generated/user_constants.h: $(HOST_DIR)/um/user-offsets.s
$(call filechk,gen-asm-offsets)
-export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS DEV_NULL_PATH
+export USER_CFLAGS CFLAGS_NO_HARDENING OS DEV_NULL_PATH
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index 36b62bc..91d088c 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -40,7 +40,7 @@ else
START := 0x60000000
-KBUILD_CFLAGS += -fno-builtin -m64
+KBUILD_CFLAGS += -fno-builtin -m64 -mcmodel=large
CHECKFLAGS += -m64 -D__x86_64__
KBUILD_AFLAGS += -m64
diff --git a/arch/x86/um/Kconfig b/arch/x86/um/Kconfig
index 14ef8d1..bb6df67 100644
--- a/arch/x86/um/Kconfig
+++ b/arch/x86/um/Kconfig
@@ -1,4 +1,4 @@
-mainmenu "User Mode Linux/$SUBARCH $KERNELVERSION Kernel Configuration"
+mainmenu "User Mode Linux $KERNELVERSION Kernel Configuration"
source "arch/um/Kconfig.common"
@@ -15,8 +15,8 @@ config UML_X86
select GENERIC_FIND_FIRST_BIT
config 64BIT
- bool "64-bit kernel" if SUBARCH = "x86"
- default SUBARCH != "i386"
+ bool "64-bit kernel"
+ default n
config X86_32
def_bool !64BIT
--
1.8.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists