summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-11-17 19:13:33 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-11-17 19:13:33 +0100
commitb47f6f464d38ad18716e4b270231812b123dcf67 (patch)
tree7f8e489174d4c24962172acf4c7c367f6c73cfc5
parent09fa85e012be73f239bb78ce267abab7a62837b1 (diff)
update kernel-header patches, update cris patch
-rw-r--r--target/foxboard/patches/cris.patch309
-rw-r--r--target/foxboard/target.mk4
-rw-r--r--toolchain/kernel-headers/patches/2.6.36/cleankernel.patch11
-rw-r--r--toolchain/kernel-headers/patches/2.6.36/etrax-header.patch75
-rw-r--r--toolchain/kernel-headers/patches/2.6.36/linux-gcc-check.patch18
-rw-r--r--toolchain/kernel-headers/patches/2.6.36/microperl.patch24
6 files changed, 257 insertions, 184 deletions
diff --git a/target/foxboard/patches/cris.patch b/target/foxboard/patches/cris.patch
index 44080f353..0fefa318c 100644
--- a/target/foxboard/patches/cris.patch
+++ b/target/foxboard/patches/cris.patch
@@ -1,6 +1,59 @@
-diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/axisflashmap.c linux-2.6.35.7/arch/cris/arch-v10/drivers/axisflashmap.c
---- linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/axisflashmap.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/arch-v10/drivers/axisflashmap.c 2010-10-14 18:50:17.226851039 +0200
+diff -Nur linux-2.6.36.orig/arch/cris/Kconfig linux-2.6.36/arch/cris/Kconfig
+--- linux-2.6.36.orig/arch/cris/Kconfig 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/Kconfig 2010-11-15 17:57:17.000000000 +0100
+@@ -177,6 +177,12 @@
+ help
+ Size of DRAM (decimal in MB) typically 2, 8 or 16.
+
++config ETRAX_MTD_SIZE
++ hex "MTD size (hex)"
++ default "0x00800000"
++ help
++ Size of MTD device typically 4 or 8 MB.
++
+ config ETRAX_VMEM_SIZE
+ int "Video memory size (dec, in MB)"
+ depends on ETRAX_ARCH_V32 && !ETRAXFS
+@@ -282,7 +288,7 @@
+ select MTD_CFI_AMDSTD
+ select MTD_JEDECPROBE if ETRAX_ARCH_V32
+ select MTD_CHAR
+- select MTD_BLOCK
++ select MTD_BLOCK_RO
+ select MTD_PARTITIONS
+ select MTD_CONCAT
+ select MTD_COMPLEX_MAPPINGS
+@@ -671,6 +677,11 @@
+
+ source "drivers/ide/Kconfig"
+
++#mysteriously part of this standard linux driver was removed from cris build! - info@crisos.org
++source "drivers/scsi/Kconfig"
++
++source "drivers/media/Kconfig"
++
+ source "drivers/net/Kconfig"
+
+ source "drivers/i2c/Kconfig"
+diff -Nur linux-2.6.36.orig/arch/cris/Makefile linux-2.6.36/arch/cris/Makefile
+--- linux-2.6.36.orig/arch/cris/Makefile 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/Makefile 2010-11-15 17:57:17.000000000 +0100
+@@ -40,10 +40,10 @@
+
+ LD = $(CROSS_COMPILE)ld -mcrislinux
+
+-OBJCOPYFLAGS := -O binary -R .note -R .comment -S
++OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
+
+ KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc)
+-KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc)
++KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe -fno-peephole2 $(inc)
+ KBUILD_CPPFLAGS += $(inc)
+
+ ifdef CONFIG_FRAME_POINTER
+diff -Nur linux-2.6.36.orig/arch/cris/arch-v10/drivers/axisflashmap.c linux-2.6.36/arch/cris/arch-v10/drivers/axisflashmap.c
+--- linux-2.6.36.orig/arch/cris/arch-v10/drivers/axisflashmap.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/arch-v10/drivers/axisflashmap.c 2010-11-15 17:57:17.000000000 +0100
@@ -113,7 +113,7 @@
/* If no partition-table was found, we use this default-set. */
@@ -146,9 +199,9 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/axisflashmap.c linux-2.
return err;
}
-diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/ds1302.c linux-2.6.35.7/arch/cris/arch-v10/drivers/ds1302.c
---- linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/ds1302.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/arch-v10/drivers/ds1302.c 2010-10-14 18:50:17.256851069 +0200
+diff -Nur linux-2.6.36.orig/arch/cris/arch-v10/drivers/ds1302.c linux-2.6.36/arch/cris/arch-v10/drivers/ds1302.c
+--- linux-2.6.36.orig/arch/cris/arch-v10/drivers/ds1302.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/arch-v10/drivers/ds1302.c 2010-11-15 17:57:17.000000000 +0100
@@ -22,6 +22,7 @@
#include <linux/smp_lock.h>
#include <linux/bcd.h>
@@ -181,10 +234,10 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/ds1302.c linux-2.6.35.7
return 0;
}
-diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.35.7/arch/cris/arch-v10/drivers/gpio.c
---- linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/gpio.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/arch-v10/drivers/gpio.c 2010-10-14 18:50:17.298091976 +0200
-@@ -21,6 +21,7 @@
+diff -Nur linux-2.6.36.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.36/arch/cris/arch-v10/drivers/gpio.c
+--- linux-2.6.36.orig/arch/cris/arch-v10/drivers/gpio.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/arch-v10/drivers/gpio.c 2010-11-15 17:57:17.000000000 +0100
+@@ -20,6 +20,7 @@
#include <linux/poll.h>
#include <linux/init.h>
#include <linux/interrupt.h>
@@ -192,7 +245,7 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.35.7/a
#include <asm/etraxgpio.h>
#include <arch/svinto.h>
-@@ -771,6 +772,10 @@
+@@ -797,6 +798,10 @@
/* main driver initialization routine, called from mem.c */
@@ -203,7 +256,7 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.35.7/a
static int __init gpio_init(void)
{
int res;
-@@ -784,6 +789,13 @@
+@@ -810,6 +815,13 @@
return res;
}
@@ -217,18 +270,18 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/drivers/gpio.c linux-2.6.35.7/a
/* Clear all leds */
#if defined (CONFIG_ETRAX_CSP0_LEDS) || defined (CONFIG_ETRAX_PA_LEDS) || defined (CONFIG_ETRAX_PB_LEDS)
CRIS_LED_NETWORK_SET(0);
-diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/lib/hw_settings.S linux-2.6.35.7/arch/cris/arch-v10/lib/hw_settings.S
---- linux-2.6.35.7.orig/arch/cris/arch-v10/lib/hw_settings.S 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/arch-v10/lib/hw_settings.S 2010-10-14 18:50:17.338092197 +0200
+diff -Nur linux-2.6.36.orig/arch/cris/arch-v10/lib/hw_settings.S linux-2.6.36/arch/cris/arch-v10/lib/hw_settings.S
+--- linux-2.6.36.orig/arch/cris/arch-v10/lib/hw_settings.S 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/arch-v10/lib/hw_settings.S 2010-11-15 17:57:17.000000000 +0100
@@ -58,3 +58,5 @@
.dword R_PORT_PB_SET
.dword PB_SET_VALUE
.dword 0 ; No more register values
+ .ascii "ACME_PART_MAGIC"
+ .dword 0xdeadc0de
-diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/mm/init.c linux-2.6.35.7/arch/cris/arch-v10/mm/init.c
---- linux-2.6.35.7.orig/arch/cris/arch-v10/mm/init.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/arch-v10/mm/init.c 2010-10-14 18:50:17.378091957 +0200
+diff -Nur linux-2.6.36.orig/arch/cris/arch-v10/mm/init.c linux-2.6.36/arch/cris/arch-v10/mm/init.c
+--- linux-2.6.36.orig/arch/cris/arch-v10/mm/init.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/arch-v10/mm/init.c 2010-11-15 17:57:17.000000000 +0100
@@ -184,6 +184,9 @@
free_area_init_node(0, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0);
@@ -239,77 +292,12 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/arch-v10/mm/init.c linux-2.6.35.7/arch/c
/* Initialize remaps of some I/O-ports. It is important that this
* is called before any driver is initialized.
-diff -Nur linux-2.6.35.7.orig/arch/cris/boot/compressed/Makefile linux-2.6.35.7/arch/cris/boot/compressed/Makefile
---- linux-2.6.35.7.orig/arch/cris/boot/compressed/Makefile 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/boot/compressed/Makefile 2010-10-14 18:50:17.418092209 +0200
-@@ -18,7 +18,7 @@
- OBJECTS-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
- OBJECTS-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
- OBJECTS= $(OBJECTS-y) $(obj)/misc.o
--OBJCOPYFLAGS = -O binary --remove-section=.bss
-+#OBJCOPYFLAGS = -O binary --remove-section=.bss
-
- quiet_cmd_image = BUILD $@
- cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
-diff -Nur linux-2.6.35.7.orig/arch/cris/boot/compressed/misc.c linux-2.6.35.7/arch/cris/boot/compressed/misc.c
---- linux-2.6.35.7.orig/arch/cris/boot/compressed/misc.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/boot/compressed/misc.c 2010-10-14 18:50:17.448101099 +0200
-@@ -106,7 +106,7 @@
-
- static void flush_window(void);
- static void error(char *m);
--static void puts(const char *);
-+static void putstr(const char *);
-
- extern char *input_data; /* lives in head.S */
-
-@@ -139,7 +139,7 @@
- }
- #endif
-
--static void puts(const char *s)
-+static void putstr(const char *s)
- {
- #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL
- while (*s) {
-@@ -233,9 +233,9 @@
-
- static void error(char *x)
- {
-- puts("\n\n");
-- puts(x);
-- puts("\n\n -- System halted\n");
-+ putstr("\n\n");
-+ putstr(x);
-+ putstr("\n\n -- System halted\n");
-
- while(1); /* Halt */
- }
-@@ -378,14 +378,14 @@
- __asm__ volatile ("move $vr,%0" : "=rm" (revision));
- if (revision < compile_rev) {
- #ifdef CONFIG_ETRAX_ARCH_V32
-- puts("You need an ETRAX FS to run Linux 2.6/crisv32\n");
-+ putstr("You need an ETRAX FS to run Linux 2.6/crisv32\n");
- #else
-- puts("You need an ETRAX 100LX to run linux 2.6\n");
-+ putstr("You need an ETRAX 100LX to run linux 2.6\n");
- #endif
- while(1);
- }
-
-- puts("Uncompressing Linux...\n");
-+ putstr("Uncompressing Linux...\n");
- gunzip();
-- puts("Done. Now booting the kernel\n");
-+ putstr("Done. Now booting the kernel\n");
- }
-diff -Nur linux-2.6.35.7.orig/arch/cris/boot/Makefile linux-2.6.35.7/arch/cris/boot/Makefile
---- linux-2.6.35.7.orig/arch/cris/boot/Makefile 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/boot/Makefile 2010-10-14 18:50:17.494356449 +0200
+diff -Nur linux-2.6.36.orig/arch/cris/boot/Makefile linux-2.6.36/arch/cris/boot/Makefile
+--- linux-2.6.36.orig/arch/cris/boot/Makefile 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/boot/Makefile 2010-11-15 17:57:17.000000000 +0100
@@ -5,7 +5,7 @@
objcopyflags-$(CONFIG_ETRAX_ARCH_V10) += -R .note -R .comment
- objcopyflags-$(CONFIG_ETRAX_ARCH_V32) += --remove-section=.bss
+ objcopyflags-$(CONFIG_ETRAX_ARCH_V32) += --remove-section=.bss --remove-section=.note.gnu.build-id
-OBJCOPYFLAGS = -O binary $(objcopyflags-y)
+#OBJCOPYFLAGS = -O binary $(objcopyflags-y)
@@ -324,63 +312,22 @@ diff -Nur linux-2.6.35.7.orig/arch/cris/boot/Makefile linux-2.6.35.7/arch/cris/b
$(obj)/zImage: $(obj)/compressed/vmlinux
@cp $< $@
-diff -Nur linux-2.6.35.7.orig/arch/cris/Kconfig linux-2.6.35.7/arch/cris/Kconfig
---- linux-2.6.35.7.orig/arch/cris/Kconfig 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/Kconfig 2010-10-14 18:50:17.535601072 +0200
-@@ -177,6 +177,12 @@
- help
- Size of DRAM (decimal in MB) typically 2, 8 or 16.
-
-+config ETRAX_MTD_SIZE
-+ hex "MTD size (hex)"
-+ default "0x00800000"
-+ help
-+ Size of MTD device typically 4 or 8 MB.
-+
- config ETRAX_VMEM_SIZE
- int "Video memory size (dec, in MB)"
- depends on ETRAX_ARCH_V32 && !ETRAXFS
-@@ -282,7 +288,7 @@
- select MTD_CFI_AMDSTD
- select MTD_JEDECPROBE if ETRAX_ARCH_V32
- select MTD_CHAR
-- select MTD_BLOCK
-+ select MTD_BLOCK_RO
- select MTD_PARTITIONS
- select MTD_CONCAT
- select MTD_COMPLEX_MAPPINGS
-@@ -671,6 +677,11 @@
-
- source "drivers/ide/Kconfig"
-
-+#mysteriously part of this standard linux driver was removed from cris build! - info@crisos.org
-+source "drivers/scsi/Kconfig"
-+
-+source "drivers/media/Kconfig"
-+
- source "drivers/net/Kconfig"
-
- source "drivers/i2c/Kconfig"
-diff -Nur linux-2.6.35.7.orig/arch/cris/Makefile linux-2.6.35.7/arch/cris/Makefile
---- linux-2.6.35.7.orig/arch/cris/Makefile 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/arch/cris/Makefile 2010-10-14 18:50:17.588101050 +0200
-@@ -40,10 +40,10 @@
-
- LD = $(CROSS_COMPILE)ld -mcrislinux
-
--OBJCOPYFLAGS := -O binary -R .note -R .comment -S
-+OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
-
- KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc)
--KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc)
-+KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe -fno-peephole2 $(inc)
- KBUILD_CPPFLAGS += $(inc)
+diff -Nur linux-2.6.36.orig/arch/cris/boot/compressed/Makefile linux-2.6.36/arch/cris/boot/compressed/Makefile
+--- linux-2.6.36.orig/arch/cris/boot/compressed/Makefile 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/boot/compressed/Makefile 2010-11-15 17:57:17.000000000 +0100
+@@ -18,7 +18,7 @@
+ OBJECTS-$(CONFIG_ETRAX_ARCH_V32) = $(obj)/head_v32.o
+ OBJECTS-$(CONFIG_ETRAX_ARCH_V10) = $(obj)/head_v10.o
+ OBJECTS= $(OBJECTS-y) $(obj)/misc.o
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
++#OBJCOPYFLAGS = -O binary --remove-section=.bss
- ifdef CONFIG_FRAME_POINTER
-diff -Nur linux-2.6.35.7.orig/drivers/net/cris/eth_v10.c linux-2.6.35.7/drivers/net/cris/eth_v10.c
---- linux-2.6.35.7.orig/drivers/net/cris/eth_v10.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/drivers/net/cris/eth_v10.c 2010-10-14 18:50:17.634351377 +0200
-@@ -1722,7 +1722,7 @@
+ quiet_cmd_image = BUILD $@
+ cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
+diff -Nur linux-2.6.36.orig/drivers/net/cris/eth_v10.c linux-2.6.36/drivers/net/cris/eth_v10.c
+--- linux-2.6.36.orig/drivers/net/cris/eth_v10.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/drivers/net/cris/eth_v10.c 2010-11-15 17:57:17.000000000 +0100
+@@ -1718,7 +1718,7 @@
static void
e100_netpoll(struct net_device* netdev)
{
@@ -389,9 +336,9 @@ diff -Nur linux-2.6.35.7.orig/drivers/net/cris/eth_v10.c linux-2.6.35.7/drivers/
}
#endif
-diff -Nur linux-2.6.35.7.orig/drivers/serial/crisv10.c linux-2.6.35.7/drivers/serial/crisv10.c
---- linux-2.6.35.7.orig/drivers/serial/crisv10.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/drivers/serial/crisv10.c 2010-10-14 18:50:17.678091999 +0200
+diff -Nur linux-2.6.36.orig/drivers/serial/crisv10.c linux-2.6.36/drivers/serial/crisv10.c
+--- linux-2.6.36.orig/drivers/serial/crisv10.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/drivers/serial/crisv10.c 2010-11-15 17:57:17.000000000 +0100
@@ -13,6 +13,7 @@
#include <linux/errno.h>
#include <linux/signal.h>
@@ -408,7 +355,7 @@ diff -Nur linux-2.6.35.7.orig/drivers/serial/crisv10.c linux-2.6.35.7/drivers/se
#include <linux/seq_file.h>
#include <linux/delay.h>
#include <linux/module.h>
-@@ -4415,6 +4417,7 @@
+@@ -4426,6 +4428,7 @@
#endif
};
@@ -416,7 +363,7 @@ diff -Nur linux-2.6.35.7.orig/drivers/serial/crisv10.c linux-2.6.35.7/drivers/se
static int __init rs_init(void)
{
int i;
-@@ -4548,6 +4551,24 @@
+@@ -4559,6 +4562,24 @@
#endif
#endif /* CONFIG_SVINTO_SIM */
@@ -441,9 +388,30 @@ diff -Nur linux-2.6.35.7.orig/drivers/serial/crisv10.c linux-2.6.35.7/drivers/se
return 0;
}
-diff -Nur linux-2.6.35.7.orig/drivers/usb/host/hc-cris-dbg.h linux-2.6.35.7/drivers/usb/host/hc-cris-dbg.h
---- linux-2.6.35.7.orig/drivers/usb/host/hc-cris-dbg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.35.7/drivers/usb/host/hc-cris-dbg.h 2010-10-14 18:50:17.714356435 +0200
+diff -Nur linux-2.6.36.orig/drivers/usb/Makefile linux-2.6.36/drivers/usb/Makefile
+--- linux-2.6.36.orig/drivers/usb/Makefile 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/drivers/usb/Makefile 2010-11-15 17:57:18.000000000 +0100
+@@ -21,6 +21,7 @@
+ obj-$(CONFIG_USB_R8A66597_HCD) += host/
+ obj-$(CONFIG_USB_HWA_HCD) += host/
+ obj-$(CONFIG_USB_ISP1760_HCD) += host/
++obj-$(CONFIG_ETRAX_USB_HOST) += host/
+ obj-$(CONFIG_USB_IMX21_HCD) += host/
+
+ obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
+diff -Nur linux-2.6.36.orig/drivers/usb/host/Makefile linux-2.6.36/drivers/usb/host/Makefile
+--- linux-2.6.36.orig/drivers/usb/host/Makefile 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/drivers/usb/host/Makefile 2010-11-15 17:57:18.000000000 +0100
+@@ -32,5 +32,6 @@
+ obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
+ obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
+ obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o
++obj-$(CONFIG_ETRAX_USB_HOST) += hc-crisv10.o
+ obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o
+
+diff -Nur linux-2.6.36.orig/drivers/usb/host/hc-cris-dbg.h linux-2.6.36/drivers/usb/host/hc-cris-dbg.h
+--- linux-2.6.36.orig/drivers/usb/host/hc-cris-dbg.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.36/drivers/usb/host/hc-cris-dbg.h 2010-11-15 17:57:17.000000000 +0100
@@ -0,0 +1,146 @@
+
+/* macros for debug output */
@@ -591,9 +559,9 @@ diff -Nur linux-2.6.35.7.orig/drivers/usb/host/hc-cris-dbg.h linux-2.6.35.7/driv
+ }; \
+ s; \
+ })
-diff -Nur linux-2.6.35.7.orig/drivers/usb/host/hc-crisv10.c linux-2.6.35.7/drivers/usb/host/hc-crisv10.c
---- linux-2.6.35.7.orig/drivers/usb/host/hc-crisv10.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.35.7/drivers/usb/host/hc-crisv10.c 2010-10-14 19:04:20.676850954 +0200
+diff -Nur linux-2.6.36.orig/drivers/usb/host/hc-crisv10.c linux-2.6.36/drivers/usb/host/hc-crisv10.c
+--- linux-2.6.36.orig/drivers/usb/host/hc-crisv10.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.36/drivers/usb/host/hc-crisv10.c 2010-11-15 17:57:18.000000000 +0100
@@ -0,0 +1,4801 @@
+/*
+ *
@@ -5396,9 +5364,9 @@ diff -Nur linux-2.6.35.7.orig/drivers/usb/host/hc-crisv10.c linux-2.6.35.7/drive
+/* Module hooks */
+module_init(module_hcd_init);
+module_exit(module_hcd_exit);
-diff -Nur linux-2.6.35.7.orig/drivers/usb/host/hc-crisv10.h linux-2.6.35.7/drivers/usb/host/hc-crisv10.h
---- linux-2.6.35.7.orig/drivers/usb/host/hc-crisv10.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.35.7/drivers/usb/host/hc-crisv10.h 2010-10-14 18:50:17.858091974 +0200
+diff -Nur linux-2.6.36.orig/drivers/usb/host/hc-crisv10.h linux-2.6.36/drivers/usb/host/hc-crisv10.h
+--- linux-2.6.36.orig/drivers/usb/host/hc-crisv10.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.36/drivers/usb/host/hc-crisv10.h 2010-11-15 17:57:18.000000000 +0100
@@ -0,0 +1,331 @@
+#ifndef __LINUX_ETRAX_USB_H
+#define __LINUX_ETRAX_USB_H
@@ -5731,30 +5699,9 @@ diff -Nur linux-2.6.35.7.orig/drivers/usb/host/hc-crisv10.h linux-2.6.35.7/drive
+#define USB_SB_command__full__yes 1
+
+#endif
-diff -Nur linux-2.6.35.7.orig/drivers/usb/host/Makefile linux-2.6.35.7/drivers/usb/host/Makefile
---- linux-2.6.35.7.orig/drivers/usb/host/Makefile 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/drivers/usb/host/Makefile 2010-10-14 18:50:17.898091962 +0200
-@@ -32,5 +32,6 @@
- obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
- obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
- obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o
-+obj-$(CONFIG_ETRAX_USB_HOST) += hc-crisv10.o
- obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o
-
-diff -Nur linux-2.6.35.7.orig/drivers/usb/Makefile linux-2.6.35.7/drivers/usb/Makefile
---- linux-2.6.35.7.orig/drivers/usb/Makefile 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/drivers/usb/Makefile 2010-10-14 18:50:17.934371277 +0200
-@@ -21,6 +21,7 @@
- obj-$(CONFIG_USB_R8A66597_HCD) += host/
- obj-$(CONFIG_USB_HWA_HCD) += host/
- obj-$(CONFIG_USB_ISP1760_HCD) += host/
-+obj-$(CONFIG_ETRAX_USB_HOST) += host/
- obj-$(CONFIG_USB_IMX21_HCD) += host/
-
- obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
-diff -Nur linux-2.6.35.7.orig/lib/klist.c linux-2.6.35.7/lib/klist.c
---- linux-2.6.35.7.orig/lib/klist.c 2010-09-29 03:09:08.000000000 +0200
-+++ linux-2.6.35.7/lib/klist.c 2010-10-14 18:50:17.978091963 +0200
+diff -Nur linux-2.6.36.orig/lib/klist.c linux-2.6.36/lib/klist.c
+--- linux-2.6.36.orig/lib/klist.c 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/lib/klist.c 2010-11-15 17:57:18.000000000 +0100
@@ -60,7 +60,7 @@
{
knode->n_klist = klist;
diff --git a/target/foxboard/target.mk b/target/foxboard/target.mk
index 23474ad20..34e1f05ec 100644
--- a/target/foxboard/target.mk
+++ b/target/foxboard/target.mk
@@ -1,7 +1,5 @@
+include $(TOPDIR)/mk/kernel-ver.mk
ARCH:= cris
CPU_ARCH:= cris
-KERNEL_VERSION:= 2.6.35.7
-KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= f741879bcd3a5366a1bbe0ad5cdb7935
TARGET_OPTIMIZATION:= -Os -pipe -fno-peephole2
TARGET_CFLAGS_ARCH:= -march=v10
diff --git a/toolchain/kernel-headers/patches/2.6.36/cleankernel.patch b/toolchain/kernel-headers/patches/2.6.36/cleankernel.patch
new file mode 100644
index 000000000..f8d5448ee
--- /dev/null
+++ b/toolchain/kernel-headers/patches/2.6.36/cleankernel.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-2.6.29.1.orig/scripts/Makefile.headersinst linux-2.6.29.1/scripts/Makefile.headersinst
+--- linux-2.6.29.1.orig/scripts/Makefile.headersinst 2009-04-02 22:55:27.000000000 +0200
++++ linux-2.6.29.1/scripts/Makefile.headersinst 2009-04-17 20:56:09.143476927 +0200
+@@ -65,7 +65,6 @@
+
+ targets += $(install-file)
+ $(install-file): scripts/headers_install.pl $(input-files) FORCE
+- $(if $(unwanted),$(call cmd,remove),)
+ $(if $(wildcard $(dir $@)),,$(shell mkdir -p $(dir $@)))
+ $(call if_changed,install)
+
diff --git a/toolchain/kernel-headers/patches/2.6.36/etrax-header.patch b/toolchain/kernel-headers/patches/2.6.36/etrax-header.patch
new file mode 100644
index 000000000..0c644ce25
--- /dev/null
+++ b/toolchain/kernel-headers/patches/2.6.36/etrax-header.patch
@@ -0,0 +1,75 @@
+diff -Nur linux-2.6.36.orig/arch/cris/include/arch-v10/arch/Kbuild linux-2.6.36/arch/cris/include/arch-v10/arch/Kbuild
+--- linux-2.6.36.orig/arch/cris/include/arch-v10/arch/Kbuild 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/include/arch-v10/arch/Kbuild 2010-11-15 17:35:24.000000000 +0100
+@@ -1,4 +1,9 @@
++header-y += dma.h
++header-y += io_interface_mux.h
+ header-y += user.h
+ header-y += svinto.h
+ header-y += sv_addr_ag.h
+ header-y += sv_addr.agh
++header-y += elf.h
++header-y += page.h
++header-y += ptrace.h
+diff -Nur linux-2.6.36.orig/arch/cris/include/arch-v32/arch/Kbuild linux-2.6.36/arch/cris/include/arch-v32/arch/Kbuild
+--- linux-2.6.36.orig/arch/cris/include/arch-v32/arch/Kbuild 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/include/arch-v32/arch/Kbuild 2010-11-15 17:35:24.000000000 +0100
+@@ -1,2 +1,6 @@
+ header-y += user.h
+ header-y += cryptocop.h
++header-y += elf.h
++header-y += page.h
++header-y += ptrace.h
++
+diff -Nur linux-2.6.36.orig/arch/cris/include/asm/Kbuild linux-2.6.36/arch/cris/include/asm/Kbuild
+--- linux-2.6.36.orig/arch/cris/include/asm/Kbuild 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/arch/cris/include/asm/Kbuild 2010-11-15 17:37:57.000000000 +0100
+@@ -1,10 +1,13 @@
+ include include/asm-generic/Kbuild.asm
+
+-header-y += arch-v10/
+-header-y += arch-v32/
+-
++header-y += ../arch-v10/arch/
++header-y += ../arch-v32/arch/
++
++header-y += elf.h
+ header-y += ethernet.h
+ header-y += etraxgpio.h
+ header-y += rs485.h
+ header-y += rtc.h
+ header-y += sync_serial.h
++header-y += page.h
++header-y += user.h
+diff -Nur linux-2.6.36.orig/include/asm-generic/Kbuild linux-2.6.36/include/asm-generic/Kbuild
+--- linux-2.6.36.orig/include/asm-generic/Kbuild 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/include/asm-generic/Kbuild 2010-11-15 17:37:02.000000000 +0100
+@@ -3,14 +3,17 @@
+ header-y += errno-base.h
+ header-y += errno.h
+ header-y += fcntl.h
++header-y += getorder.h
+ header-y += int-l64.h
+ header-y += int-ll64.h
+ header-y += ioctl.h
+ header-y += ioctls.h
+ header-y += ipcbuf.h
++header-y += memory_model.h
+ header-y += mman-common.h
+ header-y += mman.h
+ header-y += msgbuf.h
++header-y += page.h
+ header-y += param.h
+ header-y += poll.h
+ header-y += posix_types.h
+diff -Nur linux-2.6.36.orig/include/linux/Kbuild linux-2.6.36/include/linux/Kbuild
+--- linux-2.6.36.orig/include/linux/Kbuild 2010-10-20 22:30:22.000000000 +0200
++++ linux-2.6.36/include/linux/Kbuild 2010-11-15 17:36:11.000000000 +0100
+@@ -365,6 +365,7 @@
+ header-y += un.h
+ header-y += unistd.h
+ header-y += usbdevice_fs.h
++header-y += user.h
+ header-y += utime.h
+ header-y += utsname.h
+ header-y += veth.h
diff --git a/toolchain/kernel-headers/patches/2.6.36/linux-gcc-check.patch b/toolchain/kernel-headers/patches/2.6.36/linux-gcc-check.patch
new file mode 100644
index 000000000..7cc381845
--- /dev/null
+++ b/toolchain/kernel-headers/patches/2.6.36/linux-gcc-check.patch
@@ -0,0 +1,18 @@
+diff -Nur linux-2.6.32.orig/arch/mips/include/asm/sgidefs.h linux-2.6.32/arch/mips/include/asm/sgidefs.h
+--- linux-2.6.32.orig/arch/mips/include/asm/sgidefs.h 2009-12-03 04:51:21.000000000 +0100
++++ linux-2.6.32/arch/mips/include/asm/sgidefs.h 2010-02-14 11:49:21.000000000 +0100
+@@ -11,14 +11,6 @@
+ #define __ASM_SGIDEFS_H
+
+ /*
+- * Using a Linux compiler for building Linux seems logic but not to
+- * everybody.
+- */
+-#ifndef __linux__
+-#error Use a Linux compiler or give up.
+-#endif
+-
+-/*
+ * Definitions for the ISA levels
+ *
+ * With the introduction of MIPS32 / MIPS64 instruction sets definitions
diff --git a/toolchain/kernel-headers/patches/2.6.36/microperl.patch b/toolchain/kernel-headers/patches/2.6.36/microperl.patch
new file mode 100644
index 000000000..2955b7421
--- /dev/null
+++ b/toolchain/kernel-headers/patches/2.6.36/microperl.patch
@@ -0,0 +1,24 @@
+diff -Nur linux-2.6.30.5.orig/scripts/headers_check.pl linux-2.6.30.5/scripts/headers_check.pl
+--- linux-2.6.30.5.orig/scripts/headers_check.pl 2009-08-16 23:19:38.000000000 +0200
++++ linux-2.6.30.5/scripts/headers_check.pl 2009-09-14 21:16:21.000000000 +0200
+@@ -18,7 +18,7 @@
+ #
+ # 3) Check for leaked CONFIG_ symbols
+
+-use strict;
++#use strict;
+
+ my ($dir, $arch, @files) = @ARGV;
+
+diff -Nur linux-2.6.30.5.orig/scripts/headers_install.pl linux-2.6.30.5/scripts/headers_install.pl
+--- linux-2.6.30.5.orig/scripts/headers_install.pl 2009-08-16 23:19:38.000000000 +0200
++++ linux-2.6.30.5/scripts/headers_install.pl 2009-09-14 21:16:11.000000000 +0200
+@@ -16,7 +16,7 @@
+ # 2) Drop include of compiler.h
+ # 3) Drop all sections defined out by __KERNEL__ (using unifdef)
+
+-use strict;
++#use strict;
+
+ my ($readdir, $installdir, $arch, @files) = @ARGV;
+