diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2005-10-30 18:00:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 20:37:16 -0500 |
commit | 96d55b882b85b26711a06d8fb2c901df9d52a48b (patch) | |
tree | 309b8993ad321c050411a8dd74729180488a5dcc /arch/i386/Makefile | |
parent | f3ac9fbf7a0b9493377ee88d9b5b2933ff3f7ade (diff) |
[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/i386/Makefile')
-rw-r--r-- | arch/i386/Makefile | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/arch/i386/Makefile b/arch/i386/Makefile index 09951990a622..d121ea18460f 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile | |||
@@ -34,35 +34,8 @@ CFLAGS += -pipe -msoft-float | |||
34 | # prevent gcc from keeping the stack 16 byte aligned | 34 | # prevent gcc from keeping the stack 16 byte aligned |
35 | CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2) | 35 | CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2) |
36 | 36 | ||
37 | align := $(cc-option-align) | 37 | # CPU-specific tuning. Anything which can be shared with UML should go here. |
38 | cflags-$(CONFIG_M386) += -march=i386 | 38 | include $(srctree)/arch/i386/Makefile.cpu |
39 | cflags-$(CONFIG_M486) += -march=i486 | ||
40 | cflags-$(CONFIG_M586) += -march=i586 | ||
41 | cflags-$(CONFIG_M586TSC) += -march=i586 | ||
42 | cflags-$(CONFIG_M586MMX) += $(call cc-option,-march=pentium-mmx,-march=i586) | ||
43 | cflags-$(CONFIG_M686) += -march=i686 | ||
44 | cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call cc-option,-mtune=pentium2) | ||
45 | cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call cc-option,-mtune=pentium3) | ||
46 | cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call cc-option,-mtune=pentium3) | ||
47 | cflags-$(CONFIG_MPENTIUM4) += -march=i686 $(call cc-option,-mtune=pentium4) | ||
48 | cflags-$(CONFIG_MK6) += -march=k6 | ||
49 | # Please note, that patches that add -march=athlon-xp and friends are pointless. | ||
50 | # They make zero difference whatsosever to performance at this time. | ||
51 | cflags-$(CONFIG_MK7) += $(call cc-option,-march=athlon,-march=i686 $(align)-functions=4) | ||
52 | cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,$(call cc-option,-march=athlon,-march=i686 $(align)-functions=4)) | ||
53 | cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 | ||
54 | cflags-$(CONFIG_MEFFICEON) += -march=i686 $(call cc-option,-mtune=pentium3) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 | ||
55 | cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586) | ||
56 | cflags-$(CONFIG_MWINCHIP2) += $(call cc-option,-march=winchip2,-march=i586) | ||
57 | cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586) | ||
58 | cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 | ||
59 | cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686) | ||
60 | |||
61 | # AMD Elan support | ||
62 | cflags-$(CONFIG_X86_ELAN) += -march=i486 | ||
63 | |||
64 | # Geode GX1 support | ||
65 | cflags-$(CONFIG_MGEODEGX1) += $(call cc-option,-march=pentium-mmx,-march=i486) | ||
66 | 39 | ||
67 | # -mregparm=3 works ok on gcc-3.0 and later | 40 | # -mregparm=3 works ok on gcc-3.0 and later |
68 | # | 41 | # |