-Index: linux-2.6.22.19/fs/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/fs/Kconfig
-+++ linux-2.6.22.19/fs/Kconfig
-@@ -1367,6 +1367,71 @@ config CRAMFS
+--- a/fs/Kconfig
++++ b/fs/Kconfig
+@@ -1367,6 +1367,71 @@
If unsure, say N.
config VXFS_FS
tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
depends on BLOCK
-Index: linux-2.6.22.19/fs/Makefile
-===================================================================
---- linux-2.6.22.19.orig/fs/Makefile
-+++ linux-2.6.22.19/fs/Makefile
-@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD) += jbd/
+--- a/fs/Makefile
++++ b/fs/Makefile
+@@ -72,6 +72,7 @@
obj-$(CONFIG_JBD2) += jbd2/
obj-$(CONFIG_EXT2_FS) += ext2/
obj-$(CONFIG_CRAMFS) += cramfs/
obj-$(CONFIG_RAMFS) += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
-Index: linux-2.6.22.19/fs/squashfs/inode.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/squashfs/inode.c
++++ b/fs/squashfs/inode.c
@@ -0,0 +1,2122 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
+MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.22.19/fs/squashfs/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/squashfs/Makefile
++++ b/fs/squashfs/Makefile
@@ -0,0 +1,7 @@
+#
+# Makefile for the linux squashfs routines.
+obj-$(CONFIG_SQUASHFS) += squashfs.o
+squashfs-y += inode.o
+squashfs-y += squashfs2_0.o
-Index: linux-2.6.22.19/fs/squashfs/squashfs2_0.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/squashfs/squashfs2_0.c
++++ b/fs/squashfs/squashfs2_0.c
@@ -0,0 +1,758 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+
+ return 1;
+}
-Index: linux-2.6.22.19/fs/squashfs/squashfs.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/squashfs/squashfs.h
++++ b/fs/squashfs/squashfs.h
@@ -0,0 +1,86 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+ return 0;
+}
+#endif
-Index: linux-2.6.22.19/include/linux/magic.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/magic.h
-+++ linux-2.6.22.19/include/linux/magic.h
+--- a/include/linux/magic.h
++++ b/include/linux/magic.h
@@ -36,6 +36,9 @@
#define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
#define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs"
#define SMB_SUPER_MAGIC 0x517B
#define USBDEVICE_SUPER_MAGIC 0x9fa2
-Index: linux-2.6.22.19/include/linux/squashfs_fs.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/squashfs_fs.h
++++ b/include/linux/squashfs_fs.h
@@ -0,0 +1,911 @@
+#ifndef SQUASHFS_FS
+#define SQUASHFS_FS
+
+#endif
+#endif
-Index: linux-2.6.22.19/include/linux/squashfs_fs_i.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/squashfs_fs_i.h
++++ b/include/linux/squashfs_fs_i.h
@@ -0,0 +1,45 @@
+#ifndef SQUASHFS_FS_I
+#define SQUASHFS_FS_I
+ struct inode vfs_inode;
+};
+#endif
-Index: linux-2.6.22.19/include/linux/squashfs_fs_sb.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/squashfs_fs_sb.h
++++ b/include/linux/squashfs_fs_sb.h
@@ -0,0 +1,74 @@
+#ifndef SQUASHFS_FS_SB
+#define SQUASHFS_FS_SB
+ int (*read_fragment_index_table)(struct super_block *s);
+};
+#endif
-Index: linux-2.6.22.19/init/do_mounts_rd.c
-===================================================================
---- linux-2.6.22.19.orig/init/do_mounts_rd.c
-+++ linux-2.6.22.19/init/do_mounts_rd.c
+--- a/init/do_mounts_rd.c
++++ b/init/do_mounts_rd.c
@@ -5,6 +5,7 @@
#include <linux/ext2_fs.h>
#include <linux/romfs_fs.h>
#include <linux/initrd.h>
#include <linux/string.h>
-@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
+@@ -39,6 +40,7 @@
* numbers could not be found.
*
* We currently check for the following magic numbers:
* minix
* ext2
* romfs
-@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
+@@ -53,6 +55,7 @@
struct ext2_super_block *ext2sb;
struct romfs_super_block *romfsb;
struct cramfs_super *cramfsb;
int nblocks = -1;
unsigned char *buf;
-@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
+@@ -64,6 +67,7 @@
ext2sb = (struct ext2_super_block *) buf;
romfsb = (struct romfs_super_block *) buf;
cramfsb = (struct cramfs_super *) buf;
memset(buf, 0xe5, size);
/*
-@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
+@@ -101,6 +105,15 @@
goto done;
}
-Index: linux-2.6.22.19/include/linux/LzmaDecode.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/LzmaDecode.h
++++ b/include/linux/LzmaDecode.h
@@ -0,0 +1,100 @@
+/*
+ LzmaDecode.h
+ UInt32 *outSizeProcessed);
+
+#endif
-Index: linux-2.6.22.19/lib/LzmaDecode.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/lib/LzmaDecode.c
++++ b/lib/LzmaDecode.c
@@ -0,0 +1,663 @@
+/*
+ LzmaDecode.c
+ *outSizeProcessed = nowPos;
+ return LZMA_RESULT_OK;
+}
-Index: linux-2.6.22.19/lib/Makefile
-===================================================================
---- linux-2.6.22.19.orig/lib/Makefile
-+++ linux-2.6.22.19/lib/Makefile
-@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -13,7 +13,7 @@
lib-y += kobject.o kref.o kobject_uevent.o klist.o
obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
ifeq ($(CONFIG_DEBUG_KOBJECT),y)
CFLAGS_kobject.o += -DDEBUG
-@@ -58,6 +58,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o
+@@ -58,6 +58,7 @@
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
obj-$(CONFIG_SWIOTLB) += swiotlb.o
-Index: linux-2.6.22.19/fs/squashfs/inode.c
-===================================================================
---- linux-2.6.22.19.orig/fs/squashfs/inode.c
-+++ linux-2.6.22.19/fs/squashfs/inode.c
+--- a/fs/squashfs/inode.c
++++ b/fs/squashfs/inode.c
@@ -4,6 +4,9 @@
* Copyright (c) 2002, 2003, 2004, 2005, 2006
* Phillip Lougher <phillip@lougher.org.uk>
static void squashfs_put_super(struct super_block *);
static int squashfs_statfs(struct dentry *, struct kstatfs *);
static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
+@@ -64,7 +81,11 @@
const char *, void *, struct vfsmount *);
static struct file_system_type squashfs_fs_type = {
.owner = THIS_MODULE,
-@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
+@@ -249,6 +270,15 @@
if (compressed) {
int zlib_err;
stream.next_in = c_buffer;
stream.avail_in = c_byte;
stream.next_out = buffer;
-@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
+@@ -263,7 +293,7 @@
bytes = 0;
} else
bytes = stream.total_out;
up(&msblk->read_data_mutex);
}
-@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
+@@ -2045,15 +2075,19 @@
printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
"Phillip Lougher\n");
destroy_inodecache();
}
-@@ -2064,7 +2098,9 @@ out:
+@@ -2064,7 +2098,9 @@
static void __exit exit_squashfs_fs(void)
{
-Index: linux-2.6.22.19/Makefile
-===================================================================
---- linux-2.6.22.19.orig/Makefile
-+++ linux-2.6.22.19/Makefile
-@@ -507,6 +507,9 @@ CFLAGS += $(call cc-option, -fn
+--- a/Makefile
++++ b/Makefile
+@@ -507,6 +507,9 @@
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS)
-Index: linux-2.6.22.19/include/asm-mips/system.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-mips/system.h
-+++ linux-2.6.22.19/include/asm-mips/system.h
-@@ -188,7 +188,7 @@ extern __u64 __xchg_u64_unsupported_on_3
+--- a/include/asm-mips/system.h
++++ b/include/asm-mips/system.h
+@@ -188,7 +188,7 @@
if something tries to do an invalid xchg(). */
extern void __xchg_called_with_bad_pointer(void);
-Index: linux-2.6.22.19/drivers/mtd/chips/cfi_cmdset_0002.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ linux-2.6.22.19/drivers/mtd/chips/cfi_cmdset_0002.c
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -51,6 +51,7 @@
#define SST49LF040B 0x0050
#define SST49LF008A 0x005a
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -294,12 +295,19 @@ struct mtd_info *cfi_cmdset_0002(struct
+@@ -294,12 +295,19 @@
if (extp->MajorVersion != '1' ||
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-Index: linux-2.6.22.19/drivers/mtd/chips/cfi_cmdset_0001.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/chips/cfi_cmdset_0001.c
-+++ linux-2.6.22.19/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -933,7 +933,7 @@ static void __xipram xip_enable(struct m
+--- a/drivers/mtd/chips/cfi_cmdset_0001.c
++++ b/drivers/mtd/chips/cfi_cmdset_0001.c
+@@ -933,7 +933,7 @@
static int __xipram xip_wait_for_operation(
struct map_info *map, struct flchip *chip,
{
struct cfi_private *cfi = map->fldrv_priv;
struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-@@ -942,7 +942,7 @@ static int __xipram xip_wait_for_operati
+@@ -942,7 +942,7 @@
flstate_t oldstate, newstate;
start = xip_currtime();
if (usec == 0)
usec = 500000;
done = 0;
-@@ -1052,8 +1052,8 @@ static int __xipram xip_wait_for_operati
+@@ -1052,8 +1052,8 @@
#define XIP_INVAL_CACHED_RANGE(map, from, size) \
INVALIDATE_CACHED_RANGE(map, from, size)
#else
-@@ -1065,65 +1065,65 @@ static int __xipram xip_wait_for_operati
+@@ -1065,65 +1065,65 @@
static int inval_cache_and_wait_for_operation(
struct map_info *map, struct flchip *chip,
unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
/* Done and happy. */
chip->state = FL_STATUS;
return 0;
-@@ -1132,7 +1132,8 @@ static int inval_cache_and_wait_for_oper
+@@ -1132,7 +1132,8 @@
#endif
#define WAIT_TIMEOUT(map, chip, adr, udelay) \
static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
-@@ -1356,7 +1357,7 @@ static int __xipram do_write_oneword(str
+@@ -1356,7 +1357,7 @@
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, map_bankwidth(map),
if (ret) {
xip_enable(map, chip, adr);
printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
-@@ -1593,7 +1594,7 @@ static int __xipram do_write_buffer(stru
+@@ -1593,7 +1594,7 @@
ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
adr, len,
if (ret) {
map_write(map, CMD(0x70), cmd_adr);
chip->state = FL_STATUS;
-@@ -1728,7 +1729,7 @@ static int __xipram do_erase_oneblock(st
+@@ -1728,7 +1729,7 @@
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, len,
-Index: linux-2.6.22.19/fs/squashfs/Makefile
-===================================================================
---- linux-2.6.22.19.orig/fs/squashfs/Makefile
-+++ linux-2.6.22.19/fs/squashfs/Makefile
+--- a/fs/squashfs/Makefile
++++ b/fs/squashfs/Makefile
@@ -4,4 +4,3 @@
obj-$(CONFIG_SQUASHFS) += squashfs.o
squashfs-y += inode.o
-squashfs-y += squashfs2_0.o
-Index: linux-2.6.22.19/fs/squashfs/squashfs.h
-===================================================================
---- linux-2.6.22.19.orig/fs/squashfs/squashfs.h
-+++ linux-2.6.22.19/fs/squashfs/squashfs.h
+--- a/fs/squashfs/squashfs.h
++++ b/fs/squashfs/squashfs.h
@@ -24,6 +24,9 @@
#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
#undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
-Index: linux-2.6.22.19/arch/mips/kernel/head.S
-===================================================================
---- linux-2.6.22.19.orig/arch/mips/kernel/head.S
-+++ linux-2.6.22.19/arch/mips/kernel/head.S
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
@@ -129,11 +129,15 @@
#endif
.endm
-Index: linux-2.6.22.19/arch/mips/mm/tlbex.c
-===================================================================
---- linux-2.6.22.19.orig/arch/mips/mm/tlbex.c
-+++ linux-2.6.22.19/arch/mips/mm/tlbex.c
-@@ -887,7 +887,6 @@ static __init void build_tlb_write_entry
+--- a/arch/mips/mm/tlbex.c
++++ b/arch/mips/mm/tlbex.c
+@@ -887,7 +887,6 @@
case CPU_R10000:
case CPU_R12000:
case CPU_R14000:
case CPU_SB1:
case CPU_SB1A:
case CPU_4KSC:
-@@ -915,6 +914,7 @@ static __init void build_tlb_write_entry
+@@ -915,6 +914,7 @@
tlbw(p);
break;
-Index: linux-2.6.22.19/arch/mips/defconfig
-===================================================================
---- linux-2.6.22.19.orig/arch/mips/defconfig
-+++ linux-2.6.22.19/arch/mips/defconfig
-@@ -69,6 +69,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
+--- a/arch/mips/defconfig
++++ b/arch/mips/defconfig
+@@ -69,6 +69,7 @@
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
CONFIG_ARC=y
-Index: linux-2.6.22.19/arch/mips/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/arch/mips/Kconfig
-+++ linux-2.6.22.19/arch/mips/Kconfig
-@@ -704,6 +704,10 @@ config GENERIC_TIME
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -704,6 +704,10 @@
bool
default y
config SCHED_NO_NO_OMIT_FRAME_POINTER
bool
default y
-Index: linux-2.6.22.19/include/asm-mips/gpio.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/asm-mips/gpio.h
++++ b/include/asm-mips/gpio.h
@@ -0,0 +1,6 @@
+#ifndef _ASM_MIPS_GPIO_H
+#define _ASM_MIPS_GPIO_H
include/linux/screen_info.h | 9
75 files changed, 4594 insertions(+), 5204 deletions(-)
-Index: linux-2.6.22.19/MAINTAINERS
-===================================================================
---- linux-2.6.22.19.orig/MAINTAINERS
-+++ linux-2.6.22.19/MAINTAINERS
-@@ -1750,8 +1750,8 @@ T: http://www.harbaum.org/till/i2c_tiny_
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -1750,8 +1750,8 @@
S: Maintained
i386 BOOT CODE
L: Linux-Kernel@vger.kernel.org
S: Maintained
-Index: linux-2.6.22.19/arch/i386/Kconfig.cpu
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/Kconfig.cpu
-+++ linux-2.6.22.19/arch/i386/Kconfig.cpu
-@@ -346,6 +346,6 @@ config X86_CMOV
+--- a/arch/i386/Kconfig.cpu
++++ b/arch/i386/Kconfig.cpu
+@@ -346,6 +346,6 @@
config X86_MINIMUM_CPU_MODEL
int
+ default "4" if X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK
+ default "3"
-Index: linux-2.6.22.19/arch/i386/boot/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/Makefile
-+++ linux-2.6.22.19/arch/i386/boot/Makefile
-@@ -25,27 +25,53 @@ SVGA_MODE := -DSVGA_MODE=NORMAL_VGA
+--- a/arch/i386/boot/Makefile
++++ b/arch/i386/boot/Makefile
+@@ -25,27 +25,53 @@
#RAMDISK := -DRAMDISK=512
$(obj)/vmlinux.bin $(obj)/tools/build FORCE
$(call if_changed,image)
@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'
-@@ -53,12 +79,17 @@ $(obj)/zImage $(obj)/bzImage: $(obj)/boo
+@@ -53,12 +79,17 @@
$(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE
$(call if_changed,objcopy)
$(obj)/compressed/vmlinux: FORCE
$(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@
-Index: linux-2.6.22.19/arch/i386/boot/a20.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/a20.c
++++ b/arch/i386/boot/a20.c
@@ -0,0 +1,161 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ return -1;
+#endif
+}
-Index: linux-2.6.22.19/arch/i386/boot/apm.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/apm.c
++++ b/arch/i386/boot/apm.c
@@ -0,0 +1,97 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+}
+
+#endif
-Index: linux-2.6.22.19/arch/i386/boot/bitops.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/bitops.h
++++ b/arch/i386/boot/bitops.h
@@ -0,0 +1,45 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+}
+
+#endif /* BOOT_BITOPS_H */
-Index: linux-2.6.22.19/arch/i386/boot/boot.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/boot.h
++++ b/arch/i386/boot/boot.h
@@ -0,0 +1,290 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+#endif /* __ASSEMBLY__ */
+
+#endif /* BOOT_BOOT_H */
-Index: linux-2.6.22.19/arch/i386/boot/bootsect.S
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/bootsect.S
+--- a/arch/i386/boot/bootsect.S
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-vid_mode: .word SVGA_MODE
-root_dev: .word ROOT_DEV
-boot_flag: .word 0xAA55
-Index: linux-2.6.22.19/arch/i386/boot/cmdline.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/cmdline.c
++++ b/arch/i386/boot/cmdline.c
@@ -0,0 +1,97 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+
+ return len;
+}
-Index: linux-2.6.22.19/arch/i386/boot/code16gcc.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/code16gcc.h
++++ b/arch/i386/boot/code16gcc.h
@@ -0,0 +1,9 @@
+/*
+ * code16gcc.h
+#ifndef __ASSEMBLY__
+asm(".code16gcc");
+#endif
-Index: linux-2.6.22.19/arch/i386/boot/compressed/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/compressed/Makefile
-+++ linux-2.6.22.19/arch/i386/boot/compressed/Makefile
-@@ -9,9 +9,14 @@ targets := vmlinux vmlinux.bin vmlinux.
+--- a/arch/i386/boot/compressed/Makefile
++++ b/arch/i386/boot/compressed/Makefile
+@@ -9,9 +9,14 @@
EXTRA_AFLAGS := -traditional
LDFLAGS_vmlinux := -T
$(obj)/vmlinux: $(src)/vmlinux.lds $(obj)/head.o $(obj)/misc.o $(obj)/piggy.o FORCE
$(call if_changed,ld)
@:
-Index: linux-2.6.22.19/arch/i386/boot/compressed/head.S
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/compressed/head.S
-+++ linux-2.6.22.19/arch/i386/boot/compressed/head.S
-@@ -45,10 +45,10 @@ startup_32:
+--- a/arch/i386/boot/compressed/head.S
++++ b/arch/i386/boot/compressed/head.S
+@@ -45,10 +45,10 @@
* at and where we were actually loaded at. This can only be done
* with a short local call on x86. Nothing else will tell us what
* address we are running at. The reserved chunk of the real-mode
call 1f
1: popl %ebp
subl $1b, %ebp
-Index: linux-2.6.22.19/arch/i386/boot/compressed/misc.c
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/compressed/misc.c
-+++ linux-2.6.22.19/arch/i386/boot/compressed/misc.c
+--- a/arch/i386/boot/compressed/misc.c
++++ b/arch/i386/boot/compressed/misc.c
@@ -11,7 +11,6 @@
#undef CONFIG_PARAVIRT
#include <linux/screen_info.h>
#include <asm/io.h>
#include <asm/page.h>
-@@ -364,8 +363,10 @@ asmlinkage void decompress_kernel(void *
+@@ -364,8 +363,10 @@
if ((u32)output & (CONFIG_PHYSICAL_ALIGN -1))
error("Destination address not CONFIG_PHYSICAL_ALIGN aligned");
#ifndef CONFIG_RELOCATABLE
if ((u32)output != LOAD_PHYSICAL_ADDR)
error("Wrong destination address");
-Index: linux-2.6.22.19/arch/i386/boot/copy.S
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/copy.S
++++ b/arch/i386/boot/copy.S
@@ -0,0 +1,101 @@
+/* ----------------------------------------------------------------------- *
+ *
+ .size copy_to_gs, .-copy_to_gs
+
+#endif
-Index: linux-2.6.22.19/arch/i386/boot/cpu.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/cpu.c
++++ b/arch/i386/boot/cpu.c
@@ -0,0 +1,69 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ return 0;
+ }
+}
-Index: linux-2.6.22.19/arch/i386/boot/cpucheck.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/cpucheck.c
++++ b/arch/i386/boot/cpucheck.c
@@ -0,0 +1,266 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+
+ return (cpu.level < req_level || err) ? -1 : 0;
+}
-Index: linux-2.6.22.19/arch/i386/boot/edd.S
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/edd.S
+--- a/arch/i386/boot/edd.S
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
-
-edd_done:
-#endif
-Index: linux-2.6.22.19/arch/i386/boot/edd.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/edd.c
++++ b/arch/i386/boot/edd.c
@@ -0,0 +1,196 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+}
+
+#endif
-Index: linux-2.6.22.19/arch/i386/boot/header.S
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/header.S
++++ b/arch/i386/boot/header.S
@@ -0,0 +1,283 @@
+/*
+ * header.S
+setup_corrupt:
+ .byte 7
+ .string "No setup signature found..."
-Index: linux-2.6.22.19/arch/i386/boot/main.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/main.c
++++ b/arch/i386/boot/main.c
@@ -0,0 +1,161 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ /* Do the last things and invoke protected mode */
+ go_to_protected_mode();
+}
-Index: linux-2.6.22.19/arch/i386/boot/mca.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/mca.c
++++ b/arch/i386/boot/mca.c
@@ -0,0 +1,43 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ copy_from_fs(&boot_params.sys_desc_table, bx, len);
+ return 0;
+}
-Index: linux-2.6.22.19/arch/i386/boot/memory.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/memory.c
++++ b/arch/i386/boot/memory.c
@@ -0,0 +1,99 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+
+ return detect_memory_88();
+}
-Index: linux-2.6.22.19/arch/i386/boot/pm.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/pm.c
++++ b/arch/i386/boot/pm.c
@@ -0,0 +1,170 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ protected_mode_jump(boot_params.hdr.code32_start,
+ (u32)&boot_params + (ds() << 4));
+}
-Index: linux-2.6.22.19/arch/i386/boot/pmjump.S
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/pmjump.S
++++ b/arch/i386/boot/pmjump.S
@@ -0,0 +1,54 @@
+/* ----------------------------------------------------------------------- *
+ *
+ .word __BOOT_CS # segment
+
+ .size protected_mode_jump, .-protected_mode_jump
-Index: linux-2.6.22.19/arch/i386/boot/printf.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/printf.c
++++ b/arch/i386/boot/printf.c
@@ -0,0 +1,331 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+
+ return printed;
+}
-Index: linux-2.6.22.19/arch/i386/boot/setup.S
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/setup.S
+--- a/arch/i386/boot/setup.S
+++ /dev/null
@@ -1,1075 +0,0 @@
-/*
-enddata:
-.bss
-endbss:
-Index: linux-2.6.22.19/arch/i386/boot/setup.ld
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/setup.ld
++++ b/arch/i386/boot/setup.ld
@@ -0,0 +1,54 @@
+/*
+ * setup.ld
+ . = ASSERT(_end <= 0x8000, "Setup too big!");
+ . = ASSERT(hdr == 0x1f1, "The setup header has the wrong offset!");
+}
-Index: linux-2.6.22.19/arch/i386/boot/string.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/string.c
++++ b/arch/i386/boot/string.c
@@ -0,0 +1,34 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ }
+ return 0;
+}
-Index: linux-2.6.22.19/arch/i386/boot/tools/build.c
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/tools/build.c
-+++ linux-2.6.22.19/arch/i386/boot/tools/build.c
+--- a/arch/i386/boot/tools/build.c
++++ b/arch/i386/boot/tools/build.c
@@ -1,13 +1,12 @@
/*
* Copyright (C) 1991, 1992 Linus Torvalds
{
va_list args;
va_start(args, str);
-@@ -57,15 +59,9 @@ void die(const char * str, ...)
+@@ -57,15 +59,9 @@
exit(1);
}
}
int main(int argc, char ** argv)
-@@ -73,27 +69,30 @@ int main(int argc, char ** argv)
+@@ -73,27 +69,30 @@
unsigned int i, sz, setup_sectors;
int c;
u32 sys_size;
die("Couldn't stat root device.");
}
major_root = major(sb.st_rdev);
-@@ -108,79 +107,62 @@ int main(int argc, char ** argv)
+@@ -108,79 +107,62 @@
}
fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
+ /* Everything is OK */
+ return 0;
}
-Index: linux-2.6.22.19/arch/i386/boot/tty.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/tty.c
++++ b/arch/i386/boot/tty.c
@@ -0,0 +1,112 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+
+ return 0; /* Timeout! */
+}
-Index: linux-2.6.22.19/arch/i386/boot/version.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/version.c
++++ b/arch/i386/boot/version.c
@@ -0,0 +1,23 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+const char kernel_version[] =
+ UTS_RELEASE " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ") "
+ UTS_VERSION;
-Index: linux-2.6.22.19/arch/i386/boot/vesa.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/vesa.h
++++ b/arch/i386/boot/vesa.h
@@ -0,0 +1,79 @@
+/* ----------------------------------------------------------------------- *
+ *
+} __attribute__((packed));
+
+#endif /* LIB_SYS_VESA_H */
-Index: linux-2.6.22.19/arch/i386/boot/video-bios.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/video-bios.c
++++ b/arch/i386/boot/video-bios.c
@@ -0,0 +1,125 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ .xmode_first = VIDEO_FIRST_BIOS,
+ .xmode_n = 0x80,
+};
-Index: linux-2.6.22.19/arch/i386/boot/video-vesa.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/video-vesa.c
++++ b/arch/i386/boot/video-vesa.c
@@ -0,0 +1,283 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ .xmode_first = VIDEO_FIRST_VESA,
+ .xmode_n = 0x200,
+};
-Index: linux-2.6.22.19/arch/i386/boot/video-vga.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/video-vga.c
++++ b/arch/i386/boot/video-vga.c
@@ -0,0 +1,260 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ .probe = vga_probe,
+ .set_mode = vga_set_mode,
+};
-Index: linux-2.6.22.19/arch/i386/boot/video.S
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/boot/video.S
+--- a/arch/i386/boot/video.S
+++ /dev/null
@@ -1,2043 +0,0 @@
-/* video.S
-adapter: .byte 0 # Video adapter: 0=CGA/MDA/HGA,1=EGA,2=VGA
-video_segment: .word 0xb800 # Video memory segment
-force_size: .word 0 # Use this size instead of the one in BIOS vars
-Index: linux-2.6.22.19/arch/i386/boot/video.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/video.c
++++ b/arch/i386/boot/video.c
@@ -0,0 +1,456 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+ if (do_restore)
+ restore_screen();
+}
-Index: linux-2.6.22.19/arch/i386/boot/video.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/video.h
++++ b/arch/i386/boot/video.h
@@ -0,0 +1,145 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+u16 vga_crtc(void); /* video-vga.c */
+
+#endif /* BOOT_VIDEO_H */
-Index: linux-2.6.22.19/arch/i386/boot/voyager.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/boot/voyager.c
++++ b/arch/i386/boot/voyager.c
@@ -0,0 +1,46 @@
+/* -*- linux-c -*- ------------------------------------------------------- *
+ *
+}
+
+#endif /* CONFIG_X86_VOYAGER */
-Index: linux-2.6.22.19/arch/i386/kernel/cpu/addon_cpuid_features.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/arch/i386/kernel/cpu/addon_cpuid_features.c
++++ b/arch/i386/kernel/cpu/addon_cpuid_features.c
@@ -0,0 +1,50 @@
+
+/*
+ set_bit(cb->feature, c->x86_capability);
+ }
+}
-Index: linux-2.6.22.19/arch/i386/kernel/cpu/common.c
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/kernel/cpu/common.c
-+++ linux-2.6.22.19/arch/i386/kernel/cpu/common.c
-@@ -353,6 +353,8 @@ static void __cpuinit generic_identify(s
+--- a/arch/i386/kernel/cpu/common.c
++++ b/arch/i386/kernel/cpu/common.c
+@@ -353,6 +353,8 @@
if ( xlvl >= 0x80000004 )
get_model_name(c); /* Default name */
}
}
early_intel_workaround(c);
-Index: linux-2.6.22.19/arch/i386/kernel/cpu/proc.c
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/kernel/cpu/proc.c
-+++ linux-2.6.22.19/arch/i386/kernel/cpu/proc.c
-@@ -29,7 +29,8 @@ static int show_cpuinfo(struct seq_file
+--- a/arch/i386/kernel/cpu/proc.c
++++ b/arch/i386/kernel/cpu/proc.c
+@@ -29,7 +29,8 @@
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL,
NULL, NULL, NULL, "mp", "nx", NULL, "mmxext", NULL,
/* Transmeta-defined */
"recovery", "longrun", NULL, "lrti", NULL, NULL, NULL, NULL,
-@@ -40,8 +41,9 @@ static int show_cpuinfo(struct seq_file
+@@ -40,8 +41,9 @@
/* Other (Linux-defined) */
"cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr",
NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/* Intel-defined (#2) */
-@@ -57,9 +59,16 @@ static int show_cpuinfo(struct seq_file
+@@ -57,9 +59,16 @@
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/* AMD-defined (#2) */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
};
-Index: linux-2.6.22.19/arch/i386/kernel/e820.c
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/kernel/e820.c
-+++ linux-2.6.22.19/arch/i386/kernel/e820.c
-@@ -734,7 +734,7 @@ void __init print_memory_map(char *who)
+--- a/arch/i386/kernel/e820.c
++++ b/arch/i386/kernel/e820.c
+@@ -734,7 +734,7 @@
case E820_NVS:
printk("(ACPI NVS)\n");
break;
break;
}
}
-Index: linux-2.6.22.19/arch/i386/kernel/setup.c
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/kernel/setup.c
-+++ linux-2.6.22.19/arch/i386/kernel/setup.c
-@@ -102,19 +102,10 @@ static unsigned int highmem_pages = -1;
+--- a/arch/i386/kernel/setup.c
++++ b/arch/i386/kernel/setup.c
+@@ -102,19 +102,10 @@
/*
* Setup options
*/
struct edid_info edid_info;
EXPORT_SYMBOL_GPL(edid_info);
struct ist_info ist_info;
-@@ -134,7 +125,7 @@ unsigned long saved_videomode;
+@@ -134,7 +125,7 @@
static char __initdata command_line[COMMAND_LINE_SIZE];
#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
struct edd edd;
-@@ -528,7 +519,6 @@ void __init setup_arch(char **cmdline_p)
+@@ -528,7 +519,6 @@
#endif
ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
screen_info = SCREEN_INFO;
edid_info = EDID_INFO;
apm_info.bios = APM_BIOS_INFO;
-Index: linux-2.6.22.19/arch/i386/kernel/verify_cpu.S
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/kernel/verify_cpu.S
+--- a/arch/i386/kernel/verify_cpu.S
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Check if CPU has some minimum CPUID bits
- popfl
- movl $1,%eax
- ret
-Index: linux-2.6.22.19/arch/x86_64/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/Kconfig
-+++ linux-2.6.22.19/arch/x86_64/Kconfig
-@@ -427,6 +427,10 @@ config NR_CPUS
+--- a/arch/x86_64/Kconfig
++++ b/arch/x86_64/Kconfig
+@@ -427,6 +427,10 @@
This is purely to save memory - each supported CPU requires
memory in the static kernel configuration.
config HOTPLUG_CPU
bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)"
depends on SMP && HOTPLUG && EXPERIMENTAL
-Index: linux-2.6.22.19/arch/x86_64/boot/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/Makefile
-+++ linux-2.6.22.19/arch/x86_64/boot/Makefile
+--- a/arch/x86_64/boot/Makefile
++++ b/arch/x86_64/boot/Makefile
@@ -1,135 +1,9 @@
#
# arch/x86_64/boot/Makefile
- sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)"
+src := arch/i386/boot
+include $(src)/Makefile
-Index: linux-2.6.22.19/arch/x86_64/boot/bootsect.S
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/bootsect.S
+--- a/arch/x86_64/boot/bootsect.S
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-vid_mode: .word SVGA_MODE
-root_dev: .word ROOT_DEV
-boot_flag: .word 0xAA55
-Index: linux-2.6.22.19/arch/x86_64/boot/compressed/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/compressed/Makefile
-+++ linux-2.6.22.19/arch/x86_64/boot/compressed/Makefile
+--- a/arch/x86_64/boot/compressed/Makefile
++++ b/arch/x86_64/boot/compressed/Makefile
@@ -7,11 +7,12 @@
#
LDFLAGS := -m elf_x86_64
LDFLAGS_vmlinux := -T
-Index: linux-2.6.22.19/arch/x86_64/boot/compressed/head.S
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/compressed/head.S
-+++ linux-2.6.22.19/arch/x86_64/boot/compressed/head.S
-@@ -46,10 +46,10 @@ startup_32:
+--- a/arch/x86_64/boot/compressed/head.S
++++ b/arch/x86_64/boot/compressed/head.S
+@@ -46,10 +46,10 @@
* at and where we were actually loaded at. This can only be done
* with a short local call on x86. Nothing else will tell us what
* address we are running at. The reserved chunk of the real-mode
call 1f
1: popl %ebp
subl $1b, %ebp
-Index: linux-2.6.22.19/arch/x86_64/boot/install.sh
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/install.sh
+--- a/arch/x86_64/boot/install.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-. $srctree/arch/i386/boot/install.sh
-Index: linux-2.6.22.19/arch/x86_64/boot/mtools.conf.in
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/mtools.conf.in
+--- a/arch/x86_64/boot/mtools.conf.in
+++ /dev/null
@@ -1,17 +0,0 @@
-#
- file="@OBJ@/fdimage" cylinders=80 heads=2 sectors=36 filter
-
-
-Index: linux-2.6.22.19/arch/x86_64/boot/setup.S
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/setup.S
+--- a/arch/x86_64/boot/setup.S
+++ /dev/null
@@ -1,826 +0,0 @@
-/*
-enddata:
-.bss
-endbss:
-Index: linux-2.6.22.19/arch/x86_64/boot/tools/build.c
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/boot/tools/build.c
+--- a/arch/x86_64/boot/tools/build.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-
- return 0; /* Everything is OK */
-}
-Index: linux-2.6.22.19/arch/x86_64/kernel/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/kernel/Makefile
-+++ linux-2.6.22.19/arch/x86_64/kernel/Makefile
-@@ -43,6 +43,7 @@ obj-$(CONFIG_PCI) += early-quirks.o
+--- a/arch/x86_64/kernel/Makefile
++++ b/arch/x86_64/kernel/Makefile
+@@ -43,6 +43,7 @@
obj-y += topology.o
obj-y += intel_cacheinfo.o
obj-y += pcspeaker.o
CFLAGS_vsyscall.o := $(PROFILING) -g0
-@@ -53,6 +54,7 @@ cpuid-$(subst m,y,$(CONFIG_X86_CPUID))
+@@ -53,6 +54,7 @@
topology-y += ../../i386/kernel/topology.o
microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o
intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o
quirks-y += ../../i386/kernel/quirks.o
i8237-y += ../../i386/kernel/i8237.o
msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o
-Index: linux-2.6.22.19/arch/x86_64/kernel/setup.c
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/kernel/setup.c
-+++ linux-2.6.22.19/arch/x86_64/kernel/setup.c
-@@ -846,6 +846,8 @@ void __cpuinit identify_cpu(struct cpuin
+--- a/arch/x86_64/kernel/setup.c
++++ b/arch/x86_64/kernel/setup.c
+@@ -846,6 +846,8 @@
c->x86_capability[2] = cpuid_edx(0x80860001);
}
c->apicid = phys_pkg_id(0);
/*
-@@ -931,7 +933,7 @@ static int show_cpuinfo(struct seq_file
+@@ -931,7 +933,7 @@
"fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
"cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov",
"pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx",
/* AMD-defined */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-@@ -947,10 +949,11 @@ static int show_cpuinfo(struct seq_file
+@@ -947,10 +949,11 @@
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/* Other (Linux-defined) */
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
/* Intel-defined (#2) */
-@@ -961,7 +964,7 @@ static int show_cpuinfo(struct seq_file
+@@ -961,7 +964,7 @@
/* VIA/Cyrix/Centaur-defined */
NULL, NULL, "rng", "rng_en", NULL, NULL, "ace", "ace_en",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-@@ -972,6 +975,12 @@ static int show_cpuinfo(struct seq_file
+@@ -972,6 +975,12 @@
"osvw", "ibs", NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
};
static char *x86_power_flags[] = {
"ts", /* temperature sensor */
-Index: linux-2.6.22.19/arch/x86_64/kernel/verify_cpu.S
-===================================================================
---- linux-2.6.22.19.orig/arch/x86_64/kernel/verify_cpu.S
-+++ linux-2.6.22.19/arch/x86_64/kernel/verify_cpu.S
-@@ -37,20 +37,6 @@ verify_cpu:
+--- a/arch/x86_64/kernel/verify_cpu.S
++++ b/arch/x86_64/kernel/verify_cpu.S
+@@ -37,20 +37,6 @@
pushl $0 # Kill any dangerous flags
popfl
pushfl # standard way to check for cpuid
popl %eax
movl %eax,%ebx
-@@ -79,8 +65,8 @@ verify_cpu:
+@@ -79,8 +65,8 @@
verify_cpu_noamd:
movl $0x1,%eax # Does the cpu have what it takes
cpuid
jnz verify_cpu_no_longmode
movl $0x80000000,%eax # See if extended cpuid is implemented
-@@ -90,8 +76,8 @@ verify_cpu_noamd:
+@@ -90,8 +76,8 @@
movl $0x80000001,%eax # Does the cpu have what it takes
cpuid
jnz verify_cpu_no_longmode
verify_cpu_sse_test:
-Index: linux-2.6.22.19/drivers/ide/legacy/hd.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/ide/legacy/hd.c
-+++ linux-2.6.22.19/drivers/ide/legacy/hd.c
-@@ -718,74 +718,25 @@ static int __init hd_init(void)
+--- a/drivers/ide/legacy/hd.c
++++ b/drivers/ide/legacy/hd.c
+@@ -718,74 +718,25 @@
device_timer.function = hd_times_out;
blk_queue_hardsect_size(hd_queue, 512);
for (drive=0 ; drive < NR_HD ; drive++) {
struct gendisk *disk = alloc_disk(64);
-Index: linux-2.6.22.19/include/asm-i386/boot.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-i386/boot.h
-+++ linux-2.6.22.19/include/asm-i386/boot.h
+--- a/include/asm-i386/boot.h
++++ b/include/asm-i386/boot.h
@@ -1,5 +1,5 @@
-#ifndef _LINUX_BOOT_H
-#define _LINUX_BOOT_H
-#endif /* _LINUX_BOOT_H */
+#endif /* _ASM_BOOT_H */
-Index: linux-2.6.22.19/include/asm-i386/bootparam.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/asm-i386/bootparam.h
++++ b/include/asm-i386/bootparam.h
@@ -0,0 +1,85 @@
+#ifndef _ASM_BOOTPARAM_H
+#define _ASM_BOOTPARAM_H
+} __attribute__((packed));
+
+#endif /* _ASM_BOOTPARAM_H */
-Index: linux-2.6.22.19/include/asm-i386/cpufeature.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-i386/cpufeature.h
-+++ linux-2.6.22.19/include/asm-i386/cpufeature.h
+--- a/include/asm-i386/cpufeature.h
++++ b/include/asm-i386/cpufeature.h
@@ -12,7 +12,7 @@
#endif
#include <asm/required-features.h>
#define boot_cpu_has(bit) cpu_has(&boot_cpu_data, bit)
#define cpu_has_fpu boot_cpu_has(X86_FEATURE_FPU)
-Index: linux-2.6.22.19/include/asm-i386/e820.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-i386/e820.h
-+++ linux-2.6.22.19/include/asm-i386/e820.h
+--- a/include/asm-i386/e820.h
++++ b/include/asm-i386/e820.h
@@ -25,13 +25,15 @@
#ifndef __ASSEMBLY__
};
extern struct e820map e820;
-Index: linux-2.6.22.19/include/asm-i386/processor.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-i386/processor.h
-+++ linux-2.6.22.19/include/asm-i386/processor.h
-@@ -119,6 +119,7 @@ void __init cpu_detect(struct cpuinfo_x8
+--- a/include/asm-i386/processor.h
++++ b/include/asm-i386/processor.h
+@@ -119,6 +119,7 @@
extern void identify_boot_cpu(void);
extern void identify_secondary_cpu(struct cpuinfo_x86 *);
extern void print_cpu_info(struct cpuinfo_x86 *);
extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c);
extern unsigned short num_cache_leaves;
-Index: linux-2.6.22.19/include/asm-i386/required-features.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-i386/required-features.h
-+++ linux-2.6.22.19/include/asm-i386/required-features.h
+--- a/include/asm-i386/required-features.h
++++ b/include/asm-i386/required-features.h
@@ -3,7 +3,7 @@
/* Define minimum CPUID feature set for kernel These bits are checked
+#define REQUIRED_MASK7 0
#endif
-Index: linux-2.6.22.19/include/asm-i386/setup.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-i386/setup.h
-+++ linux-2.6.22.19/include/asm-i386/setup.h
+--- a/include/asm-i386/setup.h
++++ b/include/asm-i386/setup.h
@@ -26,12 +26,15 @@
#define NEW_CL_POINTER 0x228 /* Relative to real mode data */
#define SCREEN_INFO (*(struct screen_info *) (PARAM+0))
#define EXT_MEM_K (*(unsigned short *) (PARAM+2))
#define ALT_MEM_K (*(unsigned long *) (PARAM+0x1e0))
-@@ -39,8 +42,7 @@ extern unsigned char boot_params[PARAM_S
+@@ -39,8 +42,7 @@
#define E820_MAP ((struct e820entry *) (PARAM+E820MAP))
#define APM_BIOS_INFO (*(struct apm_bios_info *) (PARAM+0x40))
#define IST_INFO (*(struct ist_info *) (PARAM+0x60))
#define EFI_SYSTAB ((efi_system_table_t *) *((unsigned long *)(PARAM+0x1c4)))
#define EFI_MEMDESC_SIZE (*((unsigned long *) (PARAM+0x1c8)))
#define EFI_MEMDESC_VERSION (*((unsigned long *) (PARAM+0x1cc)))
-Index: linux-2.6.22.19/include/asm-x86_64/alternative.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-x86_64/alternative.h
-+++ linux-2.6.22.19/include/asm-x86_64/alternative.h
+--- a/include/asm-x86_64/alternative.h
++++ b/include/asm-x86_64/alternative.h
@@ -5,6 +5,41 @@
#include <linux/types.h>
#include <asm/cpufeature.h>
struct alt_instr {
-@@ -108,39 +143,6 @@ static inline void alternatives_smp_swit
+@@ -108,39 +143,6 @@
*/
#define ASM_OUTPUT2(a, b) a, b
struct paravirt_patch;
#ifdef CONFIG_PARAVIRT
void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end);
-Index: linux-2.6.22.19/include/asm-x86_64/boot.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-x86_64/boot.h
-+++ linux-2.6.22.19/include/asm-x86_64/boot.h
+--- a/include/asm-x86_64/boot.h
++++ b/include/asm-x86_64/boot.h
@@ -1,15 +1 @@
-#ifndef _LINUX_BOOT_H
-#define _LINUX_BOOT_H
-
-#endif
+#include <asm-i386/boot.h>
-Index: linux-2.6.22.19/include/asm-x86_64/bootparam.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/asm-x86_64/bootparam.h
++++ b/include/asm-x86_64/bootparam.h
@@ -0,0 +1 @@
+#include <asm-i386/bootparam.h>
-Index: linux-2.6.22.19/include/asm-x86_64/cpufeature.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-x86_64/cpufeature.h
-+++ linux-2.6.22.19/include/asm-x86_64/cpufeature.h
+--- a/include/asm-x86_64/cpufeature.h
++++ b/include/asm-x86_64/cpufeature.h
@@ -7,115 +7,24 @@
#ifndef __ASM_X8664_CPUFEATURE_H
#define __ASM_X8664_CPUFEATURE_H
-#define cpu_has_bts boot_cpu_has(X86_FEATURE_BTS)
#endif /* __ASM_X8664_CPUFEATURE_H */
-Index: linux-2.6.22.19/include/asm-x86_64/e820.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-x86_64/e820.h
-+++ linux-2.6.22.19/include/asm-x86_64/e820.h
+--- a/include/asm-x86_64/e820.h
++++ b/include/asm-x86_64/e820.h
@@ -11,7 +11,9 @@
#ifndef __E820_HEADER
#define __E820_HEADER
#define E820MAP 0x2d0 /* our map */
#define E820MAX 128 /* number of entries in E820MAP */
-@@ -30,7 +32,7 @@ struct e820entry {
+@@ -30,7 +32,7 @@
} __attribute__((packed));
struct e820map {
struct e820entry map[E820MAX];
};
-Index: linux-2.6.22.19/include/asm-x86_64/processor.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-x86_64/processor.h
-+++ linux-2.6.22.19/include/asm-x86_64/processor.h
-@@ -100,6 +100,7 @@ extern char ignore_irq13;
+--- a/include/asm-x86_64/processor.h
++++ b/include/asm-x86_64/processor.h
+@@ -100,6 +100,7 @@
extern void identify_cpu(struct cpuinfo_x86 *);
extern void print_cpu_info(struct cpuinfo_x86 *);
extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c);
extern unsigned short num_cache_leaves;
-@@ -368,8 +369,6 @@ static inline void sync_core(void)
+@@ -368,8 +369,6 @@
asm volatile("cpuid" : "=a" (tmp) : "0" (1) : "ebx","ecx","edx","memory");
}
#define ARCH_HAS_PREFETCH
static inline void prefetch(void *x)
{
-Index: linux-2.6.22.19/include/asm-x86_64/required-features.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/asm-x86_64/required-features.h
++++ b/include/asm-x86_64/required-features.h
@@ -0,0 +1,46 @@
+#ifndef _ASM_REQUIRED_FEATURES_H
+#define _ASM_REQUIRED_FEATURES_H 1
+#define REQUIRED_MASK7 0
+
+#endif
-Index: linux-2.6.22.19/include/asm-x86_64/segment.h
-===================================================================
---- linux-2.6.22.19.orig/include/asm-x86_64/segment.h
-+++ linux-2.6.22.19/include/asm-x86_64/segment.h
+--- a/include/asm-x86_64/segment.h
++++ b/include/asm-x86_64/segment.h
@@ -3,6 +3,14 @@
#include <asm/cache.h>
#define __KERNEL_CS 0x10
#define __KERNEL_DS 0x18
-Index: linux-2.6.22.19/include/linux/edd.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/edd.h
-+++ linux-2.6.22.19/include/linux/edd.h
+--- a/include/linux/edd.h
++++ b/include/linux/edd.h
@@ -49,10 +49,6 @@
#define EDD_MBR_SIG_MAX 16 /* max number of signatures to store */
#define EDD_MBR_SIG_NR_BUF 0x1ea /* addr of number of MBR signtaures at EDD_MBR_SIG_BUF
#ifndef __ASSEMBLY__
-Index: linux-2.6.22.19/include/linux/screen_info.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/screen_info.h
-+++ linux-2.6.22.19/include/linux/screen_info.h
+--- a/include/linux/screen_info.h
++++ b/include/linux/screen_info.h
@@ -10,7 +10,7 @@
struct screen_info {
u8 orig_x; /* 0x00 */
u16 orig_video_page; /* 0x04 */
u8 orig_video_mode; /* 0x06 */
u8 orig_video_cols; /* 0x07 */
-@@ -27,7 +27,7 @@ struct screen_info {
+@@ -27,7 +27,7 @@
u16 lfb_depth; /* 0x16 */
u32 lfb_base; /* 0x18 */
u32 lfb_size; /* 0x1c */
u16 lfb_linelength; /* 0x24 */
u8 red_size; /* 0x26 */
u8 red_pos; /* 0x27 */
-@@ -42,9 +42,8 @@ struct screen_info {
+@@ -42,9 +42,8 @@
u16 pages; /* 0x32 */
u16 vesa_attributes; /* 0x34 */
u32 capabilities; /* 0x36 */
arch/i386/kernel/cpu/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: linux-2.6.22.19/arch/i386/kernel/cpu/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/i386/kernel/cpu/Makefile
-+++ linux-2.6.22.19/arch/i386/kernel/cpu/Makefile
-@@ -8,7 +8,7 @@ obj-y += amd.o
+--- a/arch/i386/kernel/cpu/Makefile
++++ b/arch/i386/kernel/cpu/Makefile
+@@ -8,7 +8,7 @@
obj-y += cyrix.o
obj-y += centaur.o
obj-y += transmeta.o
-Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/devices/block2mtd.c
-+++ linux-2.6.22.19/drivers/mtd/devices/block2mtd.c
+--- a/drivers/mtd/devices/block2mtd.c
++++ b/drivers/mtd/devices/block2mtd.c
@@ -16,6 +16,7 @@
#include <linux/list.h>
#include <linux/init.h>
#include <linux/buffer_head.h>
#include <linux/mutex.h>
#include <linux/mount.h>
-@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
+@@ -237,10 +238,11 @@
/* FIXME: ensure that mtd->size % erase_size == 0 */
if (!devname)
return NULL;
-@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
+@@ -279,14 +281,18 @@
/* Setup the MTD structure */
/* make the name contain the block device in */
dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1;
dev->mtd.type = MTD_RAM;
-@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
+@@ -298,15 +304,18 @@
dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
return dev;
devinit_err:
-@@ -379,9 +388,9 @@ static char block2mtd_paramline[80 + 12]
+@@ -379,9 +388,9 @@
static int block2mtd_setup2(const char *val)
{
char *name;
size_t erase_size = PAGE_SIZE;
int i, ret;
-@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
+@@ -392,7 +401,7 @@
strcpy(str, val);
kill_final_newline(str);
token[i] = strsep(&str, ",");
if (str)
-@@ -412,8 +421,10 @@ static int block2mtd_setup2(const char *
+@@ -412,8 +421,10 @@
parse_err("illegal erase size");
}
}
return 0;
}
-@@ -447,7 +458,7 @@ static int block2mtd_setup(const char *v
+@@ -447,7 +458,7 @@
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
-Index: linux-2.6.22.19/drivers/mtd/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/Kconfig
-+++ linux-2.6.22.19/drivers/mtd/Kconfig
-@@ -47,6 +47,16 @@ config MTD_PARTITIONS
+--- a/drivers/mtd/Kconfig
++++ b/drivers/mtd/Kconfig
+@@ -47,6 +47,16 @@
devices. Partitioning on NFTL 'devices' is a different - that's the
'normal' form of partitioning used on a block device.
config MTD_REDBOOT_PARTS
tristate "RedBoot partition table parsing"
depends on MTD_PARTITIONS
-Index: linux-2.6.22.19/drivers/mtd/mtdpart.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/mtdpart.c
-+++ linux-2.6.22.19/drivers/mtd/mtdpart.c
+--- a/drivers/mtd/mtdpart.c
++++ b/drivers/mtd/mtdpart.c
@@ -20,6 +20,8 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
-@@ -39,7 +41,7 @@ struct mtd_part {
+@@ -39,7 +41,7 @@
* the pointer to that structure with this macro.
*/
#define PART(x) ((struct mtd_part *)(x))
/*
* MTD methods which simply translate the effective address and pass through
-@@ -308,6 +310,312 @@ int del_mtd_partitions(struct mtd_info *
+@@ -308,6 +310,312 @@
return 0;
}
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
-@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info *
+@@ -320,168 +628,31 @@
int nbparts)
{
struct mtd_part *slave;
}
}
-@@ -557,6 +728,32 @@ int parse_mtd_partitions(struct mtd_info
+@@ -557,6 +728,32 @@
return ret;
}
+EXPORT_SYMBOL_GPL(refresh_mtd_partitions);
EXPORT_SYMBOL_GPL(register_mtd_parser);
EXPORT_SYMBOL_GPL(deregister_mtd_parser);
-Index: linux-2.6.22.19/drivers/mtd/devices/block2mtd.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/devices/block2mtd.c
-+++ linux-2.6.22.19/drivers/mtd/devices/block2mtd.c
-@@ -34,6 +34,8 @@ struct block2mtd_dev {
+--- a/drivers/mtd/devices/block2mtd.c
++++ b/drivers/mtd/devices/block2mtd.c
+@@ -34,6 +34,8 @@
struct block_device *blkdev;
struct mtd_info mtd;
struct mutex write_mutex;
};
-@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in
+@@ -86,6 +88,12 @@
size_t len = instr->len;
int err;
instr->state = MTD_ERASING;
mutex_lock(&dev->write_mutex);
err = _block2mtd_erase(dev, from, len);
-@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
+@@ -98,6 +106,10 @@
instr->state = MTD_ERASE_DONE;
mtd_erase_callback(instr);
return err;
}
-@@ -109,10 +121,14 @@ static int block2mtd_read(struct mtd_inf
+@@ -109,10 +121,14 @@
struct page *page;
int index = from >> PAGE_SHIFT;
int offset = from & (PAGE_SIZE-1);
if (from + len > mtd->size)
len = mtd->size - from;
-@@ -127,10 +143,14 @@ static int block2mtd_read(struct mtd_inf
+@@ -127,10 +143,14 @@
len = len - cpylen;
page = page_read(dev->blkdev->bd_inode->i_mapping, index);
memcpy(buf, page_address(page) + offset, cpylen);
page_cache_release(page);
-@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
+@@ -141,7 +161,10 @@
offset = 0;
index++;
}
}
-@@ -193,12 +216,22 @@ static int block2mtd_write(struct mtd_in
+@@ -193,12 +216,22 @@
size_t *retlen, const u_char *buf)
{
struct block2mtd_dev *dev = mtd->priv;
if (to + len > mtd->size)
len = mtd->size - to;
-@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
+@@ -207,6 +240,9 @@
mutex_unlock(&dev->write_mutex);
if (err > 0)
err = 0;
return err;
}
-@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
+@@ -215,51 +251,29 @@
static void block2mtd_sync(struct mtd_info *mtd)
{
struct block2mtd_dev *dev = mtd->priv;
if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
}
-@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
+@@ -267,17 +281,96 @@
#endif
if (IS_ERR(bdev)) {
/* Setup the MTD structure */
/* make the name contain the block device in */
-@@ -304,6 +397,7 @@ static struct block2mtd_dev *add_device(
+@@ -304,6 +397,7 @@
dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
part = kzalloc(sizeof(struct mtd_partition), GFP_KERNEL);
part->name = dev->mtd.name;
-Index: linux-2.6.22.19/drivers/mtd/mtdchar.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/mtd/mtdchar.c
-+++ linux-2.6.22.19/drivers/mtd/mtdchar.c
+--- a/drivers/mtd/mtdchar.c
++++ b/drivers/mtd/mtdchar.c
@@ -16,6 +16,7 @@
#include <linux/mtd/mtd.h>
#include <asm/uaccess.h>
-@@ -752,6 +753,13 @@ static int mtd_ioctl(struct inode *inode
+@@ -752,6 +753,13 @@
file->f_pos = 0;
break;
}
default:
ret = -ENOTTY;
-Index: linux-2.6.22.19/include/linux/mtd/mtd.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/mtd/mtd.h
-+++ linux-2.6.22.19/include/linux/mtd/mtd.h
-@@ -98,6 +98,7 @@ struct mtd_oob_ops {
+--- a/include/linux/mtd/mtd.h
++++ b/include/linux/mtd/mtd.h
+@@ -98,6 +98,7 @@
uint8_t *oobbuf;
};
struct mtd_info {
u_char type;
u_int32_t flags;
-@@ -195,6 +196,9 @@ struct mtd_info {
+@@ -195,6 +196,9 @@
struct module *owner;
int usecount;
/* If the driver is something smart, like UBI, it may need to maintain
* its own reference counting. The below functions are only for driver.
* The driver may register its callbacks. These callbacks are not
-Index: linux-2.6.22.19/include/linux/mtd/partitions.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/mtd/partitions.h
-+++ linux-2.6.22.19/include/linux/mtd/partitions.h
+--- a/include/linux/mtd/partitions.h
++++ b/include/linux/mtd/partitions.h
@@ -36,6 +36,7 @@
* erasesize aligned (e.g. use MTDPART_OFS_NEXTBLK).
*/
struct mtd_partition {
char *name; /* identifier string */
u_int32_t size; /* partition size */
-@@ -43,6 +44,7 @@ struct mtd_partition {
+@@ -43,6 +44,7 @@
u_int32_t mask_flags; /* master MTD flags to mask out for this partition */
struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/
struct mtd_info **mtdp; /* pointer to store the MTD object */
};
#define MTDPART_OFS_NXTBLK (-2)
-@@ -52,6 +54,7 @@ struct mtd_partition {
+@@ -52,6 +54,7 @@
int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
int del_mtd_partitions(struct mtd_info *);
/*
* Functions dealing with the various ways of partitioning the space
-Index: linux-2.6.22.19/include/mtd/mtd-abi.h
-===================================================================
---- linux-2.6.22.19.orig/include/mtd/mtd-abi.h
-+++ linux-2.6.22.19/include/mtd/mtd-abi.h
-@@ -95,6 +95,7 @@ struct otp_info {
+--- a/include/mtd/mtd-abi.h
++++ b/include/mtd/mtd-abi.h
+@@ -95,6 +95,7 @@
#define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout)
#define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats)
#define MTDFILEMODE _IO('M', 19)
-Index: linux-2.6.22.19/net/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Kconfig
-+++ linux-2.6.22.19/net/netfilter/Kconfig
-@@ -603,6 +603,27 @@ config NETFILTER_XT_MATCH_STATE
+--- a/net/netfilter/Kconfig
++++ b/net/netfilter/Kconfig
+@@ -603,6 +603,27 @@
To compile it as a module, choose M here. If unsure, say N.
config NETFILTER_XT_MATCH_STATISTIC
tristate '"statistic" match support'
depends on NETFILTER_XTABLES
-Index: linux-2.6.22.19/net/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Makefile
-+++ linux-2.6.22.19/net/netfilter/Makefile
-@@ -68,6 +68,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
+--- a/net/netfilter/Makefile
++++ b/net/netfilter/Makefile
+@@ -68,6 +68,7 @@
obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATISTIC) += xt_statistic.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STRING) += xt_string.o
obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
-Index: linux-2.6.22.19/net/netfilter/xt_layer7.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/xt_layer7.c
++++ b/net/netfilter/xt_layer7.c
@@ -0,0 +1,634 @@
+/*
+ Kernel module to match application layer (OSI layer 7) data in connections.
+
+module_init(xt_layer7_init);
+module_exit(xt_layer7_fini);
-Index: linux-2.6.22.19/net/netfilter/regexp/regexp.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/regexp/regexp.c
++++ b/net/netfilter/regexp/regexp.c
@@ -0,0 +1,1197 @@
+/*
+ * regcomp and regexec -- regsub and regerror are elsewhere
+#endif
+
+
-Index: linux-2.6.22.19/net/netfilter/regexp/regexp.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/regexp/regexp.h
++++ b/net/netfilter/regexp/regexp.h
@@ -0,0 +1,41 @@
+/*
+ * Definitions etc. for regexp(3) routines.
+void regerror(char *s);
+
+#endif
-Index: linux-2.6.22.19/net/netfilter/regexp/regmagic.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/regexp/regmagic.h
++++ b/net/netfilter/regexp/regmagic.h
@@ -0,0 +1,5 @@
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234
-Index: linux-2.6.22.19/net/netfilter/regexp/regsub.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/regexp/regsub.c
++++ b/net/netfilter/regexp/regsub.c
@@ -0,0 +1,95 @@
+/*
+ * regsub
+ }
+ *dst++ = '\0';
+}
-Index: linux-2.6.22.19/net/netfilter/nf_conntrack_core.c
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/nf_conntrack_core.c
-+++ linux-2.6.22.19/net/netfilter/nf_conntrack_core.c
-@@ -330,6 +330,14 @@ destroy_conntrack(struct nf_conntrack *n
+--- a/net/netfilter/nf_conntrack_core.c
++++ b/net/netfilter/nf_conntrack_core.c
+@@ -330,6 +330,14 @@
* too. */
nf_ct_remove_expectations(ct);
/* We overload first tuple to link into unconfirmed list. */
if (!nf_ct_is_confirmed(ct)) {
BUG_ON(list_empty(&ct->tuplehash[IP_CT_DIR_ORIGINAL].list));
-Index: linux-2.6.22.19/net/netfilter/nf_conntrack_standalone.c
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/nf_conntrack_standalone.c
-+++ linux-2.6.22.19/net/netfilter/nf_conntrack_standalone.c
-@@ -184,7 +184,12 @@ static int ct_seq_show(struct seq_file *
+--- a/net/netfilter/nf_conntrack_standalone.c
++++ b/net/netfilter/nf_conntrack_standalone.c
+@@ -184,7 +184,12 @@
return -ENOSPC;
#endif
return -ENOSPC;
return 0;
-Index: linux-2.6.22.19/include/net/netfilter/nf_conntrack.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/netfilter/nf_conntrack.h
-+++ linux-2.6.22.19/include/net/netfilter/nf_conntrack.h
-@@ -128,6 +128,22 @@ struct nf_conn
+--- a/include/net/netfilter/nf_conntrack.h
++++ b/include/net/netfilter/nf_conntrack.h
+@@ -128,6 +128,22 @@
u_int32_t secmark;
#endif
/* Storage reserved for other modules: */
union nf_conntrack_proto proto;
-Index: linux-2.6.22.19/include/linux/netfilter/xt_layer7.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter/xt_layer7.h
++++ b/include/linux/netfilter/xt_layer7.h
@@ -0,0 +1,13 @@
+#ifndef _XT_LAYER7_H
+#define _XT_LAYER7_H
-Index: linux-2.6.22.19/include/linux/netfilter/xt_layer7.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/netfilter/xt_layer7.h
-+++ linux-2.6.22.19/include/linux/netfilter/xt_layer7.h
-@@ -8,6 +8,7 @@ struct xt_layer7_info {
+--- a/include/linux/netfilter/xt_layer7.h
++++ b/include/linux/netfilter/xt_layer7.h
+@@ -8,6 +8,7 @@
char protocol[MAX_PROTOCOL_LEN];
char pattern[MAX_PATTERN_LEN];
u_int8_t invert;
};
#endif /* _XT_LAYER7_H */
-Index: linux-2.6.22.19/net/netfilter/xt_layer7.c
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/xt_layer7.c
-+++ linux-2.6.22.19/net/netfilter/xt_layer7.c
-@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
+--- a/net/netfilter/xt_layer7.c
++++ b/net/netfilter/xt_layer7.c
+@@ -297,34 +297,36 @@
}
/* add the new app data to the conntrack. Return number of bytes added. */
return length;
}
-@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin,
+@@ -411,7 +413,7 @@
const struct xt_layer7_info * info = matchinfo;
enum ip_conntrack_info master_ctinfo, ctinfo;
struct nf_conn *master_conntrack, *conntrack;
unsigned int pattern_result, appdatalen;
regexp * comppattern;
-@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin,
+@@ -439,8 +441,8 @@
master_conntrack = master_ct(master_conntrack);
/* if we've classified it or seen too many packets */
pattern_result = match_no_append(conntrack, master_conntrack,
ctinfo, master_ctinfo, info);
-@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin,
+@@ -473,6 +475,25 @@
/* the return value gets checked later, when we're ready to use it */
comppattern = compile_and_cache(info->pattern, info->protocol);
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_ipp2p.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_ipp2p.h
++++ b/include/linux/netfilter_ipv4/ipt_ipp2p.h
@@ -0,0 +1,31 @@
+#ifndef __IPT_IPP2P_H
+#define __IPT_IPP2P_H
+#define IPP2P_MUTE (1 << 14)
+#define IPP2P_WASTE (1 << 15)
+#define IPP2P_XDCC (1 << 16)
-Index: linux-2.6.22.19/net/ipv4/netfilter/ipt_ipp2p.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ipt_ipp2p.c
++++ b/net/ipv4/netfilter/ipt_ipp2p.c
@@ -0,0 +1,882 @@
+#if defined(MODVERSIONS)
+#include <linux/modversions.h>
+module_exit(fini);
+
+
-Index: linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -63,6 +63,12 @@
To compile it as a module, choose M here. If unsure, say N.
config IP_NF_MATCH_TOS
tristate "TOS match support"
depends on IP_NF_IPTABLES
-Index: linux-2.6.22.19/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv4/netfilter/Makefile
-@@ -49,6 +49,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -49,6 +49,7 @@
obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
-Index: linux-2.6.22.19/include/net/xfrmudp.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/net/xfrmudp.h
++++ b/include/net/xfrmudp.h
@@ -0,0 +1,10 @@
+/*
+ * pointer to function for type that xfrm4_input wants, to permit
+extern int udp4_register_esp_rcvencap(xfrm4_rcv_encap_t func
+ , xfrm4_rcv_encap_t *oldfunc);
+extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func);
-Index: linux-2.6.22.19/net/ipv4/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/Kconfig
-+++ linux-2.6.22.19/net/ipv4/Kconfig
-@@ -266,6 +266,12 @@ config NET_IPGRE_BROADCAST
+--- a/net/ipv4/Kconfig
++++ b/net/ipv4/Kconfig
+@@ -266,6 +266,12 @@
Network), but can be distributed all over the Internet. If you want
to do that, say Y here and to "IP multicast routing" below.
config IP_MROUTE
bool "IP: multicast routing"
depends on IP_MULTICAST
-Index: linux-2.6.22.19/net/ipv4/udp.c
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/udp.c
-+++ linux-2.6.22.19/net/ipv4/udp.c
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
@@ -101,12 +101,15 @@
#include <net/route.h>
#include <net/checksum.h>
DEFINE_SNMP_STAT(struct udp_mib, udp_statistics) __read_mostly;
struct hlist_head udp_hash[UDP_HTABLE_SIZE];
-@@ -919,6 +922,42 @@ int udp_disconnect(struct sock *sk, int
+@@ -919,6 +922,42 @@
return 0;
}
/* return:
* 1 if the UDP system should process it
* 0 if we should drop this packet
-@@ -926,7 +965,7 @@ int udp_disconnect(struct sock *sk, int
+@@ -926,7 +965,7 @@
*/
static int udp_encap_rcv(struct sock * sk, struct sk_buff *skb)
{
return 1;
#else
struct udp_sock *up = udp_sk(sk);
-@@ -941,11 +980,11 @@ static int udp_encap_rcv(struct sock * s
+@@ -941,11 +980,11 @@
/* if we're overly short, let UDP handle it */
len = skb->len - sizeof(struct udphdr);
if (len <= 0)
/* If this is a paged skb, make sure we pull up
* whatever data we need to look at. */
-@@ -968,7 +1007,7 @@ static int udp_encap_rcv(struct sock * s
+@@ -968,7 +1007,7 @@
len = sizeof(struct udphdr);
} else
/* Must be an IKE packet.. pass it through */
break;
case UDP_ENCAP_ESPINUDP_NON_IKE:
/* Check if this is a keepalive packet. If so, eat it. */
-@@ -981,7 +1020,7 @@ static int udp_encap_rcv(struct sock * s
+@@ -981,7 +1020,7 @@
len = sizeof(struct udphdr) + 2 * sizeof(u32);
} else
/* Must be an IKE packet.. pass it through */
break;
}
-@@ -992,6 +1031,8 @@ static int udp_encap_rcv(struct sock * s
+@@ -992,6 +1031,8 @@
*/
if (skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC))
return 0;
/* Now we can update and verify the packet length... */
iph = ip_hdr(skb);
-@@ -1056,9 +1097,13 @@ int udp_queue_rcv_skb(struct sock * sk,
+@@ -1056,9 +1097,13 @@
return 0;
}
if (ret < 0) {
return -ret;
}
/* FALLTHROUGH -- it's a UDP Packet */
-@@ -1742,3 +1787,9 @@ EXPORT_SYMBOL(udp_poll);
+@@ -1742,3 +1787,9 @@
EXPORT_SYMBOL(udp_proc_register);
EXPORT_SYMBOL(udp_proc_unregister);
#endif
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set.h
++++ b/include/linux/netfilter_ipv4/ip_set.h
@@ -0,0 +1,498 @@
+#ifndef _IP_SET_H
+#define _IP_SET_H
+#endif /* __KERNEL__ */
+
+#endif /*_IP_SET_H*/
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_iphash.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_iphash.h
++++ b/include/linux/netfilter_ipv4/ip_set_iphash.h
@@ -0,0 +1,30 @@
+#ifndef __IP_SET_IPHASH_H
+#define __IP_SET_IPHASH_H
+};
+
+#endif /* __IP_SET_IPHASH_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_ipmap.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_ipmap.h
++++ b/include/linux/netfilter_ipv4/ip_set_ipmap.h
@@ -0,0 +1,56 @@
+#ifndef __IP_SET_IPMAP_H
+#define __IP_SET_IPMAP_H
+}
+
+#endif /* __IP_SET_IPMAP_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_ipporthash.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_ipporthash.h
++++ b/include/linux/netfilter_ipv4/ip_set_ipporthash.h
@@ -0,0 +1,34 @@
+#ifndef __IP_SET_IPPORTHASH_H
+#define __IP_SET_IPPORTHASH_H
+};
+
+#endif /* __IP_SET_IPPORTHASH_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_iptree.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_iptree.h
++++ b/include/linux/netfilter_ipv4/ip_set_iptree.h
@@ -0,0 +1,40 @@
+#ifndef __IP_SET_IPTREE_H
+#define __IP_SET_IPTREE_H
+};
+
+#endif /* __IP_SET_IPTREE_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_iptreemap.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_iptreemap.h
++++ b/include/linux/netfilter_ipv4/ip_set_iptreemap.h
@@ -0,0 +1,40 @@
+#ifndef __IP_SET_IPTREEMAP_H
+#define __IP_SET_IPTREEMAP_H
+};
+
+#endif /* __IP_SET_IPTREEMAP_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_jhash.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_jhash.h
++++ b/include/linux/netfilter_ipv4/ip_set_jhash.h
@@ -0,0 +1,148 @@
+#ifndef _LINUX_IPSET_JHASH_H
+#define _LINUX_IPSET_JHASH_H
+}
+
+#endif /* _LINUX_IPSET_JHASH_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_macipmap.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_macipmap.h
++++ b/include/linux/netfilter_ipv4/ip_set_macipmap.h
@@ -0,0 +1,38 @@
+#ifndef __IP_SET_MACIPMAP_H
+#define __IP_SET_MACIPMAP_H
+};
+
+#endif /* __IP_SET_MACIPMAP_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_malloc.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_malloc.h
++++ b/include/linux/netfilter_ipv4/ip_set_malloc.h
@@ -0,0 +1,116 @@
+#ifndef _IP_SET_MALLOC_H
+#define _IP_SET_MALLOC_H
+#endif /* __KERNEL__ */
+
+#endif /*_IP_SET_MALLOC_H*/
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_nethash.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_nethash.h
++++ b/include/linux/netfilter_ipv4/ip_set_nethash.h
@@ -0,0 +1,55 @@
+#ifndef __IP_SET_NETHASH_H
+#define __IP_SET_NETHASH_H
+}
+
+#endif /* __IP_SET_NETHASH_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_portmap.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ip_set_portmap.h
++++ b/include/linux/netfilter_ipv4/ip_set_portmap.h
@@ -0,0 +1,25 @@
+#ifndef __IP_SET_PORTMAP_H
+#define __IP_SET_PORTMAP_H
+};
+
+#endif /* __IP_SET_PORTMAP_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_set.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_set.h
++++ b/include/linux/netfilter_ipv4/ipt_set.h
@@ -0,0 +1,21 @@
+#ifndef _IPT_SET_H
+#define _IPT_SET_H
+};
+
+#endif /*_IPT_SET_H*/
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set.c
++++ b/net/ipv4/netfilter/ip_set.c
@@ -0,0 +1,2003 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(ip_set_init);
+module_exit(ip_set_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_iphash.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_iphash.c
++++ b/net/ipv4/netfilter/ip_set_iphash.c
@@ -0,0 +1,429 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(ip_set_iphash_init);
+module_exit(ip_set_iphash_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_ipmap.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_ipmap.c
++++ b/net/ipv4/netfilter/ip_set_ipmap.c
@@ -0,0 +1,336 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(ip_set_ipmap_init);
+module_exit(ip_set_ipmap_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_ipporthash.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_ipporthash.c
++++ b/net/ipv4/netfilter/ip_set_ipporthash.c
@@ -0,0 +1,581 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(ip_set_ipporthash_init);
+module_exit(ip_set_ipporthash_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_iptree.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_iptree.c
++++ b/net/ipv4/netfilter/ip_set_iptree.c
@@ -0,0 +1,612 @@
+/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(ip_set_iptree_init);
+module_exit(ip_set_iptree_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_iptreemap.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_iptreemap.c
++++ b/net/ipv4/netfilter/ip_set_iptreemap.c
@@ -0,0 +1,829 @@
+/* Copyright (C) 2007 Sven Wegener <sven.wegener@stealer.net>
+ *
+
+module_init(ip_set_iptreemap_init);
+module_exit(ip_set_iptreemap_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_macipmap.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_macipmap.c
++++ b/net/ipv4/netfilter/ip_set_macipmap.c
@@ -0,0 +1,375 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(ip_set_macipmap_init);
+module_exit(ip_set_macipmap_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_nethash.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_nethash.c
++++ b/net/ipv4/netfilter/ip_set_nethash.c
@@ -0,0 +1,497 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(ip_set_nethash_init);
+module_exit(ip_set_nethash_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ip_set_portmap.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ip_set_portmap.c
++++ b/net/ipv4/netfilter/ip_set_portmap.c
@@ -0,0 +1,346 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(ip_set_portmap_init);
+module_exit(ip_set_portmap_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ipt_set.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ipt_set.c
++++ b/net/ipv4/netfilter/ipt_set.c
@@ -0,0 +1,160 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(ipt_ipset_init);
+module_exit(ipt_ipset_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/ipt_SET.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ipt_SET.c
++++ b/net/ipv4/netfilter/ipt_SET.c
@@ -0,0 +1,172 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(ipt_SET_init);
+module_exit(ipt_SET_fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-@@ -408,5 +408,122 @@ config IP_NF_ARP_MANGLE
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -408,5 +408,122 @@
Allows altering the ARP packet payload: source and destination
hardware and network addresses.
+
endmenu
-Index: linux-2.6.22.19/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv4/netfilter/Makefile
-@@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -48,6 +48,7 @@
obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
-@@ -63,6 +64,18 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LO
+@@ -63,6 +64,18 @@
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_time.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_time.h
++++ b/include/linux/netfilter_ipv4/ipt_time.h
@@ -0,0 +1,18 @@
+#ifndef __ipt_time_h_included__
+#define __ipt_time_h_included__
+
+
+#endif /* __ipt_time_h_included__ */
-Index: linux-2.6.22.19/net/ipv4/netfilter/ipt_time.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ipt_time.c
++++ b/net/ipv4/netfilter/ipt_time.c
@@ -0,0 +1,180 @@
+/*
+ This is a module which is used for time matching
+ r->tm_mon=i;
+ r->tm_mday=work-__spm[i]+1;
+}
-Index: linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-@@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -78,6 +78,22 @@
To compile it as a module, choose M here. If unsure, say N.
config IP_NF_MATCH_RECENT
tristate "recent match support"
depends on IP_NF_IPTABLES
-Index: linux-2.6.22.19/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv4/netfilter/Makefile
-@@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -44,6 +44,7 @@
obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
-Index: linux-2.6.22.19/drivers/net/imq.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/drivers/net/imq.c
++++ b/drivers/net/imq.c
@@ -0,0 +1,402 @@
+/*
+ * Pseudo-driver for the intermediate queue device.
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.22.19/drivers/net/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/drivers/net/Kconfig
-+++ linux-2.6.22.19/drivers/net/Kconfig
-@@ -96,6 +96,129 @@ config EQUALIZER
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -96,6 +96,129 @@
To compile this driver as a module, choose M here: the module
will be called eql. If unsure, say N.
config TUN
tristate "Universal TUN/TAP device driver support"
select CRC32
-Index: linux-2.6.22.19/drivers/net/Makefile
-===================================================================
---- linux-2.6.22.19.orig/drivers/net/Makefile
-+++ linux-2.6.22.19/drivers/net/Makefile
-@@ -124,6 +124,7 @@ obj-$(CONFIG_SLIP) += slip.o
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
+@@ -124,6 +124,7 @@
obj-$(CONFIG_SLHC) += slhc.o
obj-$(CONFIG_DUMMY) += dummy.o
obj-$(CONFIG_IFB) += ifb.o
obj-$(CONFIG_DE600) += de600.o
obj-$(CONFIG_DE620) += de620.o
-Index: linux-2.6.22.19/include/linux/imq.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/imq.h
++++ b/include/linux/imq.h
@@ -0,0 +1,9 @@
+#ifndef _IMQ_H
+#define _IMQ_H
+#define IMQ_F_ENQUEUE 0x80
+
+#endif /* _IMQ_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_IMQ.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_IMQ.h
++++ b/include/linux/netfilter_ipv4/ipt_IMQ.h
@@ -0,0 +1,8 @@
+#ifndef _IPT_IMQ_H
+#define _IPT_IMQ_H
+};
+
+#endif /* _IPT_IMQ_H */
-Index: linux-2.6.22.19/include/linux/netfilter_ipv6/ip6t_IMQ.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv6/ip6t_IMQ.h
++++ b/include/linux/netfilter_ipv6/ip6t_IMQ.h
@@ -0,0 +1,8 @@
+#ifndef _IP6T_IMQ_H
+#define _IP6T_IMQ_H
+};
+
+#endif /* _IP6T_IMQ_H */
-Index: linux-2.6.22.19/include/linux/skbuff.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/skbuff.h
-+++ linux-2.6.22.19/include/linux/skbuff.h
-@@ -285,6 +285,10 @@ struct sk_buff {
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -285,6 +285,10 @@
struct nf_conntrack *nfct;
struct sk_buff *nfct_reasm;
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
struct nf_bridge_info *nf_bridge;
#endif
-Index: linux-2.6.22.19/net/core/dev.c
-===================================================================
---- linux-2.6.22.19.orig/net/core/dev.c
-+++ linux-2.6.22.19/net/core/dev.c
+--- a/net/core/dev.c
++++ b/net/core/dev.c
@@ -94,6 +94,9 @@
#include <linux/skbuff.h>
#include <net/sock.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/stat.h>
-@@ -1404,6 +1407,9 @@ int dev_hard_start_xmit(struct sk_buff *
+@@ -1404,6 +1407,9 @@
{
if (likely(!skb->next)) {
if (!list_empty(&ptype_all))
dev_queue_xmit_nit(skb, dev);
if (netif_needs_gso(dev, skb)) {
-Index: linux-2.6.22.19/net/core/skbuff.c
-===================================================================
---- linux-2.6.22.19.orig/net/core/skbuff.c
-+++ linux-2.6.22.19/net/core/skbuff.c
-@@ -419,6 +419,10 @@ struct sk_buff *skb_clone(struct sk_buff
+--- a/net/core/skbuff.c
++++ b/net/core/skbuff.c
+@@ -419,6 +419,10 @@
C(pkt_type);
C(ip_summed);
C(priority);
#if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
C(ipvs_property);
#endif
-@@ -485,6 +489,10 @@ static void copy_skb_header(struct sk_bu
+@@ -485,6 +489,10 @@
#if defined(CONFIG_IP_VS) || defined(CONFIG_IP_VS_MODULE)
new->ipvs_property = old->ipvs_property;
#endif
#ifdef CONFIG_NET_SCHED
#ifdef CONFIG_NET_CLS_ACT
new->tc_verd = old->tc_verd;
-Index: linux-2.6.22.19/net/ipv4/netfilter/ipt_IMQ.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ipt_IMQ.c
++++ b/net/ipv4/netfilter/ipt_IMQ.c
@@ -0,0 +1,69 @@
+/*
+ * This target marks packets to be enqueued to an imq device
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-@@ -333,6 +333,17 @@ config IP_NF_MANGLE
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -333,6 +333,17 @@
To compile it as a module, choose M here. If unsure, say N.
config IP_NF_TARGET_TOS
tristate "TOS target support"
depends on IP_NF_MANGLE
-Index: linux-2.6.22.19/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv4/netfilter/Makefile
-@@ -57,6 +57,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -57,6 +57,7 @@
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
-Index: linux-2.6.22.19/net/ipv6/netfilter/ip6t_IMQ.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv6/netfilter/ip6t_IMQ.c
++++ b/net/ipv6/netfilter/ip6t_IMQ.c
@@ -0,0 +1,69 @@
+/*
+ * This target marks packets to be enqueued to an imq device
+MODULE_AUTHOR("http://www.linuximq.net");
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See http://www.linuximq.net/ for more information.");
+MODULE_LICENSE("GPL");
-Index: linux-2.6.22.19/net/ipv6/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv6/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv6/netfilter/Kconfig
-@@ -173,6 +173,15 @@ config IP6_NF_MANGLE
+--- a/net/ipv6/netfilter/Kconfig
++++ b/net/ipv6/netfilter/Kconfig
+@@ -173,6 +173,15 @@
To compile it as a module, choose M here. If unsure, say N.
config IP6_NF_TARGET_HL
tristate 'HL (hoplimit) target support'
depends on IP6_NF_MANGLE
-Index: linux-2.6.22.19/net/ipv6/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv6/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv6/netfilter/Makefile
-@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t
+--- a/net/ipv6/netfilter/Makefile
++++ b/net/ipv6/netfilter/Makefile
+@@ -13,6 +13,7 @@
obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o
obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o
obj-$(CONFIG_IP6_NF_TARGET_HL) += ip6t_HL.o
obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
-Index: linux-2.6.22.19/net/sched/sch_generic.c
-===================================================================
---- linux-2.6.22.19.orig/net/sched/sch_generic.c
-+++ linux-2.6.22.19/net/sched/sch_generic.c
-@@ -77,7 +77,6 @@ void qdisc_unlock_tree(struct net_device
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
+@@ -77,7 +77,6 @@
NOTE: Called under dev->queue_lock with locally disabled BH.
*/
static inline int qdisc_restart(struct net_device *dev)
{
struct Qdisc *q = dev->qdisc;
-@@ -177,6 +176,11 @@ out:
+@@ -177,6 +176,11 @@
return q->q.qlen;
}
void __qdisc_run(struct net_device *dev)
{
do {
-@@ -608,3 +612,4 @@ EXPORT_SYMBOL(qdisc_destroy);
+@@ -608,3 +612,4 @@
EXPORT_SYMBOL(qdisc_reset);
EXPORT_SYMBOL(qdisc_lock_tree);
EXPORT_SYMBOL(qdisc_unlock_tree);
-Index: linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_ROUTE.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv4/ipt_ROUTE.h
++++ b/include/linux/netfilter_ipv4/ipt_ROUTE.h
@@ -0,0 +1,23 @@
+/* Header file for iptables ipt_ROUTE target
+ *
+#define IPT_ROUTE_TEE 0x02
+
+#endif /*_IPT_ROUTE_H_target*/
-Index: linux-2.6.22.19/include/linux/netfilter_ipv6/ip6t_ROUTE.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_ipv6/ip6t_ROUTE.h
++++ b/include/linux/netfilter_ipv6/ip6t_ROUTE.h
@@ -0,0 +1,23 @@
+/* Header file for iptables ip6t_ROUTE target
+ *
+#define IP6T_ROUTE_TEE 0x02
+
+#endif /*_IP6T_ROUTE_H_target*/
-Index: linux-2.6.22.19/net/ipv4/netfilter/ipt_ROUTE.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/ipt_ROUTE.c
++++ b/net/ipv4/netfilter/ipt_ROUTE.c
@@ -0,0 +1,483 @@
+/*
+ * This implements the ROUTE target, which enables you to setup unusual
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-@@ -552,5 +552,22 @@ config IP_NF_TARGET_SET
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -552,5 +552,22 @@
To compile it as a module, choose M here. If unsure, say N.
+
endmenu
-Index: linux-2.6.22.19/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv4/netfilter/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_EC
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -60,6 +60,7 @@
obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
obj-$(CONFIG_IP_NF_TARGET_SAME) += ipt_SAME.o
obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
-Index: linux-2.6.22.19/net/ipv6/ndisc.c
-===================================================================
---- linux-2.6.22.19.orig/net/ipv6/ndisc.c
-+++ linux-2.6.22.19/net/ipv6/ndisc.c
-@@ -154,6 +154,8 @@ struct neigh_table nd_tbl = {
+--- a/net/ipv6/ndisc.c
++++ b/net/ipv6/ndisc.c
+@@ -154,6 +154,8 @@
.gc_thresh3 = 1024,
};
/* ND options */
struct ndisc_options {
struct nd_opt_hdr *nd_opt_array[__ND_OPT_ARRAY_MAX];
-Index: linux-2.6.22.19/net/ipv6/netfilter/ip6t_ROUTE.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv6/netfilter/ip6t_ROUTE.c
++++ b/net/ipv6/netfilter/ip6t_ROUTE.c
@@ -0,0 +1,330 @@
+/*
+ * This implements the ROUTE v6 target, which enables you to setup unusual
+module_init(init);
+module_exit(fini);
+MODULE_LICENSE("GPL");
-Index: linux-2.6.22.19/net/ipv6/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv6/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv6/netfilter/Kconfig
-@@ -209,5 +209,18 @@ config IP6_NF_RAW
+--- a/net/ipv6/netfilter/Kconfig
++++ b/net/ipv6/netfilter/Kconfig
+@@ -209,5 +209,18 @@
If you want to compile it as a module, say M here and read
<file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
+
endmenu
-Index: linux-2.6.22.19/net/ipv6/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv6/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv6/netfilter/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_
+--- a/net/ipv6/netfilter/Makefile
++++ b/net/ipv6/netfilter/Makefile
+@@ -20,6 +20,7 @@
obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o
obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o
obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o
-Index: linux-2.6.22.19/include/linux/netfilter/oot_conntrack.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter/oot_conntrack.h
++++ b/include/linux/netfilter/oot_conntrack.h
@@ -0,0 +1,5 @@
+#if defined(CONFIG_IP_NF_CONNTRACK) || defined(CONFIG_IP_NF_CONNTRACK_MODULE)
+# include <linux/netfilter_ipv4/ip_conntrack.h>
+#else /* linux-2.6.20+ */
+# include <net/netfilter/nf_nat_rule.h>
+#endif
-Index: linux-2.6.22.19/include/linux/netfilter/oot_trans.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter/oot_trans.h
++++ b/include/linux/netfilter/oot_trans.h
@@ -0,0 +1,14 @@
+/* Out of tree workarounds */
+#include <linux/version.h>
+# define tcp_v4_check(tcph, tcph_sz, s, d, csp) \
+ tcp_v4_check((tcph_sz), (s), (d), (csp))
+#endif
-Index: linux-2.6.22.19/include/linux/netfilter/xt_CHAOS.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter/xt_CHAOS.h
++++ b/include/linux/netfilter/xt_CHAOS.h
@@ -0,0 +1,14 @@
+#ifndef _LINUX_NETFILTER_XT_CHAOS_H
+#define _LINUX_NETFILTER_XT_CHAOS_H 1
+};
+
+#endif /* _LINUX_NETFILTER_XT_CHAOS_H */
-Index: linux-2.6.22.19/include/linux/netfilter/xt_portscan.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter/xt_portscan.h
++++ b/include/linux/netfilter/xt_portscan.h
@@ -0,0 +1,8 @@
+#ifndef _LINUX_NETFILTER_XT_PORTSCAN_H
+#define _LINUX_NETFILTER_XT_PORTSCAN_H 1
+};
+
+#endif /* _LINUX_NETFILTER_XT_PORTSCAN_H */
-Index: linux-2.6.22.19/net/netfilter/find_match.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/find_match.c
++++ b/net/netfilter/find_match.c
@@ -0,0 +1,39 @@
+/*
+ xt_request_find_match
+
+/* In case it goes into mainline, let this out-of-tree package compile */
+#define xt_request_find_match xt_request_find_match_lo
-Index: linux-2.6.22.19/net/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Kconfig
-+++ linux-2.6.22.19/net/netfilter/Kconfig
-@@ -255,6 +255,14 @@ config NETFILTER_XTABLES
+--- a/net/netfilter/Kconfig
++++ b/net/netfilter/Kconfig
+@@ -255,6 +255,14 @@
# alphabetically ordered list of targets
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES
-@@ -282,6 +290,14 @@ config NETFILTER_XT_TARGET_CONNMARK
+@@ -282,6 +290,14 @@
<file:Documentation/kbuild/modules.txt>. The module will be called
ipt_CONNMARK.ko. If unsure, say `N'.
config NETFILTER_XT_TARGET_DSCP
tristate '"DSCP" target support'
depends on NETFILTER_XTABLES
-@@ -526,6 +542,14 @@ config NETFILTER_XT_MATCH_POLICY
+@@ -526,6 +542,14 @@
To compile it as a module, choose M here. If unsure, say N.
config NETFILTER_XT_MATCH_MULTIPORT
tristate "Multiple port match support"
depends on NETFILTER_XTABLES
-Index: linux-2.6.22.19/net/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Makefile
-+++ linux-2.6.22.19/net/netfilter/Makefile
-@@ -47,6 +47,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK
+--- a/net/netfilter/Makefile
++++ b/net/netfilter/Makefile
+@@ -47,6 +47,8 @@
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
# matches
obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -74,3 +76,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_STRING)
+@@ -74,3 +76,4 @@
obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
obj-$(CONFIG_NETFILTER_XT_MATCH_PHYSDEV) += xt_physdev.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
+obj-$(CONFIG_NETFILTER_XT_MATCH_PORTSCAN) += xt_portscan.o
-Index: linux-2.6.22.19/net/netfilter/xt_CHAOS.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/xt_CHAOS.c
++++ b/net/netfilter/xt_CHAOS.c
@@ -0,0 +1,200 @@
+/*
+ * CHAOS target for netfilter
+MODULE_DESCRIPTION("netfilter \"CHAOS\" target");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("ipt_CHAOS");
-Index: linux-2.6.22.19/net/netfilter/xt_DELUDE.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/xt_DELUDE.c
++++ b/net/netfilter/xt_DELUDE.c
@@ -0,0 +1,197 @@
+/*
+ * DELUDE target
+MODULE_DESCRIPTION("netfilter \"DELUDE\" target");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("ipt_DELUDE");
-Index: linux-2.6.22.19/net/netfilter/xt_portscan.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/xt_portscan.c
++++ b/net/netfilter/xt_portscan.c
@@ -0,0 +1,269 @@
+/*
+ * portscan match for netfilter
+MODULE_DESCRIPTION("netfilter \"portscan\" match");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("ipt_portscan");
-Index: linux-2.6.22.19/drivers/char/random.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/char/random.c
-+++ linux-2.6.22.19/drivers/char/random.c
-@@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
+@@ -1564,6 +1564,8 @@
return seq;
}
-Index: linux-2.6.22.19/net/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Kconfig
-+++ linux-2.6.22.19/net/netfilter/Kconfig
-@@ -379,6 +379,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
+--- a/net/netfilter/Kconfig
++++ b/net/netfilter/Kconfig
+@@ -379,6 +379,23 @@
To compile it as a module, choose M here. If unsure, say N.
config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support'
depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
-Index: linux-2.6.22.19/net/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Makefile
-+++ linux-2.6.22.19/net/netfilter/Makefile
-@@ -45,6 +45,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE
+--- a/net/netfilter/Makefile
++++ b/net/netfilter/Makefile
+@@ -45,6 +45,7 @@
obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG) += xt_NFLOG.o
obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_CHAOS) += xt_CHAOS.o
-Index: linux-2.6.22.19/net/netfilter/xt_TARPIT.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/xt_TARPIT.c
++++ b/net/netfilter/xt_TARPIT.c
@@ -0,0 +1,280 @@
+/*
+ * Kernel module to capture and hold incoming TCP connections using
-Index: linux-2.6.22.19/net/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Kconfig
-+++ linux-2.6.22.19/net/netfilter/Kconfig
-@@ -133,7 +133,7 @@ config NF_CONNTRACK_FTP
+--- a/net/netfilter/Kconfig
++++ b/net/netfilter/Kconfig
+@@ -133,7 +133,7 @@
config NF_CONNTRACK_H323
tristate "H.323 protocol support (EXPERIMENTAL)"
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
important VoIP protocols, it is widely used by voice hardware and
-@@ -398,7 +398,7 @@ config NETFILTER_XT_TARGET_TARPIT
+@@ -398,7 +398,7 @@
config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support'
-Index: linux-2.6.22.19/include/linux/netfilter/nf_conntrack_rtsp.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter/nf_conntrack_rtsp.h
++++ b/include/linux/netfilter/nf_conntrack_rtsp.h
@@ -0,0 +1,63 @@
+/*
+ * RTSP extension for IP connection tracking.
+#endif /* __KERNEL__ */
+
+#endif /* _IP_CONNTRACK_RTSP_H */
-Index: linux-2.6.22.19/include/linux/netfilter_helpers.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_helpers.h
++++ b/include/linux/netfilter_helpers.h
@@ -0,0 +1,133 @@
+/*
+ * Helpers for netfiler modules. This file provides implementations for basic
+#endif /* __KERNEL__ */
+
+#endif /* _NETFILTER_HELPERS_H */
-Index: linux-2.6.22.19/include/linux/netfilter_mime.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/netfilter_mime.h
++++ b/include/linux/netfilter_mime.h
@@ -0,0 +1,89 @@
+/*
+ * MIME functions for netfilter modules. This file provides implementations
+#endif /* __KERNEL__ */
+
+#endif /* _NETFILTER_MIME_H */
-Index: linux-2.6.22.19/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.6.22.19/net/ipv4/netfilter/Makefile
-@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -23,6 +23,7 @@
obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
obj-$(CONFIG_NF_NAT_PPTP) += nf_nat_pptp.o
obj-$(CONFIG_NF_NAT_SIP) += nf_nat_sip.o
obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
-Index: linux-2.6.22.19/net/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Kconfig
-+++ linux-2.6.22.19/net/netfilter/Kconfig
-@@ -239,6 +239,16 @@ config NF_CONNTRACK_TFTP
+--- a/net/netfilter/Kconfig
++++ b/net/netfilter/Kconfig
+@@ -239,6 +239,16 @@
To compile it as a module, choose M here. If unsure, say N.
config NF_CT_NETLINK
tristate 'Connection tracking netlink interface (EXPERIMENTAL)'
depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
-Index: linux-2.6.22.19/net/netfilter/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/netfilter/Makefile
-+++ linux-2.6.22.19/net/netfilter/Makefile
-@@ -32,6 +32,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
+--- a/net/netfilter/Makefile
++++ b/net/netfilter/Makefile
+@@ -32,6 +32,7 @@
obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
# generic X tables
obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
-Index: linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/netfilter/Kconfig
-+++ linux-2.6.22.19/net/ipv4/netfilter/Kconfig
-@@ -296,6 +296,11 @@ config NF_NAT_IRC
+--- a/net/ipv4/netfilter/Kconfig
++++ b/net/ipv4/netfilter/Kconfig
+@@ -296,6 +296,11 @@
depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
default NF_NAT && NF_CONNTRACK_IRC
config NF_NAT_TFTP
tristate
depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
-Index: linux-2.6.22.19/net/netfilter/nf_conntrack_rtsp.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/netfilter/nf_conntrack_rtsp.c
++++ b/net/netfilter/nf_conntrack_rtsp.c
@@ -0,0 +1,515 @@
+/*
+ * RTSP extension for IP connection tracking
+
+EXPORT_SYMBOL(nf_nat_rtsp_hook_expectfn);
+
-Index: linux-2.6.22.19/net/ipv4/netfilter/nf_nat_rtsp.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/ipv4/netfilter/nf_nat_rtsp.c
++++ b/net/ipv4/netfilter/nf_nat_rtsp.c
@@ -0,0 +1,496 @@
+/*
+ * RTSP extension for TCP NAT alteration
-Index: linux-2.6.22.19/include/linux/pkt_sched.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/pkt_sched.h
-+++ linux-2.6.22.19/include/linux/pkt_sched.h
-@@ -146,8 +146,40 @@ struct tc_sfq_qopt
+--- a/include/linux/pkt_sched.h
++++ b/include/linux/pkt_sched.h
+@@ -146,8 +146,40 @@
*
* The only reason for this is efficiency, it is possible
* to change these parameters in compile time.
/* RED section */
enum
-Index: linux-2.6.22.19/net/sched/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/net/sched/Kconfig
-+++ linux-2.6.22.19/net/sched/Kconfig
-@@ -133,6 +133,26 @@ config NET_SCH_SFQ
+--- a/net/sched/Kconfig
++++ b/net/sched/Kconfig
+@@ -133,6 +133,26 @@
To compile this code as a module, choose M here: the
module will be called sch_sfq.
config NET_SCH_TEQL
tristate "True Link Equalizer (TEQL)"
---help---
-Index: linux-2.6.22.19/net/sched/Makefile
-===================================================================
---- linux-2.6.22.19.orig/net/sched/Makefile
-+++ linux-2.6.22.19/net/sched/Makefile
-@@ -23,6 +23,7 @@ obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
+--- a/net/sched/Makefile
++++ b/net/sched/Makefile
+@@ -23,6 +23,7 @@
obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o
obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o
obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o
obj-$(CONFIG_NET_SCH_TBF) += sch_tbf.o
obj-$(CONFIG_NET_SCH_TEQL) += sch_teql.o
obj-$(CONFIG_NET_SCH_PRIO) += sch_prio.o
-Index: linux-2.6.22.19/net/sched/sch_esfq.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/net/sched/sch_esfq.c
++++ b/net/sched/sch_esfq.c
@@ -0,0 +1,704 @@
+/*
+ * net/sched/sch_esfq.c Extended Stochastic Fairness Queueing discipline.
-Index: linux-2.6.22.19/include/linux/rtnetlink.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/rtnetlink.h
-+++ linux-2.6.22.19/include/linux/rtnetlink.h
-@@ -293,6 +293,8 @@ struct rtnexthop
+--- a/include/linux/rtnetlink.h
++++ b/include/linux/rtnetlink.h
+@@ -293,6 +293,8 @@
#define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
#define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
#define RTNH_F_ONLINK 4 /* Gateway is forced on link */
/* Macros to handle hexthops */
-Index: linux-2.6.22.19/include/net/flow.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/flow.h
-+++ linux-2.6.22.19/include/net/flow.h
-@@ -19,6 +19,8 @@ struct flowi {
+--- a/include/net/flow.h
++++ b/include/net/flow.h
+@@ -19,6 +19,8 @@
struct {
__be32 daddr;
__be32 saddr;
__u8 tos;
__u8 scope;
} ip4_u;
-@@ -43,6 +45,8 @@ struct flowi {
+@@ -43,6 +45,8 @@
#define fl6_flowlabel nl_u.ip6_u.flowlabel
#define fl4_dst nl_u.ip4_u.daddr
#define fl4_src nl_u.ip4_u.saddr
#define fl4_tos nl_u.ip4_u.tos
#define fl4_scope nl_u.ip4_u.scope
-Index: linux-2.6.22.19/net/ipv4/route.c
-===================================================================
---- linux-2.6.22.19.orig/net/ipv4/route.c
-+++ linux-2.6.22.19/net/ipv4/route.c
-@@ -1208,6 +1208,7 @@ void ip_rt_redirect(__be32 old_gw, __be3
+--- a/net/ipv4/route.c
++++ b/net/ipv4/route.c
+@@ -1208,6 +1208,7 @@
/* Gateway is different ... */
rt->rt_gateway = new_gw;
/* Redirect received -> path was valid */
dst_confirm(&rth->u.dst);
-@@ -1643,6 +1644,7 @@ static int ip_route_input_mc(struct sk_b
+@@ -1643,6 +1644,7 @@
rth->fl.fl4_tos = tos;
rth->fl.mark = skb->mark;
rth->fl.fl4_src = saddr;
rth->rt_src = saddr;
#ifdef CONFIG_NET_CLS_ROUTE
rth->u.dst.tclassid = itag;
-@@ -1653,6 +1655,7 @@ static int ip_route_input_mc(struct sk_b
+@@ -1653,6 +1655,7 @@
dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev);
rth->fl.oif = 0;
rth->rt_gateway = daddr;
rth->rt_spec_dst= spec_dst;
rth->rt_type = RTN_MULTICAST;
-@@ -1716,7 +1719,7 @@ static void ip_handle_martian_source(str
+@@ -1716,7 +1719,7 @@
static inline int __mkroute_input(struct sk_buff *skb,
struct fib_result* res,
struct in_device *in_dev,
struct rtable **result)
{
-@@ -1751,6 +1754,7 @@ static inline int __mkroute_input(struct
+@@ -1751,6 +1754,7 @@
flags |= RTCF_DIRECTSRC;
if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) &&
(IN_DEV_SHARED_MEDIA(out_dev) ||
inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
flags |= RTCF_DOREDIRECT;
-@@ -1788,6 +1792,7 @@ static inline int __mkroute_input(struct
+@@ -1788,6 +1792,7 @@
rth->fl.mark = skb->mark;
rth->fl.fl4_src = saddr;
rth->rt_src = saddr;
rth->rt_gateway = daddr;
rth->rt_iif =
rth->fl.iif = in_dev->dev->ifindex;
-@@ -1795,6 +1800,7 @@ static inline int __mkroute_input(struct
+@@ -1795,6 +1800,7 @@
dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev);
rth->fl.oif = 0;
rth->rt_spec_dst= spec_dst;
rth->u.dst.input = ip_forward;
-@@ -1816,19 +1822,21 @@ static inline int ip_mkroute_input_def(s
+@@ -1816,19 +1822,21 @@
struct fib_result* res,
const struct flowi *fl,
struct in_device *in_dev,
if (err)
return err;
-@@ -1841,7 +1849,8 @@ static inline int ip_mkroute_input(struc
+@@ -1841,7 +1849,8 @@
struct fib_result* res,
const struct flowi *fl,
struct in_device *in_dev,
{
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct rtable* rth = NULL, *rtres;
-@@ -1857,7 +1866,7 @@ static inline int ip_mkroute_input(struc
+@@ -1857,7 +1866,7 @@
/* distinguish between multipath and singlepath */
if (hopcount < 2)
return ip_mkroute_input_def(skb, res, fl, in_dev, daddr,
/* add all alternatives to the routing cache */
for (hop = 0; hop < hopcount; hop++) {
-@@ -1869,7 +1878,7 @@ static inline int ip_mkroute_input(struc
+@@ -1869,7 +1878,7 @@
/* create a routing cache entry */
err = __mkroute_input(skb, res, in_dev, daddr, saddr, tos,
if (err)
return err;
-@@ -1889,7 +1898,7 @@ static inline int ip_mkroute_input(struc
+@@ -1889,7 +1898,7 @@
skb->dst = &rtres->u.dst;
return err;
#else /* CONFIG_IP_ROUTE_MULTIPATH_CACHED */
#endif /* CONFIG_IP_ROUTE_MULTIPATH_CACHED */
}
-@@ -1905,18 +1914,18 @@ static inline int ip_mkroute_input(struc
+@@ -1905,18 +1914,18 @@
*/
static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
unsigned flags = 0;
u32 itag = 0;
struct rtable * rth;
-@@ -1949,6 +1958,12 @@ static int ip_route_input_slow(struct sk
+@@ -1949,6 +1958,12 @@
if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr))
goto martian_destination;
/*
* Now we are ready to route packet.
*/
-@@ -1958,6 +1973,10 @@ static int ip_route_input_slow(struct sk
+@@ -1958,6 +1973,10 @@
goto no_route;
}
free_res = 1;
RT_CACHE_STAT_INC(in_slow_tot);
-@@ -1982,7 +2001,7 @@ static int ip_route_input_slow(struct sk
+@@ -1982,7 +2001,7 @@
if (res.type != RTN_UNICAST)
goto martian_destination;
if (err == -ENOBUFS)
goto e_nobufs;
if (err == -EINVAL)
-@@ -1997,6 +2016,8 @@ out: return err;
+@@ -1997,6 +2016,8 @@
brd_input:
if (skb->protocol != htons(ETH_P_IP))
goto e_inval;
if (ZERONET(saddr))
spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
-@@ -2037,6 +2058,7 @@ local_input:
+@@ -2037,6 +2058,7 @@
rth->u.dst.dev = &loopback_dev;
dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev);
rth->rt_gateway = daddr;
rth->rt_spec_dst= spec_dst;
rth->u.dst.input= ip_local_deliver;
-@@ -2086,8 +2108,9 @@ martian_source:
+@@ -2086,8 +2108,9 @@
goto e_inval;
}
{
struct rtable * rth;
unsigned hash;
-@@ -2102,6 +2125,7 @@ int ip_route_input(struct sk_buff *skb,
+@@ -2102,6 +2125,7 @@
if (rth->fl.fl4_dst == daddr &&
rth->fl.fl4_src == saddr &&
rth->fl.iif == iif &&
rth->fl.oif == 0 &&
rth->fl.mark == skb->mark &&
rth->fl.fl4_tos == tos) {
-@@ -2148,7 +2172,19 @@ int ip_route_input(struct sk_buff *skb,
+@@ -2148,7 +2172,19 @@
rcu_read_unlock();
return -EINVAL;
}
}
static inline int __mkroute_output(struct rtable **result,
-@@ -2227,6 +2263,7 @@ static inline int __mkroute_output(struc
+@@ -2227,6 +2263,7 @@
rth->fl.fl4_tos = tos;
rth->fl.fl4_src = oldflp->fl4_src;
rth->fl.oif = oldflp->oif;
rth->fl.mark = oldflp->mark;
rth->rt_dst = fl->fl4_dst;
rth->rt_src = fl->fl4_src;
-@@ -2367,6 +2404,7 @@ static int ip_route_output_slow(struct r
+@@ -2367,6 +2404,7 @@
struct flowi fl = { .nl_u = { .ip4_u =
{ .daddr = oldflp->fl4_dst,
.saddr = oldflp->fl4_src,
.tos = tos & IPTOS_RT_MASK,
.scope = ((tos & RTO_ONLINK) ?
RT_SCOPE_LINK :
-@@ -2470,6 +2508,7 @@ static int ip_route_output_slow(struct r
+@@ -2470,6 +2508,7 @@
dev_out = &loopback_dev;
dev_hold(dev_out);
fl.oif = loopback_dev.ifindex;
res.type = RTN_LOCAL;
flags |= RTCF_LOCAL;
goto make_route;
-@@ -2477,7 +2516,7 @@ static int ip_route_output_slow(struct r
+@@ -2477,7 +2516,7 @@
if (fib_lookup(&fl, &res)) {
res.fi = NULL;
/* Apparently, routing tables are wrong. Assume,
that the destination is on link.
-@@ -2517,6 +2556,7 @@ static int ip_route_output_slow(struct r
+@@ -2517,6 +2556,7 @@
dev_out = &loopback_dev;
dev_hold(dev_out);
fl.oif = dev_out->ifindex;
if (res.fi)
fib_info_put(res.fi);
res.fi = NULL;
-@@ -2524,13 +2564,12 @@ static int ip_route_output_slow(struct r
+@@ -2524,13 +2564,12 @@
goto make_route;
}
if (!fl.fl4_src)
fl.fl4_src = FIB_RES_PREFSRC(res);
-@@ -2567,6 +2606,7 @@ int __ip_route_output_key(struct rtable
+@@ -2567,6 +2606,7 @@
rth->fl.fl4_src == flp->fl4_src &&
rth->fl.iif == 0 &&
rth->fl.oif == flp->oif &&
rth->fl.mark == flp->mark &&
!((rth->fl.fl4_tos ^ flp->fl4_tos) &
(IPTOS_RT_MASK | RTO_ONLINK))) {
-@@ -3267,3 +3307,4 @@ int __init ip_rt_init(void)
+@@ -3267,3 +3307,4 @@
EXPORT_SYMBOL(__ip_select_ident);
EXPORT_SYMBOL(ip_route_input);
EXPORT_SYMBOL(ip_route_output_key);
-Index: linux-2.6.22.19/arch/mips/Makefile
-===================================================================
---- linux-2.6.22.19.orig/arch/mips/Makefile
-+++ linux-2.6.22.19/arch/mips/Makefile
-@@ -589,6 +589,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -589,6 +589,9 @@
core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/tx4938/common/
load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
-Index: linux-2.6.22.19/fs/jffs2/build.c
-===================================================================
---- linux-2.6.22.19.orig/fs/jffs2/build.c
-+++ linux-2.6.22.19/fs/jffs2/build.c
-@@ -105,6 +105,17 @@ static int jffs2_build_filesystem(struct
+--- a/fs/jffs2/build.c
++++ b/fs/jffs2/build.c
+@@ -105,6 +105,17 @@
dbg_fsbuild("scanned flash completely\n");
jffs2_dbg_dump_block_lists_nolock(c);
dbg_fsbuild("pass 1 starting\n");
c->flags |= JFFS2_SB_FLAG_BUILDING;
/* Now scan the directory tree, increasing nlink according to every dirent found. */
-Index: linux-2.6.22.19/fs/jffs2/scan.c
-===================================================================
---- linux-2.6.22.19.orig/fs/jffs2/scan.c
-+++ linux-2.6.22.19/fs/jffs2/scan.c
-@@ -142,9 +142,12 @@ int jffs2_scan_medium(struct jffs2_sb_in
+--- a/fs/jffs2/scan.c
++++ b/fs/jffs2/scan.c
+@@ -142,9 +142,12 @@
/* reset summary info for next eraseblock scan */
jffs2_sum_reset_collected(s);
if (ret < 0)
goto out;
-@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
+@@ -545,6 +548,17 @@
return err;
}
-Index: linux-2.6.22.19/include/asm-powerpc/segment.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/asm-powerpc/segment.h
++++ b/include/asm-powerpc/segment.h
@@ -0,0 +1,6 @@
+#ifndef _ASM_SEGMENT_H
+#define _ASM_SEGMENT_H
-Index: linux-2.6.22.19/drivers/net/r8169.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/net/r8169.c
-+++ linux-2.6.22.19/drivers/net/r8169.c
-@@ -494,7 +494,7 @@ static int rtl8169_poll(struct net_devic
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -494,7 +494,7 @@
#endif
static const u16 rtl8169_intr_mask =
static const u16 rtl8169_napi_event =
RxOK | RxOverflow | RxFIFOOver | TxOK | TxErr;
static const unsigned int rtl8169_rx_config =
-@@ -2640,10 +2640,12 @@ rtl8169_interrupt(int irq, void *dev_ins
+@@ -2640,10 +2640,12 @@
if (!(status & rtl8169_intr_mask))
break;
-Index: linux-2.6.22.19/fs/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/fs/Kconfig
-+++ linux-2.6.22.19/fs/Kconfig
-@@ -461,6 +461,9 @@ config OCFS2_DEBUG_MASKLOG
+--- a/fs/Kconfig
++++ b/fs/Kconfig
+@@ -461,6 +461,9 @@
This option will enlarge your kernel, but it allows debugging of
ocfs2 filesystem issues.
config MINIX_FS
tristate "Minix fs support"
help
-Index: linux-2.6.22.19/fs/Makefile
-===================================================================
---- linux-2.6.22.19.orig/fs/Makefile
-+++ linux-2.6.22.19/fs/Makefile
-@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/
+--- a/fs/Makefile
++++ b/fs/Makefile
+@@ -76,6 +76,7 @@
obj-$(CONFIG_RAMFS) += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
obj-$(CONFIG_MINIX_FS) += minix/
obj-$(CONFIG_FAT_FS) += fat/
obj-$(CONFIG_MSDOS_FS) += msdos/
-Index: linux-2.6.22.19/fs/mini_fo/aux.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/aux.c
++++ b/fs/mini_fo/aux.c
@@ -0,0 +1,580 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+
+#endif /* unused */
+
-Index: linux-2.6.22.19/fs/mini_fo/ChangeLog
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/ChangeLog
++++ b/fs/mini_fo/ChangeLog
@@ -0,0 +1,281 @@
+2006-01-24 Markus Klotzbuecher <mk@mary.denx.de>
+
+ * Implementation of mini_fo_mknod and mini_fo_rename, support
+ for device files.
+
-Index: linux-2.6.22.19/fs/mini_fo/dentry.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/dentry.c
++++ b/fs/mini_fo/dentry.c
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ d_delete: mini_fo_d_delete,
+ d_iput: mini_fo_d_iput,
+};
-Index: linux-2.6.22.19/fs/mini_fo/file.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/file.c
++++ b/fs/mini_fo/file.c
@@ -0,0 +1,713 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ /* not implemented: sendpage */
+ /* not implemented: get_unmapped_area */
+ };
-Index: linux-2.6.22.19/fs/mini_fo/fist.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/fist.h
++++ b/fs/mini_fo/fist.h
@@ -0,0 +1,252 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+# define FIST_IOCTL_SET_DEBUG_VALUE _IOW(0x15, 2, int)
+
+#endif /* not __FIST_H_ */
-Index: linux-2.6.22.19/fs/mini_fo/inode.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/inode.c
++++ b/fs/mini_fo/inode.c
@@ -0,0 +1,1564 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ removexattr: mini_fo_removexattr
+# endif /* XATTR && LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) */
+ };
-Index: linux-2.6.22.19/fs/mini_fo/main.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/main.c
++++ b/fs/mini_fo/main.c
@@ -0,0 +1,423 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+
+module_init(init_mini_fo_fs)
+module_exit(exit_mini_fo_fs)
-Index: linux-2.6.22.19/fs/mini_fo/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/Makefile
++++ b/fs/mini_fo/Makefile
@@ -0,0 +1,17 @@
+#
+# Makefile for mini_fo 2.4 and 2.6 Linux kernels
+# dependencies
+${mini_fo-objs}: mini_fo.h fist.h
+
-Index: linux-2.6.22.19/fs/mini_fo/meta.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/meta.c
++++ b/fs/mini_fo/meta.c
@@ -0,0 +1,1000 @@
+/*
+ * Copyright (C) 2004, 2005 Markus Klotzbuecher <mk@creamnet.de>
+ return 0;
+}
+
-Index: linux-2.6.22.19/fs/mini_fo/mini_fo.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/mini_fo.h
++++ b/fs/mini_fo/mini_fo.h
@@ -0,0 +1,510 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+/* ioctls */
+
+#endif /* not __MINI_FO_H_ */
-Index: linux-2.6.22.19/fs/mini_fo/mini_fo-merge
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/mini_fo-merge
++++ b/fs/mini_fo/mini_fo-merge
@@ -0,0 +1,180 @@
+#!/bin/bash
+#
+#rm $TMP/$SKIP_DEL_LIST
+
+echo "Done!"
-Index: linux-2.6.22.19/fs/mini_fo/mini_fo-overlay
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/mini_fo-overlay
++++ b/fs/mini_fo/mini_fo-overlay
@@ -0,0 +1,130 @@
+#!/bin/bash
+#
+if [ $? -ne 0 ]; then
+ echo "Error, mounting failed, maybe no permisson to mount?"
+fi
-Index: linux-2.6.22.19/fs/mini_fo/mmap.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/mmap.c
++++ b/fs/mini_fo/mmap.c
@@ -0,0 +1,637 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ print_exit_status(err);
+ return err;
+}
-Index: linux-2.6.22.19/fs/mini_fo/README
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/README
++++ b/fs/mini_fo/README
@@ -0,0 +1,163 @@
+README for the mini_fo overlay file system
+=========================================
+2 of the License, or (at your option) any later version.
+
+
-Index: linux-2.6.22.19/fs/mini_fo/RELEASE_NOTES
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/RELEASE_NOTES
++++ b/fs/mini_fo/RELEASE_NOTES
@@ -0,0 +1,111 @@
+Release: mini_fo-0.6.1 (v0-6-1)
+Date: 21.09.2005
+original state. I hope to fix this someday. Please note that this does
+not effect the special hard links '.' and '..', that are handled
+seperately by the lower fs.
-Index: linux-2.6.22.19/fs/mini_fo/state.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/state.c
++++ b/fs/mini_fo/state.c
@@ -0,0 +1,620 @@
+/*
+ * Copyright (C) 2005 Markus Klotzbuecher <mk@creamnet.de>
+ return err;
+}
+
-Index: linux-2.6.22.19/fs/mini_fo/super.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/fs/mini_fo/super.c
++++ b/fs/mini_fo/super.c
@@ -0,0 +1,281 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
-Index: linux-2.6.22.19/include/linux/ieee80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/ieee80211.h
-+++ linux-2.6.22.19/include/linux/ieee80211.h
-@@ -106,6 +106,75 @@ struct ieee80211_hdr {
+--- a/include/linux/ieee80211.h
++++ b/include/linux/ieee80211.h
+@@ -106,6 +106,75 @@
} __attribute__ ((packed));
struct ieee80211_mgmt {
__le16 frame_control;
__le16 duration;
-@@ -173,9 +242,51 @@ struct ieee80211_mgmt {
+@@ -173,9 +242,51 @@
struct {
u8 action_code;
u8 dialog_token;
struct{
u8 action_code;
u8 element_id;
-@@ -184,6 +295,25 @@ struct ieee80211_mgmt {
+@@ -184,6 +295,25 @@
u8 new_chan;
u8 switch_count;
} __attribute__((packed)) chan_switch;
} u;
} __attribute__ ((packed)) action;
} u;
-@@ -259,6 +389,18 @@ enum ieee80211_statuscode {
+@@ -259,6 +389,18 @@
WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
};
-@@ -289,9 +431,50 @@ enum ieee80211_reasoncode {
+@@ -289,9 +431,50 @@
WLAN_REASON_INVALID_RSN_IE_CAP = 22,
WLAN_REASON_IEEE8021X_FAILED = 23,
WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
/* Information Element IDs */
enum ieee80211_eid {
WLAN_EID_SSID = 0,
-@@ -307,6 +490,15 @@ enum ieee80211_eid {
+@@ -307,6 +490,15 @@
WLAN_EID_HP_PARAMS = 8,
WLAN_EID_HP_TABLE = 9,
WLAN_EID_REQUEST = 10,
/* 802.11h */
WLAN_EID_PWR_CONSTRAINT = 32,
WLAN_EID_PWR_CAPABILITY = 33,
-@@ -321,6 +513,9 @@ enum ieee80211_eid {
+@@ -321,6 +513,9 @@
/* 802.11g */
WLAN_EID_ERP_INFO = 42,
WLAN_EID_EXT_SUPP_RATES = 50,
/* 802.11i */
WLAN_EID_RSN = 48,
WLAN_EID_WPA = 221,
-@@ -329,6 +524,9 @@ enum ieee80211_eid {
+@@ -329,6 +524,9 @@
WLAN_EID_QOS_PARAMETER = 222
};
/* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01
-@@ -339,4 +537,37 @@ enum ieee80211_eid {
+@@ -339,4 +537,37 @@
#define WLAN_MAX_KEY_LEN 32
+};
+
#endif /* IEEE80211_H */
-Index: linux-2.6.22.19/include/linux/nl80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/nl80211.h
-+++ linux-2.6.22.19/include/linux/nl80211.h
+--- a/include/linux/nl80211.h
++++ b/include/linux/nl80211.h
@@ -7,6 +7,217 @@
*/
* enum nl80211_iftype - (virtual) interface types
* @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
* @NL80211_IFTYPE_ADHOC: independent BSS member
-@@ -35,4 +246,56 @@ enum nl80211_iftype {
+@@ -35,4 +246,56 @@
};
#define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1)
+#define NL80211_KEYTYPE_MAX (__NL80211_KEYTYPE_AFTER_LAST - 1)
+
#endif /* __LINUX_NL80211_H */
-Index: linux-2.6.22.19/include/net/cfg80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/cfg80211.h
-+++ linux-2.6.22.19/include/net/cfg80211.h
+--- a/include/net/cfg80211.h
++++ b/include/net/cfg80211.h
@@ -3,6 +3,7 @@
#include <linux/netlink.h>
/* from net/wireless.h */
struct wiphy;
-@@ -30,11 +94,62 @@ struct wiphy;
+@@ -30,11 +94,62 @@
* @add_virtual_intf: create a new virtual interface with the given name
*
* @del_virtual_intf: remove the virtual interface determined by ifindex.
+ u32 seq, int flags, u8 cmd);
+
#endif /* __NET_CFG80211_H */
-Index: linux-2.6.22.19/include/net/iw_handler.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/iw_handler.h
-+++ linux-2.6.22.19/include/net/iw_handler.h
-@@ -431,7 +431,13 @@ struct iw_public_data {
+--- a/include/net/iw_handler.h
++++ b/include/net/iw_handler.h
+@@ -431,7 +431,13 @@
* Those may be called only within the kernel.
*/
/* Send a single event to user space */
extern void wireless_send_event(struct net_device * dev,
-Index: linux-2.6.22.19/include/net/mac80211.h
-===================================================================
---- linux-2.6.22.19.orig/include/net/mac80211.h
-+++ linux-2.6.22.19/include/net/mac80211.h
-@@ -300,7 +300,6 @@ struct ieee80211_conf {
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -300,7 +300,6 @@
/* Following five fields are used for IEEE 802.11H */
unsigned int radar_detect;
unsigned int spect_mgmt;
unsigned int quiet_duration; /* duration of quiet period */
unsigned int quiet_offset; /* how far into the beacon is the quiet
* period */
-@@ -514,6 +513,9 @@ struct ieee80211_hw {
+@@ -514,6 +513,9 @@
* per-packet RC4 key with each TX frame when doing hwcrypto */
#define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
u32 flags; /* hardware flags defined above */
/* Set to the size of a needed device specific skb headroom for TX skbs. */
-@@ -641,8 +643,7 @@ struct ieee80211_ops {
+@@ -641,8 +643,7 @@
* used if the wlan hardware or low-level driver implements PAE.
* 80211.o module will anyway filter frames based on authorization
* state, so this function pointer can be NULL if low-level driver does
int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr,
int authorized);
-@@ -694,8 +695,9 @@ struct ieee80211_ops {
+@@ -694,8 +695,9 @@
/* Get statistics of the current TX queue status. This is used to get
* number of currently queued packets (queue length), maximum queue
* size (limit), and total number of packets sent using each TX queue
int (*get_tx_stats)(struct ieee80211_hw *hw,
struct ieee80211_tx_queue_stats *stats);
-@@ -705,12 +707,25 @@ struct ieee80211_ops {
+@@ -705,12 +707,25 @@
* Must be atomic. */
u64 (*get_tsf)(struct ieee80211_hw *hw);
-Index: linux-2.6.22.19/lib/kobject_uevent.c
-===================================================================
---- linux-2.6.22.19.orig/lib/kobject_uevent.c
-+++ linux-2.6.22.19/lib/kobject_uevent.c
-@@ -30,9 +30,22 @@ u64 uevent_seqnum;
+--- a/lib/kobject_uevent.c
++++ b/lib/kobject_uevent.c
+@@ -30,9 +30,22 @@
char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
static DEFINE_SPINLOCK(sequence_lock);
#if defined(CONFIG_NET)
static char *action_to_string(enum kobject_action action)
{
switch (action) {
-@@ -169,9 +182,7 @@ int kobject_uevent_env(struct kobject *k
+@@ -169,9 +182,7 @@
}
/* we will send an event, request a new sequence number */
-Index: linux-2.6.22.19/drivers/leds/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/drivers/leds/Kconfig
-+++ linux-2.6.22.19/drivers/leds/Kconfig
-@@ -128,5 +128,9 @@ config LEDS_TRIGGER_HEARTBEAT
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
+@@ -128,5 +128,9 @@
load average.
If unsure, say Y.
+
endmenu
-Index: linux-2.6.22.19/drivers/leds/Makefile
-===================================================================
---- linux-2.6.22.19.orig/drivers/leds/Makefile
-+++ linux-2.6.22.19/drivers/leds/Makefile
-@@ -21,3 +21,4 @@ obj-$(CONFIG_LEDS_COBALT) += leds-cobal
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
+@@ -21,3 +21,4 @@
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
-Index: linux-2.6.22.19/drivers/input/misc/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/drivers/input/misc/Kconfig
-+++ linux-2.6.22.19/drivers/input/misc/Kconfig
-@@ -178,4 +178,20 @@ config HP_SDC_RTC
+--- a/drivers/input/misc/Kconfig
++++ b/drivers/input/misc/Kconfig
+@@ -178,4 +178,20 @@
Say Y here if you want to support the built-in real time clock
of the HP SDC controller.
+ module will be called gpio-buttons.
+
endif
-Index: linux-2.6.22.19/drivers/input/misc/Makefile
-===================================================================
---- linux-2.6.22.19.orig/drivers/input/misc/Makefile
-+++ linux-2.6.22.19/drivers/input/misc/Makefile
-@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm
+--- a/drivers/input/misc/Makefile
++++ b/drivers/input/misc/Makefile
+@@ -18,3 +18,4 @@
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
obj-$(CONFIG_INPUT_UINPUT) += uinput.o
-Index: linux-2.6.22.19/fs/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/fs/Kconfig
-+++ linux-2.6.22.19/fs/Kconfig
-@@ -419,6 +419,7 @@ config FS_POSIX_ACL
+--- a/fs/Kconfig
++++ b/fs/Kconfig
+@@ -419,6 +419,7 @@
source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
config OCFS2_FS
tristate "OCFS2 file system support"
-Index: linux-2.6.22.19/fs/Makefile
-===================================================================
---- linux-2.6.22.19.orig/fs/Makefile
-+++ linux-2.6.22.19/fs/Makefile
-@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS) += hppfs/
+--- a/fs/Makefile
++++ b/fs/Makefile
+@@ -120,3 +120,4 @@
obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_GFS2_FS) += gfs2/
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
-@@ -969,7 +970,7 @@
+@@ -965,7 +965,7 @@
f->f_version = inode->i_version;
}
curoffs++;
if (curoffs >= offset) {
l = list_entry(i, yaffs_Object, siblings);
-@@ -1273,7 +1275,7 @@
+@@ -1269,7 +1269,7 @@
if (target &&
target->variantType == YAFFS_OBJECT_TYPE_DIRECTORY &&
T(YAFFS_TRACE_OS, (KERN_DEBUG "target is non-empty dir\n"));
-@@ -1529,7 +1531,7 @@
+@@ -1503,7 +1503,7 @@
yaffs_GrossUnlock(dev);
/* we assume this is protected by lock_kernel() in mount/umount */
if(dev->spareBuffer){
YFREE(dev->spareBuffer);
-@@ -1864,7 +1866,7 @@
+@@ -1847,7 +1847,7 @@
dev->skipCheckpointWrite = options.skip_checkpoint_write;
/* we assume this is protected by lock_kernel() in mount/umount */
#endif
--- a/fs/yaffs2/yaffs_mtdif2.c
+++ b/fs/yaffs2/yaffs_mtdif2.c
-@@ -204,7 +204,7 @@
+@@ -188,7 +188,7 @@
}
int nandmtd2_QueryNANDBlock(struct yaffs_DeviceStruct *dev, int blockNo,
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
-Index: linux-2.6.22.19/drivers/misc/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/drivers/misc/Kconfig
-+++ linux-2.6.22.19/drivers/misc/Kconfig
-@@ -34,6 +34,11 @@ config PHANTOM
+--- a/drivers/misc/Kconfig
++++ b/drivers/misc/Kconfig
+@@ -34,6 +34,11 @@
If you choose to build module, its name will be phantom. If unsure,
say N here.
If unsure, say N.
-@@ -187,5 +192,4 @@ config THINKPAD_ACPI_BAY
+@@ -187,5 +192,4 @@
If you are not sure, say Y here.
-
endmenu
-Index: linux-2.6.22.19/drivers/misc/Makefile
-===================================================================
---- linux-2.6.22.19.orig/drivers/misc/Makefile
-+++ linux-2.6.22.19/drivers/misc/Makefile
-@@ -14,3 +14,4 @@ obj-$(CONFIG_PHANTOM) += phantom.o
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -14,3 +14,4 @@
obj-$(CONFIG_SGI_IOC4) += ioc4.o
obj-$(CONFIG_SONY_LAPTOP) += sony-laptop.o
obj-$(CONFIG_THINKPAD_ACPI) += thinkpad_acpi.o
+obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o
-Index: linux-2.6.22.19/drivers/misc/eeprom_93cx6.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/drivers/misc/eeprom_93cx6.c
++++ b/drivers/misc/eeprom_93cx6.c
@@ -0,0 +1,229 @@
+/*
+ Copyright (C) 2004 - 2006 rt2x00 SourceForge Project
+}
+EXPORT_SYMBOL_GPL(eeprom_93cx6_multiread);
+
-Index: linux-2.6.22.19/include/linux/eeprom_93cx6.h
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/include/linux/eeprom_93cx6.h
++++ b/include/linux/eeprom_93cx6.h
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2004 - 2006 rt2x00 SourceForge Project
-Index: linux-2.6.22.19/drivers/misc/eeprom_93cx6.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/misc/eeprom_93cx6.c
-+++ linux-2.6.22.19/drivers/misc/eeprom_93cx6.c
-@@ -39,14 +39,26 @@ static inline void eeprom_93cx6_pulse_hi
+--- a/drivers/misc/eeprom_93cx6.c
++++ b/drivers/misc/eeprom_93cx6.c
+@@ -39,14 +39,26 @@
{
eeprom->reg_data_clock = 1;
eeprom->register_write(eeprom);
-Index: linux-2.6.22.19/drivers/usb/serial/usb-serial.c
-===================================================================
---- linux-2.6.22.19.orig/drivers/usb/serial/usb-serial.c
-+++ linux-2.6.22.19/drivers/usb/serial/usb-serial.c
-@@ -56,6 +56,7 @@ static struct usb_driver usb_serial_driv
+--- a/drivers/usb/serial/usb-serial.c
++++ b/drivers/usb/serial/usb-serial.c
+@@ -56,6 +56,7 @@
drivers depend on it.
*/
static int debug;
static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */
static spinlock_t table_lock;
-@@ -864,7 +865,7 @@ int usb_serial_probe(struct usb_interfac
+@@ -864,7 +865,7 @@
dev_err(&interface->dev, "No free urbs available\n");
goto probe_error;
}
port->bulk_in_size = buffer_size;
port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
-@@ -1245,3 +1246,5 @@ MODULE_LICENSE("GPL");
+@@ -1245,3 +1246,5 @@
module_param(debug, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(debug, "Debug enabled or not");
-Index: linux-2.6.22.19/include/linux/time.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/time.h
-+++ linux-2.6.22.19/include/linux/time.h
+--- a/include/linux/time.h
++++ b/include/linux/time.h
@@ -1,6 +1,10 @@
#ifndef _LINUX_TIME_H
#define _LINUX_TIME_H
#include <linux/types.h>
#ifdef __KERNEL__
-@@ -225,4 +229,6 @@ struct itimerval {
+@@ -225,4 +229,6 @@
*/
#define TIMER_ABSTIME 0x01
+#endif /* __KERNEL__ DEBIAN */
+
#endif
-Index: linux-2.6.22.19/include/linux/types.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/types.h
-+++ linux-2.6.22.19/include/linux/types.h
+--- a/include/linux/types.h
++++ b/include/linux/types.h
@@ -1,6 +1,14 @@
#ifndef _LINUX_TYPES_H
#define _LINUX_TYPES_H
#ifdef __KERNEL__
#define BITS_TO_LONGS(bits) \
-@@ -162,6 +170,8 @@ typedef unsigned long blkcnt_t;
+@@ -162,6 +170,8 @@
#endif /* __KERNEL_STRICT_NAMES */
-Index: linux-2.6.22.19/scripts/genksyms/parse.c_shipped
-===================================================================
---- linux-2.6.22.19.orig/scripts/genksyms/parse.c_shipped
-+++ linux-2.6.22.19/scripts/genksyms/parse.c_shipped
+--- a/scripts/genksyms/parse.c_shipped
++++ b/scripts/genksyms/parse.c_shipped
@@ -144,7 +144,9 @@
#include "genksyms.h"
static int is_typedef;
-Index: linux-2.6.22.19/scripts/genksyms/parse.y
-===================================================================
---- linux-2.6.22.19.orig/scripts/genksyms/parse.y
-+++ linux-2.6.22.19/scripts/genksyms/parse.y
+--- a/scripts/genksyms/parse.y
++++ b/scripts/genksyms/parse.y
@@ -24,7 +24,9 @@
%{
#include "genksyms.h"
static int is_typedef;
-Index: linux-2.6.22.19/scripts/kallsyms.c
-===================================================================
---- linux-2.6.22.19.orig/scripts/kallsyms.c
-+++ linux-2.6.22.19/scripts/kallsyms.c
+--- a/scripts/kallsyms.c
++++ b/scripts/kallsyms.c
@@ -30,6 +30,35 @@
#include <stdlib.h>
#include <string.h>
#define KSYM_NAME_LEN 127
-Index: linux-2.6.22.19/scripts/kconfig/Makefile
-===================================================================
---- linux-2.6.22.19.orig/scripts/kconfig/Makefile
-+++ linux-2.6.22.19/scripts/kconfig/Makefile
-@@ -87,6 +87,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
+--- a/scripts/kconfig/Makefile
++++ b/scripts/kconfig/Makefile
+@@ -87,6 +87,9 @@
# we really need to do so. (Do not call gcc as part of make mrproper)
HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
HOST_EXTRACFLAGS += -DLOCALE
-Index: linux-2.6.22.19/scripts/mod/mk_elfconfig.c
-===================================================================
---- linux-2.6.22.19.orig/scripts/mod/mk_elfconfig.c
-+++ linux-2.6.22.19/scripts/mod/mk_elfconfig.c
+--- a/scripts/mod/mk_elfconfig.c
++++ b/scripts/mod/mk_elfconfig.c
@@ -1,7 +1,11 @@
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char **argv)
-Index: linux-2.6.22.19/scripts/mod/modpost.h
-===================================================================
---- linux-2.6.22.19.orig/scripts/mod/modpost.h
-+++ linux-2.6.22.19/scripts/mod/modpost.h
+--- a/scripts/mod/modpost.h
++++ b/scripts/mod/modpost.h
@@ -7,7 +7,11 @@
#include <sys/mman.h>
#include <fcntl.h>
-Index: linux-2.6.22.19/include/linux/stddef.h
-===================================================================
---- linux-2.6.22.19.orig/include/linux/stddef.h
-+++ linux-2.6.22.19/include/linux/stddef.h
-@@ -16,6 +16,7 @@ enum {
+--- a/include/linux/stddef.h
++++ b/include/linux/stddef.h
+@@ -16,6 +16,7 @@
false = 0,
true = 1
};
#undef offsetof
#ifdef __compiler_offsetof
-@@ -23,6 +24,5 @@ enum {
+@@ -23,6 +24,5 @@
#else
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif
-Index: linux-2.6.22.19/scripts/gen_initramfs_list.sh
-===================================================================
---- linux-2.6.22.19.orig/scripts/gen_initramfs_list.sh
-+++ linux-2.6.22.19/scripts/gen_initramfs_list.sh
-@@ -125,7 +125,7 @@ parse() {
+--- a/scripts/gen_initramfs_list.sh
++++ b/scripts/gen_initramfs_list.sh
+@@ -125,7 +125,7 @@
str="${ftype} ${name} ${location} ${str}"
;;
"nod")
local maj=`field 5 ${dev}`
local min=`field 6 ${dev}`
maj=${maj%,}
-@@ -135,7 +135,7 @@ parse() {
+@@ -135,7 +135,7 @@
str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
;;
"slink")
Signed-off-by: Jeff Garzik <jeff@garzik.org>
---
-Index: linux-2.6.22.19/drivers/net/phy/Kconfig
-===================================================================
---- linux-2.6.22.19.orig/drivers/net/phy/Kconfig
-+++ linux-2.6.22.19/drivers/net/phy/Kconfig
-@@ -55,6 +55,11 @@ config BROADCOM_PHY
+--- a/drivers/net/phy/Kconfig
++++ b/drivers/net/phy/Kconfig
+@@ -55,6 +55,11 @@
---help---
Currently supports the BCM5411, BCM5421 and BCM5461 PHYs.
config FIXED_PHY
tristate "Drivers for PHY emulation on fixed speed/link"
---help---
-Index: linux-2.6.22.19/drivers/net/phy/Makefile
-===================================================================
---- linux-2.6.22.19.orig/drivers/net/phy/Makefile
-+++ linux-2.6.22.19/drivers/net/phy/Makefile
-@@ -11,4 +11,5 @@ obj-$(CONFIG_QSEMI_PHY) += qsemi.o
+--- a/drivers/net/phy/Makefile
++++ b/drivers/net/phy/Makefile
+@@ -11,4 +11,5 @@
obj-$(CONFIG_SMSC_PHY) += smsc.o
obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
+obj-$(CONFIG_ICPLUS_PHY) += icplus.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
-Index: linux-2.6.22.19/drivers/net/phy/icplus.c
-===================================================================
--- /dev/null
-+++ linux-2.6.22.19/drivers/net/phy/icplus.c
++++ b/drivers/net/phy/icplus.c
@@ -0,0 +1,134 @@
+/*
+ * Driver for ICPlus PHYs