diff options
Diffstat (limited to 'arch/um/Makefile')
-rw-r--r-- | arch/um/Makefile | 35 |
1 files changed, 11 insertions, 24 deletions
diff --git a/arch/um/Makefile b/arch/um/Makefile index 0666729eb976..ab22fdeedf29 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # This file is included by the global makefile so that you can add your own | 2 | # This file is included by the global makefile so that you can add your own |
3 | # architecture-specific flags and dependencies. | 3 | # architecture-specific flags and dependencies. |
4 | # | 4 | # |
5 | # Copyright (C) 2002 Jeff Dike (jdike@karaya.com) | 5 | # Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
6 | # Licensed under the GPL | 6 | # Licensed under the GPL |
7 | # | 7 | # |
8 | 8 | ||
@@ -31,18 +31,9 @@ SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),include/asm-um/$(header)) | |||
31 | ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \ | 31 | ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \ |
32 | $(SYMLINK_HEADERS) $(ARCH_DIR)/include/uml-config.h | 32 | $(SYMLINK_HEADERS) $(ARCH_DIR)/include/uml-config.h |
33 | 33 | ||
34 | um-modes-$(CONFIG_MODE_TT) += tt | 34 | MODE_INCLUDE += -I$(srctree)/$(ARCH_DIR)/include/skas |
35 | um-modes-$(CONFIG_MODE_SKAS) += skas | ||
36 | 35 | ||
37 | MODE_INCLUDE += $(foreach mode,$(um-modes-y),\ | 36 | include $(srctree)/$(ARCH_DIR)/Makefile-skas |
38 | -I$(srctree)/$(ARCH_DIR)/include/$(mode)) | ||
39 | |||
40 | MAKEFILES-INCL += $(foreach mode,$(um-modes-y),\ | ||
41 | $(srctree)/$(ARCH_DIR)/Makefile-$(mode)) | ||
42 | |||
43 | ifneq ($(MAKEFILES-INCL),) | ||
44 | include $(MAKEFILES-INCL) | ||
45 | endif | ||
46 | 37 | ||
47 | ARCH_INCLUDE := -I$(ARCH_DIR)/include | 38 | ARCH_INCLUDE := -I$(ARCH_DIR)/include |
48 | ifneq ($(KBUILD_SRC),) | 39 | ifneq ($(KBUILD_SRC),) |
@@ -60,7 +51,8 @@ SYS_DIR := $(ARCH_DIR)/include/sysdep-$(SUBARCH) | |||
60 | 51 | ||
61 | CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \ | 52 | CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \ |
62 | $(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap \ | 53 | $(ARCH_INCLUDE) $(MODE_INCLUDE) -Dvmap=kernel_vmap \ |
63 | -Din6addr_loopback=kernel_in6addr_loopback | 54 | -Din6addr_loopback=kernel_in6addr_loopback \ |
55 | -Din6addr_any=kernel_in6addr_any | ||
64 | 56 | ||
65 | AFLAGS += $(ARCH_INCLUDE) | 57 | AFLAGS += $(ARCH_INCLUDE) |
66 | 58 | ||
@@ -88,9 +80,8 @@ CFLAGS += $(call cc-option,-fno-unit-at-a-time,) | |||
88 | # included; the values here are meaningless | 80 | # included; the values here are meaningless |
89 | 81 | ||
90 | CONFIG_NEST_LEVEL ?= 0 | 82 | CONFIG_NEST_LEVEL ?= 0 |
91 | CONFIG_KERNEL_HALF_GIGS ?= 0 | ||
92 | 83 | ||
93 | SIZE = (($(CONFIG_NEST_LEVEL) + $(CONFIG_KERNEL_HALF_GIGS)) * 0x20000000) | 84 | SIZE = ($(CONFIG_NEST_LEVEL) * 0x20000000) |
94 | 85 | ||
95 | PHONY += linux | 86 | PHONY += linux |
96 | 87 | ||
@@ -123,7 +114,6 @@ CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) | |||
123 | $(call cc-option, -fno-stack-protector,) \ | 114 | $(call cc-option, -fno-stack-protector,) \ |
124 | $(call cc-option, -fno-stack-protector-all,) | 115 | $(call cc-option, -fno-stack-protector-all,) |
125 | 116 | ||
126 | CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT | ||
127 | CONFIG_KERNEL_STACK_ORDER ?= 2 | 117 | CONFIG_KERNEL_STACK_ORDER ?= 2 |
128 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) | 118 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) |
129 | 119 | ||
@@ -131,13 +121,10 @@ ifndef START | |||
131 | START = $(shell echo $$[ $(TOP_ADDR) - $(SIZE) ] ) | 121 | START = $(shell echo $$[ $(TOP_ADDR) - $(SIZE) ] ) |
132 | endif | 122 | endif |
133 | 123 | ||
134 | CPPFLAGS_vmlinux.lds = -U$(SUBARCH) \ | 124 | CPPFLAGS_vmlinux.lds = -U$(SUBARCH) -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ |
135 | -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ | 125 | -DELF_FORMAT="$(ELF_FORMAT)" -DKERNEL_STACK_SIZE=$(STACK_SIZE) |
136 | -DELF_FORMAT="$(ELF_FORMAT)" $(CPP_MODE-y) \ | ||
137 | -DKERNEL_STACK_SIZE=$(STACK_SIZE) \ | ||
138 | -DUNMAP_PATH=arch/um/sys-$(SUBARCH)/unmap.o | ||
139 | 126 | ||
140 | #The wrappers will select whether using "malloc" or the kernel allocator. | 127 | # The wrappers will select whether using "malloc" or the kernel allocator. |
141 | LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc | 128 | LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc |
142 | 129 | ||
143 | CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) | 130 | CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) |
@@ -150,8 +137,8 @@ define cmd_vmlinux__ | |||
150 | FORCE ,$^) ; rm -f linux | 137 | FORCE ,$^) ; rm -f linux |
151 | endef | 138 | endef |
152 | 139 | ||
153 | #When cleaning we don't include .config, so we don't include | 140 | # When cleaning we don't include .config, so we don't include |
154 | #TT or skas makefiles and don't clean skas_ptregs.h. | 141 | # TT or skas makefiles and don't clean skas_ptregs.h. |
155 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ | 142 | CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ |
156 | $(ARCH_DIR)/include/user_constants.h \ | 143 | $(ARCH_DIR)/include/user_constants.h \ |
157 | $(ARCH_DIR)/include/kern_constants.h $(ARCH_DIR)/Kconfig.arch | 144 | $(ARCH_DIR)/include/kern_constants.h $(ARCH_DIR)/Kconfig.arch |