diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2005-10-30 15:00:07 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 17:37:16 -0800 |
commit | 96d55b882b85b26711a06d8fb2c901df9d52a48b (patch) | |
tree | 309b8993ad321c050411a8dd74729180488a5dcc /arch/um | |
parent | f3ac9fbf7a0b9493377ee88d9b5b2933ff3f7ade (diff) | |
download | linux-96d55b882b85b26711a06d8fb2c901df9d52a48b.tar.bz2 |
[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>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/Kconfig | 6 | ||||
-rw-r--r-- | arch/um/Makefile-i386 | 10 |
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 684e1f8b2755..ceaf6e4d2855 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -40,6 +40,12 @@ config IRQ_RELEASE_METHOD bool default y +menu "Host processor type and features" + +source "arch/i386/Kconfig.cpu" + +endmenu + menu "UML-specific options" config MODE_TT diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386 index 2ee8a2858117..4a0b375101eb 100644 --- a/arch/um/Makefile-i386 +++ b/arch/um/Makefile-i386 @@ -32,3 +32,13 @@ CFLAGS += -U__$(SUBARCH)__ -U$(SUBARCH) ifneq ($(CONFIG_GPROF),y) ARCH_CFLAGS += -DUM_FASTCALL endif + +# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y. +include $(srctree)/arch/i386/Makefile.cpu + +# prevent gcc from keeping the stack 16 byte aligned. Taken from i386. +cflags-y += $(call cc-option,-mpreferred-stack-boundary=2) + +CFLAGS += $(cflags-y) +USER_CFLAGS += $(cflags-y) + |