summaryrefslogtreecommitdiff
path: root/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch')
-rw-r--r--packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch
new file mode 100644
index 0000000000..4b7a688313
--- /dev/null
+++ b/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch
@@ -0,0 +1,58 @@
+--- linux-2.6.11/arch/arm/Makefile.orig 2005-03-20 15:02:07.587138712 -0800
++++ linux-2.6.11/arch/arm/Makefile 2005-03-20 15:10:36.546765088 -0800
+@@ -33,6 +33,12 @@
+ AFLAGS += -mlittle-endian
+ endif
+
++ifeq ($(CONFIG_ARM_THUMB_INTERWORK),y)
++CFLAGS += -mthumb-interwork
++else
++CFLAGS += -mno-thumb-interwork
++endif
++
+ comma = ,
+
+ # This selects which instruction set is used.
+@@ -43,6 +49,8 @@
+ arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4)
+ arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4
+ arch-$(CONFIG_CPU_32v3) :=-D__LINUX_ARM_ARCH__=3 -march=armv3
++# The following overrides the CPU_32v5 setting if specified
++arch-$(CONFIG_ARCH_XSCALE) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=xscale,-march=armv5te)
+
+ # This selects how we optimise for the processor.
+ tune-$(CONFIG_CPU_ARM610) :=-mtune=arm610
+--- linux-2.6.11/arch/arm/mm/Kconfig.orig 2005-03-20 14:54:07.927058128 -0800
++++ linux-2.6.11/arch/arm/mm/Kconfig 2005-03-20 15:01:26.727350344 -0800
+@@ -366,6 +366,31 @@
+
+ If you don't know what this all is, saying Y is a safe choice.
+
++config ARM_THUMB_INTERWORK
++ bool "Support Thumb code within the kernel"
++ depends on CPU_ARM720T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_V6
++ default n
++ help
++ Say Y to compile the whole kernel with support for the interworking
++ of the 16 bit thumb instruction set and 32 bit ARM instruction set.
++
++ You only need this if some parts of the kernel will be compiled
++ as thumb code, this is not usual. It increases the total kernel
++ size by about 3%.
++
++config ARCH_XSCALE
++ bool "Use -march=xscale in preference to -march=armv5te"
++ depends on CPU_XSCALE
++ default y
++ help
++ Say yes to ask gcc to use the xscale architecture (instruction set)
++ in preference to armv5te. This allows gcc to use the extra xscale
++ instructions but means the code will not run on a standard (non-xscale)
++ armv5te. At present this makes no difference - gcc 3.4.3 does not
++ generate any xscale specific instructions - however gcc 3.4.3 does
++ generate slightly more optimal instructions if this is specified (this
++ is an error inside gcc 3.4.3 which should be fixed in 4.1.)
++
+ config CPU_BIG_ENDIAN
+ bool "Build big-endian kernel"
+ depends on ARCH_SUPPORTS_BIG_ENDIAN