summaryrefslogtreecommitdiff
path: root/packages/linux/nslu2-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/nslu2-kernel')
-rw-r--r--packages/linux/nslu2-kernel/.mtn2git_empty0
-rw-r--r--packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty0
-rw-r--r--packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch13
-rw-r--r--packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch617
-rw-r--r--packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch18
-rw-r--r--packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty0
-rw-r--r--packages/linux/nslu2-kernel/2.6.12/defconfig1226
-rw-r--r--packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch92
-rw-r--r--packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch18
-rw-r--r--packages/linux/nslu2-kernel/2.6/.mtn2git_empty0
-rw-r--r--packages/linux/nslu2-kernel/2.6/compile-switches.patch58
-rw-r--r--packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch11
-rw-r--r--packages/linux/nslu2-kernel/2.6/x1205-rtc.patch38
13 files changed, 2091 insertions, 0 deletions
diff --git a/packages/linux/nslu2-kernel/.mtn2git_empty b/packages/linux/nslu2-kernel/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/nslu2-kernel/.mtn2git_empty
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch b/packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch
index e69de29bb2..c03a0d9cda 100644
--- a/packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch
+++ b/packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch
@@ -0,0 +1,13 @@
+--- linux-2.6.11/arch/arm/kernel/setup.c.orig Mon Mar 7 09:41:40 2005
++++ linux-2.6.11/arch/arm/kernel/setup.c Mon Mar 7 09:42:15 2005
+@@ -431,8 +431,10 @@
+ rd_prompt = prompt;
+ rd_doload = doload;
+
++#if 0 /* rd_size is not exported by 2.6.11-mm1 */
+ if (rd_sz)
+ rd_size = rd_sz;
++#endif
+ #endif
+ }
+
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch b/packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch
index e69de29bb2..b752ddac98 100644
--- a/packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch
+++ b/packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch
@@ -0,0 +1,617 @@
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.c 2005-03-27 21:36:10.656270448 -0800
++++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.c 2005-03-27 23:39:18.967076480 -0800
+@@ -467,19 +467,15 @@
+ return 0;
+ }
+
+-#define FORMAT40_ROOT_LOCALITY 41
+-#define FORMAT40_ROOT_OBJECTID 42
++#define FORMAT40_ROOT_LOCALITY 41ull
++#define FORMAT40_ROOT_OBJECTID 42ull
+
+ /* plugin->u.format.root_dir_key */
+ reiser4_internal const reiser4_key *
+ root_dir_key_format40(const struct super_block *super UNUSED_ARG)
+ {
+ static const reiser4_key FORMAT40_ROOT_DIR_KEY = {
+- .el = {{(FORMAT40_ROOT_LOCALITY << 4) | KEY_SD_MINOR},
+-#if REISER4_LARGE_KEY
+- {0ull},
+-#endif
+- {FORMAT40_ROOT_OBJECTID}, {0ull}}
++ .el = { KEY_INIT(KEY_SD_MINOR,FORMAT40_ROOT_LOCALITY,0ull,0,FORMAT40_ROOT_OBJECTID,0ull) }
+ };
+
+ return &FORMAT40_ROOT_DIR_KEY;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.h 2005-03-27 21:24:00.618253096 -0800
++++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.h 2005-03-27 21:24:02.747929336 -0800
+@@ -49,7 +49,7 @@
+ /* 70 */ d16 formatting_policy;
+ /* 72 */ d64 flags;
+ /* 72 */ char not_used[432];
+-} format40_disk_super_block;
++} PACKED64 format40_disk_super_block;
+
+ /* format 40 specific part of reiser4_super_info_data */
+ typedef struct format40_super_info {
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/file/invert.c 2005-03-27 21:24:00.625252032 -0800
++++ linux-2.6.11/fs/reiser4/plugin/file/invert.c 2005-03-27 21:24:02.747929336 -0800
+@@ -240,14 +240,14 @@
+ typedef struct flow_header {
+ d32 fl_magic;
+ d16 fl_nr; /* number of subfiles in the flow */
+-};
++} PACKED32;
+
+ typedef struct subfile_header {
+ d32 sh_magic; /* subfile magic */
+ d16 sh_type; /* type of subfile: light-weight, ordinary, invert */
+ d16 sh_arg_len; /* lenght of lookup argument (filename, key) */
+ d32 sh_body_len; /* lenght of subfile body */
+-};
++} PACKED32;
+
+ /* functions to get/set fields of flow header */
+
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/static_stat.c 2005-03-27 21:24:00.648248536 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/static_stat.c 2005-03-27 21:34:27.331978128 -0800
+@@ -19,6 +19,38 @@
+
+ /* see static_stat.h for explanation */
+
++/* compile time verify of the data structure sizes and alignments */
++static inline void
++r4static_stat_verify(void)
++{
++ /* All these structures are PACKED, so the __alignof__ should
++ * be 1. The sizes need to be correct as they map to disk
++ * structures.
++ */
++ cassert(sizeof (reiser4_stat_data_base) == 2);
++ /* cassert(sizeof (reiser4_light_weight_stat) == 16);
++ * 14 bytes, comments in code do not take into account PACKED!
++ */
++ cassert(sizeof (reiser4_light_weight_stat) == 14);
++ cassert(sizeof (reiser4_unix_stat) == 28);
++ cassert(sizeof (reiser4_symlink_stat) == 0);
++ cassert(sizeof (reiser4_plugin_slot) == 4);
++ cassert(sizeof (reiser4_plugin_stat) == 2);
++ cassert(sizeof (reiser4_flags_stat) == 4);
++ /* cassert(sizeof (reiser4_capabilities_stat) == 16);
++ * comments in the file look wrong - capabilities are 2 x d32
++ * not 2 x d64 in the declaration.
++ */
++ cassert(sizeof (reiser4_capabilities_stat) == 8);
++ cassert(sizeof (reiser4_cluster_stat) == 1);
++ cassert(sizeof (reiser4_crypto_stat) == 2);
++ /* cassert(sizeof (reiser4_large_times_stat) == 24);
++ * should be 12 bytes - 3 x d32, probably a bug in the def in
++ * the header file (meant to be 3 x d64?)
++ */
++ cassert(sizeof (reiser4_large_times_stat) == 12);
++}
++
+ /* helper function used while we are dumping/loading inode/plugin state
+ to/from the stat-data. */
+
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/acl.h 2005-03-27 21:24:00.629251424 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/acl.h 2005-03-27 21:24:02.749929032 -0800
+@@ -26,7 +26,7 @@
+ obj_key_id id;
+ /* file name. Null terminated string. */
+ d8 name[0];
+-} directory_entry_format;
++} PACKEDt(obj_key_id) directory_entry_format;
+
+ void print_de(const char *prefix, coord_t * coord);
+ int extract_key_de(const coord_t * coord, reiser4_key * key);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/cde.h 2005-03-27 21:24:00.632250968 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/cde.h 2005-03-27 21:24:02.750928880 -0800
+@@ -15,12 +15,12 @@
+ typedef struct cde_unit_header {
+ de_id hash;
+ d16 offset;
+-} cde_unit_header;
++} PACKEDt2(de_id,d16) cde_unit_header;
+
+ typedef struct cde_item_format {
+ d16 num_of_entries;
+ cde_unit_header entry[0];
+-} cde_item_format;
++} PACKEDt2(d16,cde_unit_header) cde_item_format;
+
+ typedef struct cde_entry {
+ const struct inode *dir;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/extent.h 2005-03-27 21:32:13.758284416 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/extent.h 2005-03-27 21:32:30.786695704 -0800
+@@ -7,7 +7,7 @@
+ typedef struct {
+ reiser4_dblock_nr start;
+ reiser4_dblock_nr width;
+-} reiser4_extent;
++} PACKED64 reiser4_extent;
+
+ typedef struct extent_stat {
+ int unallocated_units;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/internal.h 2005-03-27 21:33:08.971890672 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/internal.h 2005-03-27 22:15:43.290575208 -0800
+@@ -13,7 +13,7 @@
+ typedef struct internal_item_layout {
+ /* 0 */ reiser4_dblock_nr pointer;
+ /* 4 */
+-} internal_item_layout;
++} PACKED64 internal_item_layout;
+
+ struct cut_list;
+
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/sde.h 2005-03-27 21:24:00.646248840 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/sde.h 2005-03-27 21:24:02.750928880 -0800
+@@ -26,7 +26,7 @@
+ obj_key_id id;
+ /* file name. Null terminated string. */
+ d8 name[0];
+-} directory_entry_format;
++} PACKEDt(obj_key_id) directory_entry_format;
+
+ void print_de(const char *prefix, coord_t * coord);
+ int extract_key_de(const coord_t * coord, reiser4_key * key);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node40.c 2005-03-27 21:24:00.654247624 -0800
++++ linux-2.6.11/fs/reiser4/plugin/node/node40.c 2005-03-27 21:35:08.677692624 -0800
+@@ -32,6 +32,22 @@
+ magic (32)
+ flush_time (32)
+ */
++/* compile time verify of the data structure sizes and alignments */
++static inline void
++r4node40_stat_verify(void)
++{
++ /* The alignment of these structures is intended to be '1', but
++ * it doesn't matter so long as the size is right.
++ */
++ cassert(sizeof (common_node_header) == 2);
++ cassert(sizeof (node40_header) == 28);
++#if REISER4_LARGE_KEY
++ cassert(sizeof (item_header40) == 38);
++#else
++ cassert(sizeof (item_header40) == 30);
++#endif
++}
++
+ /* NIKITA-FIXME-HANS: I told you guys not less than 10 times to not call it r4fs. Change to "ReIs". */
+ /* magic number that is stored in ->magic field of node header */
+ static const __u32 REISER4_NODE_MAGIC = 0x52344653; /* (*(__u32 *)"R4FS"); */
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node.h 2005-03-27 21:24:00.656247320 -0800
++++ linux-2.6.11/fs/reiser4/plugin/node/node.h 2005-03-27 21:24:02.753928424 -0800
+@@ -250,7 +250,7 @@
+ /* identifier of node plugin. Must be located at the very beginning
+ of a node. */
+ d16 plugin_id;
+-} common_node_header;
++} PACKED16 common_node_header;
+
+ /* __REISER4_NODE_H__ */
+ #endif
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/debug.c 2005-03-27 21:24:00.563261456 -0800
++++ linux-2.6.11/fs/reiser4/debug.c 2005-03-27 23:27:58.569512632 -0800
+@@ -75,6 +75,72 @@
+ va_list args;
+
+ /*
++ * this is here to make sure that we don't compile code which we
++ * know a-priori will panic, or fail without panicing, since this
++ * compiles first if you find a duplicate case label error then
++ * you need to rewrite this code to match your compiler.
++ */
++ cassert(sizeof (d8) == 1);
++ cassert(__alignof__ (d8) == 1);
++ {
++ struct {
++ __u8 pad;
++ d8 data;
++ } PACKED8 test;
++ cassert(sizeof test == 2);
++ cassert(sizeof test.data == 1);
++ cassert(__alignof__ test.data == 1);
++ cassert(__alignof__ test == 1);
++ }
++ cassert(sizeof (d16) == 2);
++ cassert(__alignof__ (d16) == 2);
++ {
++ struct {
++ __u8 pad;
++ d16 data;
++ } PACKED16 test;
++ cassert(sizeof test == 4);
++ cassert(sizeof test.data == 2);
++#if !__arm__
++ cassert(__alignof__ test.data == 2);
++#endif
++ cassert(__alignof__ test == 2);
++#if !__arm__
++ cassert(test.data.datum - &test.pad == 2);
++#endif
++ }
++ cassert(sizeof (d32) == 4);
++ cassert(__alignof__ (d32) == 4);
++ {
++ struct {
++ __u8 pad;
++ d32 data;
++ } PACKED32 test;
++ cassert(sizeof test == 8);
++ cassert(sizeof test.data == 4);
++ cassert(__alignof__ test.data == 4);
++ cassert(__alignof__ test == 4);
++ cassert(test.data.datum - &test.pad == 4);
++ }
++ cassert(sizeof (d64) == 8);
++ cassert(__alignof__ (d64) == 8);
++ {
++ struct {
++ __u8 pad;
++ d64 data;
++ } PACKED64 test;
++ cassert(sizeof test == 16);
++ cassert(sizeof test.data == 8);
++ cassert(__alignof__ test.data == 8);
++ cassert(__alignof__ test == 8);
++ cassert(test.data.datum - &test.pad == 8);
++ }
++
++ /* This is just a test of a struct with a single d64 element. */
++ cassert(sizeof (reiser4_dblock_nr) == 8);
++ cassert(__alignof__(reiser4_dblock_nr) == 8);
++
++ /*
+ * check for recursive panic.
+ */
+ if (in_panic == 0) {
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/flush_queue.c 2005-03-27 21:24:00.577259328 -0800
++++ linux-2.6.11/fs/reiser4/flush_queue.c 2005-03-27 21:24:02.755928120 -0800
+@@ -447,7 +447,7 @@
+
+ /* If all write requests registered in this "fq" are done we up
+ * the semaphore. */
+- if (atomic_sub_and_test(bio->bi_vcnt, &fq->nr_submitted))
++ if (atomic_sub_return(bio->bi_vcnt, &fq->nr_submitted) == 0)
+ up(&fq->io_sem);
+ }
+
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/key.c 2005-03-27 22:42:43.481268784 -0800
++++ linux-2.6.11/fs/reiser4/key.c 2005-03-27 23:42:53.958392832 -0800
+@@ -13,10 +13,10 @@
+ independent of key scheme. */
+ static const reiser4_key MINIMAL_KEY = {
+ .el = {
+- {0ull},
+- ON_LARGE_KEY({0ull},)
+- {0ull},
+- {0ull}
++ {{0,0,0,0,0,0,0,0}},
++ ON_LARGE_KEY({{0,0,0,0,0,0,0,0}},)
++ {{0,0,0,0,0,0,0,0}},
++ {{0,0,0,0,0,0,0,0}}
+ }
+ };
+
+@@ -24,10 +24,10 @@
+ independent of key scheme. */
+ static const reiser4_key MAXIMAL_KEY = {
+ .el = {
+- {~0ull},
+- ON_LARGE_KEY({~0ull},)
+- {~0ull},
+- {~0ull}
++ {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},
++ ON_LARGE_KEY({{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},)
++ {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},
++ {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}
+ }
+ };
+
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/safe_link.c 2005-03-27 21:24:00.677244128 -0800
++++ linux-2.6.11/fs/reiser4/safe_link.c 2005-03-27 21:24:02.756927968 -0800
+@@ -61,7 +61,7 @@
+ reiser4_key sdkey; /* key of stat-data for the file safe-link is
+ * for */
+ d64 size; /* size to which file should be truncated */
+-} safelink_t;
++} PACKEDt2(reiser4_key, d64) safelink_t;
+
+ /*
+ * locality where safe-link items are stored. Next to the objectid of root
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.c 2005-03-27 21:24:00.682243368 -0800
++++ linux-2.6.11/fs/reiser4/status_flags.c 2005-03-27 21:24:02.756927968 -0800
+@@ -153,6 +153,7 @@
+ &statuspage->stacktrace[no])
+
+ GETFRAME(0);
++#ifndef __arm__
+ GETFRAME(1);
+ GETFRAME(2);
+ GETFRAME(3);
+@@ -162,6 +163,7 @@
+ GETFRAME(7);
+ GETFRAME(8);
+ GETFRAME(9);
++#endif
+
+ #undef GETFRAME
+ #endif
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/dformat.h 2005-03-27 21:24:00.564261304 -0800
++++ linux-2.6.11/fs/reiser4/dformat.h 2005-03-27 23:29:03.223683704 -0800
+@@ -28,43 +28,84 @@
+
+ /* code on-disk data-types as structs with a single field
+ to rely on compiler type-checking. Like include/asm-i386/page.h */
++/* This code did not work on the arm with gcc 3.4.3 because the
++ * arm has a minimum structure size of 4 - packed is necessary to
++ * allow these types to be smaller than 4 - and because this version
++ * of gcc 'loses' the alignment if the structure contains just one
++ * element of alignment 8 (or probably any value greater than 4).
++ * To fix this and to make the code much more portable all the basic
++ * types are now just done as arrays of bytes - __u8.
++ *
++ * This is highly tricky, however the check code in debug.c should
++ * fire a compile time assert if it goes wrong.
++ */
++#if __arm__
++#define PACKED8 __attribute__ ((packed,aligned(1)))
++/* Warning: the presence of the packed attribute here means that any
++ * d16 in a structure so marked will lose its alignment. That doesn't
++ * seem to matter because there don't seem to be any d16's with odd
++ * structure offsets, but it might.
++ */
++#define PACKED16 __attribute__ ((packed,aligned(2)))
++#define PACKED32 __attribute__ ((aligned(4)))
++#define PACKED64 __attribute__ ((aligned(8)))
++#else
++#define PACKED8 __attribute__ ((aligned(1)))
++#define PACKED16 __attribute__ ((aligned(2)))
++#define PACKED32 __attribute__ ((aligned(4)))
++#define PACKED64 __attribute__ ((aligned(8)))
++#endif
+ typedef struct d8 {
+- __u8 datum;
+-} d8 __attribute__ ((aligned(1)));
++ __u8 datum[1];
++} PACKED8 d8;
+ typedef struct d16 {
+- __u16 datum;
+-} d16 __attribute__ ((aligned(2)));
++ __u8 datum[2];
++} PACKED16 d16;
+ typedef struct d32 {
+- __u32 datum;
+-} d32 __attribute__ ((aligned(4)));
++ __u8 datum[4];
++} PACKED32 d32;
+ typedef struct d64 {
+- __u64 datum;
+-} d64 __attribute__ ((aligned(8)));
++ __u8 datum[8];
++} PACKED64 d64;
+
++#define PACKEDt(t) __attribute__ ((packed,aligned(__alignof__ (t)) ))
++#define PACKEDt2(t1,t2) __attribute__ ((packed,aligned(\
++ __alignof__ (t1) < __alignof__ (t2) ? __alignof__ (t2) : __alignof__ (t1) )))
+ #define PACKED __attribute__((packed))
+
+ static inline __u8
+ d8tocpu(const d8 * ondisk /* on-disk value to convert */ )
+ {
+- return ondisk->datum;
++ return ondisk->datum[0];
+ }
+
+ static inline __u16
+ d16tocpu(const d16 * ondisk /* on-disk value to convert */ )
+ {
+- return __le16_to_cpu(get_unaligned(&ondisk->datum));
++ return ondisk->datum[0] + (ondisk->datum[1] << 8);
+ }
+
+ static inline __u32
+ d32tocpu(const d32 * ondisk /* on-disk value to convert */ )
+ {
+- return __le32_to_cpu(get_unaligned(&ondisk->datum));
++ return ondisk->datum[0] +
++ (ondisk->datum[1] << 8) +
++ (ondisk->datum[2] << 16) +
++ (ondisk->datum[3] << 24);
+ }
+
+ static inline __u64
+ d64tocpu(const d64 * ondisk /* on-disk value to convert */ )
+ {
+- return __le64_to_cpu(get_unaligned(&ondisk->datum));
++ __u32 low = ondisk->datum[0] +
++ (ondisk->datum[1] << 8) +
++ (ondisk->datum[2] << 16) +
++ (ondisk->datum[3] << 24);
++ __u64 high = ondisk->datum[4] +
++ (ondisk->datum[5] << 8) +
++ (ondisk->datum[6] << 16) +
++ (ondisk->datum[7] << 24);
++ return low + (high << 32);
+ }
+
+ static inline d8 *
+@@ -72,7 +113,7 @@
+ d8 * ondisk /* result */ )
+ {
+ assert("nikita-1264", oncpu < 0x100);
+- put_unaligned(oncpu, &ondisk->datum);
++ ondisk->datum[0] = oncpu;
+ return ondisk;
+ }
+
+@@ -81,7 +122,8 @@
+ d16 * ondisk /* result */ )
+ {
+ assert("nikita-1265", oncpu < 0x10000);
+- put_unaligned(__cpu_to_le16(oncpu), &ondisk->datum);
++ ondisk->datum[0] = oncpu;
++ ondisk->datum[1] = oncpu >> 8;
+ return ondisk;
+ }
+
+@@ -89,15 +131,27 @@
+ cputod32(__u32 oncpu /* CPU value to convert */ ,
+ d32 * ondisk /* result */ )
+ {
+- put_unaligned(__cpu_to_le32(oncpu), &ondisk->datum);
++ ondisk->datum[0] = oncpu; oncpu >>= 8;
++ ondisk->datum[1] = oncpu; oncpu >>= 8;
++ ondisk->datum[2] = oncpu; oncpu >>= 8;
++ ondisk->datum[3] = oncpu;
+ return ondisk;
+ }
+
+ static inline d64 *
+-cputod64(__u64 oncpu /* CPU value to convert */ ,
++cputod64(__u64 oncpuIn /* CPU value to convert */ ,
+ d64 * ondisk /* result */ )
+ {
+- put_unaligned(__cpu_to_le64(oncpu), &ondisk->datum);
++ __u32 oncpu = oncpuIn;
++ ondisk->datum[0] = oncpu; oncpu >>= 8;
++ ondisk->datum[1] = oncpu; oncpu >>= 8;
++ ondisk->datum[2] = oncpu; oncpu >>= 8;
++ ondisk->datum[3] = oncpu;
++ oncpu = oncpuIn >> 32;
++ ondisk->datum[4] = oncpu; oncpu >>= 8;
++ ondisk->datum[5] = oncpu; oncpu >>= 8;
++ ondisk->datum[6] = oncpu; oncpu >>= 8;
++ ondisk->datum[7] = oncpu;
+ return ondisk;
+ }
+
+@@ -111,7 +165,7 @@
+ /* data-type for block number on disk, disk format */
+ union reiser4_dblock_nr {
+ d64 blk;
+-};
++} PACKED64;
+
+ static inline reiser4_block_nr
+ dblock_to_cpu(const reiser4_dblock_nr * dblock)
+@@ -148,7 +202,7 @@
+ char uuid[16]; /* unique id */
+ char label[16]; /* filesystem label */
+ d64 diskmap; /* location of the diskmap. 0 if not present */
+-} reiser4_master_sb;
++} PACKED64 reiser4_master_sb;
+
+ /* __FS_REISER4_DFORMAT_H__ */
+ #endif
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/kassign.h 2005-03-27 21:24:00.588257656 -0800
++++ linux-2.6.11/fs/reiser4/kassign.h 2005-03-27 21:24:02.757927816 -0800
+@@ -46,7 +46,7 @@
+ d8 locality[sizeof (__u64)];
+ ON_LARGE_KEY(d8 ordering[sizeof (__u64)];)
+ d8 objectid[sizeof (__u64)];
+-} obj_key_id;
++} PACKED8 obj_key_id;
+
+ /* Information sufficient to uniquely identify directory entry within
+ compressed directory item.
+@@ -57,7 +57,7 @@
+ ON_LARGE_KEY(d8 ordering[sizeof (__u64)];)
+ d8 objectid[sizeof (__u64)];
+ d8 offset[sizeof (__u64)];
+-} de_id;
++} PACKED8 de_id;
+
+ extern int inode_onwire_size(const struct inode *obj);
+ extern char *build_inode_onwire(const struct inode *obj, char *area);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/key.h 2005-03-27 21:24:00.591257200 -0800
++++ linux-2.6.11/fs/reiser4/key.h 2005-03-27 23:41:07.744539792 -0800
+@@ -106,7 +106,7 @@
+ union reiser4_key {
+ d64 el[KEY_LAST_INDEX];
+ int pad;
+-};
++} PACKED64;
+
+ /* bitmasks showing where within reiser4_key particular key is
+ stored. */
+@@ -138,6 +138,20 @@
+ KEY_ORDERING_SHIFT = 0,
+ } reiser4_key_field_shift;
+
++/* initialise a key, this is a compile time constant initialiser expressed as
++ * three or four (as appropriate) 8 byte initialisers, there are braces around
++ * each 8 byte quantity but not around the whole initializer.
++ */
++#define KEY_INIT(type,loc,order,band,oid,off)\
++{{ (0xf&(type))+(0xf0&((loc) << 4)), 0xff&((loc) >> 4), 0xff&((loc) >> 12), 0xff&((loc) >> 20),\
++ 0xff&((loc) >> 28), 0xff&((loc) >> 36), 0xff&((loc) >> 44), 0xff&((loc) >> 52) }},\
++ON_LARGE_KEY({{ 0xff&(order), 0xff&((order)>>8), 0xff&((order)>>16), 0xff&((order)>>24),\
++ 0xff&((order)>>32), 0xff&((order)>>40), 0xff&((order)>>48), 0xff&((order)>>56) }},)\
++{{ 0xff&(oid), 0xff&((oid)>>8), 0xff&((oid)>>16), 0xff&((oid)>>24),\
++ 0xff&((oid)>>32), 0xff&((oid)>>40), 0xff&((oid)>>48), (0xf&((oid)>>56))+(0xf0&((band)<<4))}},\
++{{ 0xff&(off), 0xff&((off)>>8), 0xff&((off)>>16), 0xff&((off)>>24),\
++ 0xff&((off)>>32), 0xff&((off)>>40), 0xff&((off)>>48), 0xff&((off)>>56) }}
++
+ static inline __u64
+ get_key_el(const reiser4_key * key, reiser4_key_field_index off)
+ {
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.h 2005-03-27 21:24:00.682243368 -0800
++++ linux-2.6.11/fs/reiser4/status_flags.h 2005-03-27 21:24:02.758927664 -0800
+@@ -33,7 +33,7 @@
+ last sector where io error happened if status is "io error encountered" */
+ d64 stacktrace[10]; /* Last ten functional calls made (addresses)*/
+ char texterror[REISER4_TEXTERROR_LEN]; /* Any error message if appropriate, otherwise filled with zeroes */
+-};
++} PACKED64;
+
+ int reiser4_status_init(reiser4_block_nr block);
+ int reiser4_status_query(u64 *status, u64 *extended);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/wander.h 2005-03-27 21:24:00.709239264 -0800
++++ linux-2.6.11/fs/reiser4/wander.h 2005-03-27 22:14:59.663207576 -0800
+@@ -19,7 +19,7 @@
+ struct journal_header {
+ /* last written transaction head location */
+ d64 last_committed_tx;
+-};
++} PACKED64;
+
+ typedef struct journal_location {
+ reiser4_block_nr footer;
+@@ -46,7 +46,7 @@
+ super block */
+ d64 nr_files;
+ d64 next_oid;
+-};
++} PACKED64;
+
+ /* Each wander record (except the first one) has unified format with wander
+ record header followed by an array of log entries */
+@@ -66,7 +66,7 @@
+
+ /* number of previous block in commit */
+ d64 next_block;
+-};
++} PACKED64;
+
+ /* The first wander record (transaction head) of written transaction has the
+ special format */
+@@ -98,7 +98,7 @@
+ separately from super block */
+ d64 nr_files;
+ d64 next_oid;
+-};
++} PACKED64;
+
+ /* A transaction gets written to disk as a set of wander records (each wander
+ record size is fs block) */
+@@ -108,7 +108,7 @@
+ struct wander_entry {
+ d64 original; /* block original location */
+ d64 wandered; /* block wandered location */
+-};
++} PACKED64;
+
+ /* REISER4 JOURNAL WRITER FUNCTIONS */
+
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch b/packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch
index e69de29bb2..6ef6befd73 100644
--- a/packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch
+++ b/packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch
@@ -0,0 +1,18 @@
+--- original/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:12 2005
++++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:25 2005
+@@ -139,7 +139,6 @@
+ };
+
+ static struct i2c_client x1205_i2c_client = {
+- .id = I2C_DRIVERID_X1205,
+ .flags = 0,
+ .addr = X1205_I2C_BUS_ADDR, // chip address - NOTE: 7bit
+ .adapter = NULL, // the adapter we sit on assigned in attach
+@@ -301,7 +300,6 @@
+ int errno;
+
+ x1205_i2c_client.adapter = adapter;
+- x1205_i2c_client.id++;
+
+ if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR) //test for functional driver
+ return -EIO;
diff --git a/packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty
diff --git a/packages/linux/nslu2-kernel/2.6.12/defconfig b/packages/linux/nslu2-kernel/2.6.12/defconfig
index e69de29bb2..37a3ffc411 100644
--- a/packages/linux/nslu2-kernel/2.6.12/defconfig
+++ b/packages/linux/nslu2-kernel/2.6.12/defconfig
@@ -0,0 +1,1226 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12
+# Sat Jun 18 17:17:09 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+# CONFIG_ARCH_AVILA is not set
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_ARCH_IXDP425 is not set
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+CONFIG_ARCH_NSLU2=y
+# CONFIG_ARCH_PRPMC1100 is not set
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_IXP4XX_INDIRECT_PCI=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_ARM_THUMB_INTERWORK is not set
+# CONFIG_ARCH_XSCALE is not set
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+# CONFIG_PCI_NAMES is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_DISCONTIGMEM is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_PCI is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=m
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_RTC=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+# CONFIG_I2C_ISA is not set
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+CONFIG_I2C_SENSOR=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+CONFIG_SENSORS_X1205=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+
+#
+# USB Host-to-Host Cables
+#
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_GENESYS=y
+CONFIG_USB_NET1080=y
+CONFIG_USB_PL2301=y
+CONFIG_USB_KC2190=y
+
+#
+# Intelligent USB Devices/Gadgets
+#
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_ZAURUS=y
+CONFIG_USB_CDCETHER=y
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_AX8817X=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+# CONFIG_JFFS2_FS_NAND is not set
+# CONFIG_JFFS2_FS_NOR_ECC is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch b/packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch
index e69de29bb2..6a41f02355 100644
--- a/packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch
+++ b/packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch
@@ -0,0 +1,92 @@
+--- linux-2.6.11/arch/arm/boot/compressed/head.S 2005-06-17 17:51:27.245788998 -0700
++++ linux-2.6.11/arch/arm/boot/compressed/head.S 2005-06-17 17:54:45.041806429 -0700
+@@ -37,6 +37,7 @@
+ defined(CONFIG_ARCH_INTEGRATOR) || \
+ defined(CONFIG_ARCH_PXA) || \
+ defined(CONFIG_ARCH_IXP4XX) || \
++ defined(CONFIG_ARCH_NSLU2) || \
+ defined(CONFIG_ARCH_IXP2000) || \
+ defined(CONFIG_ARCH_LH7A40X) || \
+ defined(CONFIG_ARCH_OMAP)
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/boot/compressed/head-xscale.S 2005-03-01 23:37:52.000000000 -0800
++++ linux-2.6.11/arch/arm/boot/compressed/head-xscale.S 2005-06-17 17:51:32.546985425 -0700
+@@ -47,3 +47,8 @@
+ orr r7, r7, #(MACH_TYPE_GTWX5715 & 0xff00)
+ #endif
+
++#ifdef CONFIG_ARCH_NSLU2
++ mov r7, #(MACH_TYPE_NSLU2 & 0xff)
++ orr r7, r7, #(MACH_TYPE_NSLU2 & 0xff00)
++#endif
++
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Kconfig 2005-06-17 17:51:27.365770810 -0700
++++ linux-2.6.11/arch/arm/mach-ixp4xx/Kconfig 2005-06-17 17:51:32.560983303 -0700
+@@ -43,6 +43,12 @@
+ IXDP465 Development Platform (Also known as BMP).
+ For more information on this platform, see <file:Documentation/arm/IXP4xx>.
+
++config ARCH_NSLU2
++ bool "NSLU2"
++ help
++ Say 'Y' here if you want your kernel to support Linksys's
++ NSLU2 NAS device. For more information on this platform,
++ see http://www.nslu2-linux.org
+
+ #
+ # IXCDP1100 is the exact same HW as IXDP425, but with a different machine
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Makefile 2005-06-17 17:51:27.365770810 -0700
++++ linux-2.6.11/arch/arm/mach-ixp4xx/Makefile 2005-06-17 17:51:32.560983303 -0700
+@@ -8,4 +8,4 @@
+ obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o
+ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
+ obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o
+-
++obj-$(CONFIG_ARCH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-part.o nslu2-io.o
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/tools/mach-types 2005-06-17 17:51:27.423762020 -0700
++++ linux-2.6.11/arch/arm/tools/mach-types 2005-06-17 17:51:32.564982697 -0700
+@@ -604,7 +604,7 @@
+ roverp7 MACH_ROVERP7 ROVERP7 594
+ pr818s MACH_PR818S PR818S 595
+ trxpro MACH_TRXPRO TRXPRO 596
+-nslu2 MACH_NSLU2 NSLU2 597
++nslu2 ARCH_NSLU2 NSLU2 597
+ e400 MACH_E400 E400 598
+ trab MACH_TRAB TRAB 599
+ cmc_pu2 MACH_CMC_PU2 CMC_PU2 600
+--- linux-2.6.11/.pc/2.6.patch/drivers/mtd/maps/ixp4xx.c 2005-03-01 23:37:30.000000000 -0800
++++ linux-2.6.11/drivers/mtd/maps/ixp4xx.c 2005-06-17 17:51:32.566982394 -0700
+@@ -94,7 +94,11 @@
+ struct resource *res;
+ };
+
++#ifdef CONFIG_ARCH_NSLU2
++static const char *probes[] = { "cmdlinepart", "RedBoot", "NSLU2", NULL };
++#else
+ static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };
++#endif
+
+ static int ixp4xx_flash_remove(struct device *_dev)
+ {
+--- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/hardware.h 2005-03-01 23:37:51.000000000 -0800
++++ linux-2.6.11/include/asm-arm/arch-ixp4xx/hardware.h 2005-06-17 17:51:32.567982242 -0700
+@@ -44,5 +44,6 @@
+ #include "ixdp425.h"
+ #include "coyote.h"
+ #include "prpmc1100.h"
++#include "nslu2.h"
+
+ #endif /* _ASM_ARCH_HARDWARE_H */
+--- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/irqs.h 2005-03-01 23:38:12.000000000 -0800
++++ linux-2.6.11/include/asm-arm/arch-ixp4xx/irqs.h 2005-06-17 17:51:32.568982091 -0700
+@@ -93,4 +93,11 @@
+ #define IRQ_COYOTE_PCI_SLOT1 IRQ_IXP4XX_GPIO11
+ #define IRQ_COYOTE_IDE IRQ_IXP4XX_GPIO5
+
++/*
++ * NSLU2 board IRQs
++ */
++#define IRQ_NSLU2_PCI_INTA IRQ_IXP4XX_GPIO11
++#define IRQ_NSLU2_PCI_INTB IRQ_IXP4XX_GPIO10
++#define IRQ_NSLU2_PCI_INTC IRQ_IXP4XX_GPIO9
++
+ #endif
diff --git a/packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch b/packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch
index e69de29bb2..6ef6befd73 100644
--- a/packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch
+++ b/packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch
@@ -0,0 +1,18 @@
+--- original/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:12 2005
++++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:25 2005
+@@ -139,7 +139,6 @@
+ };
+
+ static struct i2c_client x1205_i2c_client = {
+- .id = I2C_DRIVERID_X1205,
+ .flags = 0,
+ .addr = X1205_I2C_BUS_ADDR, // chip address - NOTE: 7bit
+ .adapter = NULL, // the adapter we sit on assigned in attach
+@@ -301,7 +300,6 @@
+ int errno;
+
+ x1205_i2c_client.adapter = adapter;
+- x1205_i2c_client.id++;
+
+ if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR) //test for functional driver
+ return -EIO;
diff --git a/packages/linux/nslu2-kernel/2.6/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6/.mtn2git_empty
diff --git a/packages/linux/nslu2-kernel/2.6/compile-switches.patch b/packages/linux/nslu2-kernel/2.6/compile-switches.patch
index e69de29bb2..4b7a688313 100644
--- a/packages/linux/nslu2-kernel/2.6/compile-switches.patch
+++ b/packages/linux/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
diff --git a/packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch b/packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch
index e69de29bb2..32f7e3ccb8 100644
--- a/packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch
+++ b/packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch
@@ -0,0 +1,11 @@
+--- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h 2005-03-01 23:37:49.000000000 -0800
++++ linux-2.6.11/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h 2005-06-17 17:51:32.569981939 -0700
+@@ -52,7 +52,7 @@
+ * Expansion BUS Configuration registers
+ */
+ #define IXP4XX_EXP_CFG_BASE_PHYS (0xC4000000)
+-#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFD000)
++#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFE000)
+ #define IXP4XX_EXP_CFG_REGION_SIZE (0x00001000)
+
+ /*
diff --git a/packages/linux/nslu2-kernel/2.6/x1205-rtc.patch b/packages/linux/nslu2-kernel/2.6/x1205-rtc.patch
index e69de29bb2..913f44e2ae 100644
--- a/packages/linux/nslu2-kernel/2.6/x1205-rtc.patch
+++ b/packages/linux/nslu2-kernel/2.6/x1205-rtc.patch
@@ -0,0 +1,38 @@
+--- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Kconfig 2005-06-17 17:51:28.635578329 -0700
++++ linux-2.6.11/drivers/i2c/chips/Kconfig 2005-06-17 17:51:32.565982545 -0700
+@@ -430,6 +430,15 @@
+
+ This driver can also be built as a module. If so, the module
+ will be called isp1301_omap.
++config SENSORS_X1205
++ tristate "Xicor X1205 RTC chip"
++ depends on I2C && EXPERIMENTAL
++ select I2C_SENSOR
++ help
++ If you say yes here you get support for the Xicor x1205 RTC chip.
++
++ This driver can also be built as a module. If so, the module
++ will be called x1205-rtc
+
+ config SENSORS_M41T00
+ tristate "ST M41T00 RTC chip"
+--- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Makefile 2005-06-17 17:51:28.636578177 -0700
++++ linux-2.6.11/drivers/i2c/chips/Makefile 2005-06-17 17:51:32.566982394 -0700
+@@ -41,6 +41,7 @@
+ obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
+ obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o
+ obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o
++obj-$(CONFIG_SENSORS_X1205) += x1205-rtc.o
+
+ ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
+ EXTRA_CFLAGS += -DDEBUG
+--- linux-2.6.11/.pc/2.6.patch/include/linux/i2c-id.h 2005-06-17 17:51:31.358165630 -0700
++++ linux-2.6.11/include/linux/i2c-id.h 2005-06-17 17:51:32.569981939 -0700
+@@ -108,6 +108,7 @@
+ #define I2C_DRIVERID_TDA7313 62 /* TDA7313 audio processor */
+ #define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */
+ #define I2C_DRIVERID_SAA7114H 64 /* video decoder */
++#define I2C_DRIVERID_X1205 0xF0
+
+
+ #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */