2011-08-18 13:03:19 -06:00
|
|
|
core-y += arch/um/sys-x86/ arch/x86/crypto/
|
2005-04-16 16:20:36 -06:00
|
|
|
|
2011-08-18 13:06:29 -06:00
|
|
|
ifeq ($(CONFIG_X86_32),y)
|
uml: throw out CONFIG_MODE_TT
This patchset throws out tt mode, which has been non-functional for a while.
This is done in phases, interspersed with code cleanups on the affected files.
The removal is done as follows:
remove all code, config options, and files which depend on
CONFIG_MODE_TT
get rid of the CHOOSE_MODE macro, which decided whether to
call tt-mode or skas-mode code, and replace invocations with their
skas portions
replace all now-trivial procedures with their skas equivalents
There are now a bunch of now-redundant pieces of data structures, including
mode-specific pieces of the thread structure, pt_regs, and mm_context. These
are all replaced with their skas-specific contents.
As part of the ongoing style compliance project, I made a style pass over all
files that were changed. There are three such patches, one for each phase,
covering the files affected by that phase but no later ones.
I noticed that we weren't freeing the LDT state associated with a process when
it exited, so that's fixed in one of the later patches.
The last patch is a tidying patch which I've had for a while, but which caused
inexplicable crashes under tt mode. Since that is no longer a problem, this
can now go in.
This patch:
Start getting rid of tt mode support.
This patch throws out CONFIG_MODE_TT and all config options, code, and files
which depend on it.
CONFIG_MODE_SKAS is gone and everything that depends on it is included
unconditionally.
The few changed lines are in re-written Kconfig help, lines which needed
something skas-related removed from them, and a few more which weren't
strictly deletions.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 02:26:50 -06:00
|
|
|
START := 0x8048000
|
2005-04-16 16:20:36 -06:00
|
|
|
|
2005-07-14 01:33:43 -06:00
|
|
|
LDFLAGS += -m elf_i386
|
2011-08-18 13:06:19 -06:00
|
|
|
ELF_ARCH := i386
|
|
|
|
ELF_FORMAT := elf32-i386
|
2007-10-28 22:31:16 -06:00
|
|
|
CHECKFLAGS += -D__i386__
|
2005-07-14 01:33:43 -06:00
|
|
|
|
|
|
|
ifeq ("$(origin SUBARCH)", "command line")
|
|
|
|
ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
|
2007-10-14 14:21:35 -06:00
|
|
|
KBUILD_CFLAGS += $(call cc-option,-m32)
|
2007-10-15 13:59:31 -06:00
|
|
|
KBUILD_AFLAGS += $(call cc-option,-m32)
|
2005-07-14 01:33:43 -06:00
|
|
|
LINK-y += $(call cc-option,-m32)
|
|
|
|
|
2011-08-18 13:06:19 -06:00
|
|
|
export LDFLAGS
|
2005-07-14 01:33:43 -06:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
[PATCH] uml: reuse i386 cpu-specific tuning
Make UML share the underlying cpu-specific tuning done on i386.
Actually, for now many config options aren't used a lot - but that can be done
later. Also, UML relies on GCC optimization for things like memcpy and such
more than i386, so specifying the correct -march and -mtune should be enough.
Later, we may want to correct some other stuff.
For instance, since FPU context switching, for us, is done (at least
partially, i.e. between our kernelspace and userspace) by the host, we may
allow usage of FPU operations by GCC. This doesn't hold for kernelspace vs.
kernelspace, but we don't support preemption.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 16:00:07 -07:00
|
|
|
# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
|
2007-10-28 22:34:31 -06:00
|
|
|
include $(srctree)/arch/x86/Makefile_32.cpu
|
[PATCH] uml: reuse i386 cpu-specific tuning
Make UML share the underlying cpu-specific tuning done on i386.
Actually, for now many config options aren't used a lot - but that can be done
later. Also, UML relies on GCC optimization for things like memcpy and such
more than i386, so specifying the correct -march and -mtune should be enough.
Later, we may want to correct some other stuff.
For instance, since FPU context switching, for us, is done (at least
partially, i.e. between our kernelspace and userspace) by the host, we may
allow usage of FPU operations by GCC. This doesn't hold for kernelspace vs.
kernelspace, but we don't support preemption.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 16:00:07 -07:00
|
|
|
|
|
|
|
# prevent gcc from keeping the stack 16 byte aligned. Taken from i386.
|
|
|
|
cflags-y += $(call cc-option,-mpreferred-stack-boundary=2)
|
|
|
|
|
2006-06-04 03:51:49 -06:00
|
|
|
# Prevent sprintf in nfsd from being converted to strcpy and resulting in
|
|
|
|
# an unresolved reference.
|
|
|
|
cflags-y += -ffreestanding
|
|
|
|
|
2008-07-07 11:36:56 -06:00
|
|
|
# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
|
|
|
|
# a lot more stack due to the lack of sharing of stacklots. Also, gcc
|
|
|
|
# 4.3.0 needs -funit-at-a-time for extern inline functions.
|
|
|
|
KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
|
|
|
|
echo $(call cc-option,-fno-unit-at-a-time); \
|
|
|
|
else echo $(call cc-option,-funit-at-a-time); fi ;)
|
|
|
|
|
2007-10-14 14:21:35 -06:00
|
|
|
KBUILD_CFLAGS += $(cflags-y)
|
2011-08-18 13:06:29 -06:00
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
START := 0x60000000
|
|
|
|
|
|
|
|
KBUILD_CFLAGS += -fno-builtin -m64
|
|
|
|
|
|
|
|
CHECKFLAGS += -m64 -D__x86_64__
|
|
|
|
KBUILD_AFLAGS += -m64
|
|
|
|
LDFLAGS += -m elf_x86_64
|
|
|
|
KBUILD_CPPFLAGS += -m64
|
|
|
|
|
|
|
|
ELF_ARCH := i386:x86-64
|
|
|
|
ELF_FORMAT := elf64-x86-64
|
|
|
|
|
|
|
|
# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
|
|
|
|
|
|
|
|
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
|
|
|
|
LINK-y += -m64
|
|
|
|
|
|
|
|
# Do unit-at-a-time unconditionally on x86_64, following the host
|
|
|
|
KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
|
|
|
|
endif
|