SOURCES (LINUX_2_6): kernel-bzip2-lzma.patch - update7 of patch from LKML
areq
areq at pld-linux.org
Thu Oct 30 23:46:11 CET 2008
Author: areq Date: Thu Oct 30 22:46:11 2008 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- update7 of patch from LKML
---- Files affected:
SOURCES:
kernel-bzip2-lzma.patch (1.1.2.6 -> 1.1.2.7)
---- Diffs:
================================================================
Index: SOURCES/kernel-bzip2-lzma.patch
diff -u SOURCES/kernel-bzip2-lzma.patch:1.1.2.6 SOURCES/kernel-bzip2-lzma.patch:1.1.2.7
--- SOURCES/kernel-bzip2-lzma.patch:1.1.2.6 Thu Sep 25 13:57:39 2008
+++ SOURCES/kernel-bzip2-lzma.patch Thu Oct 30 23:46:05 2008
@@ -1,60 +1,6 @@
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/arch/x86/boot/compressed/head_32.S linux-2.6.26.3udpcast/arch/x86/boot/compressed/head_32.S
---- linux-2.6.26.3/arch/x86/boot/compressed/head_32.S 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/arch/x86/boot/compressed/head_32.S 2008-09-06 12:23:22.000000000 +0200
-@@ -75,7 +75,11 @@ startup_32:
-
- /* Replace the compressed data size with the uncompressed size */
- subl input_len(%ebp), %ebx
-+#ifdef CONFIG_KERNEL_LZMA
-+ movl output_len_lzma(%ebp), %eax
-+#else
- movl output_len(%ebp), %eax
-+#endif
- addl %eax, %ebx
- /* Add 8 bytes for every 32K input block */
- shrl $12, %eax
-@@ -135,7 +139,11 @@ relocated:
- /*
- * Do the decompression, and jump to the new kernel..
- */
-+#ifdef CONFIG_KERNEL_LZMA
-+ movl output_len_lzma(%ebx), %eax
-+#else
- movl output_len(%ebx), %eax
-+#endif
- pushl %eax
- pushl %ebp # output address
- movl input_len(%ebx), %eax
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/arch/x86/boot/compressed/head_64.S linux-2.6.26.3udpcast/arch/x86/boot/compressed/head_64.S
---- linux-2.6.26.3/arch/x86/boot/compressed/head_64.S 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/arch/x86/boot/compressed/head_64.S 2008-09-06 21:27:59.000000000 +0200
-@@ -89,7 +89,11 @@ startup_32:
-
- /* Replace the compressed data size with the uncompressed size */
- subl input_len(%ebp), %ebx
-+#ifdef CONFIG_KERNEL_LZMA
-+ movl output_len_lzma(%ebp), %eax
-+#else
- movl output_len(%ebp), %eax
-+#endif
- addl %eax, %ebx
- /* Add 8 bytes for every 32K input block */
- shrl $12, %eax
-@@ -232,7 +236,11 @@ ENTRY(startup_64)
- /* Replace the compressed data size with the uncompressed size */
- movl input_len(%rip), %eax
- subq %rax, %rbx
-+#ifdef CONFIG_KERNEL_LZMA
-+ movl output_len_lzma(%rip), %eax
-+#else
- movl output_len(%rip), %eax
-+#endif
- addq %rax, %rbx
- /* Add 8 bytes for every 32K input block */
- shrq $12, %rax
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/arch/x86/boot/compressed/Makefile linux-2.6.26.3udpcast/arch/x86/boot/compressed/Makefile
---- linux-2.6.26.3/arch/x86/boot/compressed/Makefile 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/arch/x86/boot/compressed/Makefile 2008-09-04 20:04:13.000000000 +0200
+diff -urNp linux-2.6.27.orig/arch/x86/boot/compressed/Makefile linux-2.6.27/arch/x86/boot/compressed/Makefile
+--- linux-2.6.27.orig/arch/x86/boot/compressed/Makefile 2008-10-29 08:48:23.000000000 +0100
++++ linux-2.6.27/arch/x86/boot/compressed/Makefile 2008-10-30 22:30:21.000000000 +0100
@@ -4,7 +4,7 @@
# create a compressed vmlinux image from the original vmlinux
#
@@ -64,7 +10,7 @@
KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
-@@ -46,19 +46,34 @@ $(obj)/vmlinux.bin.all: $(vmlinux.bin.al
+@@ -46,9 +46,17 @@ $(obj)/vmlinux.bin.all: $(vmlinux.bin.al
ifdef CONFIG_RELOCATABLE
$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin.all FORCE
$(call if_changed,gzip)
@@ -82,84 +28,116 @@
endif
LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
- else
+@@ -56,9 +64,17 @@ else
$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)
+
+$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
+ $(call if_changed,bzip2)
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
+ $(call if_changed,lzma)
-
LDFLAGS_piggy.o := -r --format binary --oformat elf64-x86-64 -T
endif
+
+-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
+suffix_$(CONFIG_KERNEL_GZIP) = gz
+suffix_$(CONFIG_KERNEL_BZIP2) = bz2
+suffix_$(CONFIG_KERNEL_LZMA) = lzma
-
--$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
++
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
$(call if_changed,ld)
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/arch/x86/boot/compressed/misc.c linux-2.6.26.3udpcast/arch/x86/boot/compressed/misc.c
---- linux-2.6.26.3/arch/x86/boot/compressed/misc.c 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/arch/x86/boot/compressed/misc.c 2008-09-06 21:34:29.000000000 +0200
-@@ -136,11 +136,15 @@ typedef unsigned long ulg;
- #define WSIZE 0x80000000
-
- /* Input buffer: */
-+
-+#ifdef CONFIG_KERNEL_GZIP
- static unsigned char *inbuf;
-+#endif
-
- /* Sliding window buffer (and final output buffer): */
- static unsigned char *window;
-
-+#ifdef CONFIG_KERNEL_GZIP
- /* Valid bytes in inbuf: */
- static unsigned insize;
-
-@@ -180,9 +184,14 @@ static unsigned outcnt;
-
- static int fill_inbuf(void);
- static void flush_window(void);
-+#endif
-+
+diff -urNp linux-2.6.27.orig/arch/x86/boot/compressed/misc.c linux-2.6.27/arch/x86/boot/compressed/misc.c
+--- linux-2.6.27.orig/arch/x86/boot/compressed/misc.c 2008-10-29 08:48:23.000000000 +0100
++++ linux-2.6.27/arch/x86/boot/compressed/misc.c 2008-10-30 22:27:54.000000000 +0100
+@@ -116,71 +116,13 @@
+ /*
+ * gzip declarations
+ */
+-
+-#define OF(args) args
+ #define STATIC static
+
+ #undef memset
+ #undef memcpy
+ #define memzero(s, n) memset((s), 0, (n))
+
+-typedef unsigned char uch;
+-typedef unsigned short ush;
+-typedef unsigned long ulg;
+-
+-/*
+- * Window size must be at least 32k, and a power of two.
+- * We don't actually have a window just a huge output buffer,
+- * so we report a 2G window size, as that should always be
+- * larger than our output buffer:
+- */
+-#define WSIZE 0x80000000
+-
+-/* Input buffer: */
+-static unsigned char *inbuf;
+-
+-/* Sliding window buffer (and final output buffer): */
+-static unsigned char *window;
+
+-/* Valid bytes in inbuf: */
+-static unsigned insize;
+-
+-/* Index of next byte to be processed in inbuf: */
+-static unsigned inptr;
+-
+-/* Bytes in output buffer: */
+-static unsigned outcnt;
+-
+-/* gzip flag byte */
+-#define ASCII_FLAG 0x01 /* bit 0 set: file probably ASCII text */
+-#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gz file */
+-#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
+-#define ORIG_NAM 0x08 /* bit 3 set: original file name present */
+-#define COMMENT 0x10 /* bit 4 set: file comment present */
+-#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */
+-#define RESERVED 0xC0 /* bit 6, 7: reserved */
+-
+-#define get_byte() (inptr < insize ? inbuf[inptr++] : fill_inbuf())
+-
+-/* Diagnostic functions */
+-#ifdef DEBUG
+-# define Assert(cond, msg) do { if (!(cond)) error(msg); } while (0)
+-# define Trace(x) do { fprintf x; } while (0)
+-# define Tracev(x) do { if (verbose) fprintf x ; } while (0)
+-# define Tracevv(x) do { if (verbose > 1) fprintf x ; } while (0)
+-# define Tracec(c, x) do { if (verbose && (c)) fprintf x ; } while (0)
+-# define Tracecv(c, x) do { if (verbose > 1 && (c)) fprintf x ; } while (0)
+-#else
+-# define Assert(cond, msg)
+-# define Trace(x)
+-# define Tracev(x)
+-# define Tracevv(x)
+-# define Tracec(c, x)
+-# define Tracecv(c, x)
+-#endif
+-
+-static int fill_inbuf(void);
+-static void flush_window(void);
static void error(char *m);
-+
-+#ifdef CONFIG_KERNEL_GZIP
- static void gzip_mark(void **);
- static void gzip_release(void **);
-+#endif
/*
- * This is set up by the setup-routine at boot-time
-@@ -203,7 +212,9 @@ static long bytes_out;
- static void *malloc(int size);
- static void free(void *where);
-
-+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
+@@ -189,11 +131,6 @@ static void error(char *m);
+ static struct boot_params *real_mode; /* Pointer to real-mode data */
+ static int quiet;
+
+-extern unsigned char input_data[];
+-extern int input_len;
+-
+-static long bytes_out;
+-
static void *memset(void *s, int c, unsigned n);
-+#endif
static void *memcpy(void *dest, const void *src, unsigned n);
- static void putstr(const char *);
-@@ -225,7 +236,30 @@ static int lines, cols;
- void *xquad_portio;
- #endif
+@@ -213,7 +150,17 @@ static char *vidmem;
+ static int vidport;
+ static int lines, cols;
-+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
-+
-+#define large_malloc malloc
-+#define large_free free
-+
-+#ifdef current
-+#undef current
-+#endif
-+
-+#define INCLUDED
-+#endif
-+
+#ifdef CONFIG_KERNEL_GZIP
#include "../../../../lib/inflate.c"
+#endif
@@ -169,150 +147,78 @@
+#endif
+
+#ifdef CONFIG_KERNEL_LZMA
-+#define IN_MEMORY
+#include "../../../../lib/decompress_unlzma.c"
+#endif
- static void *malloc(int size)
- {
-@@ -251,6 +285,7 @@ static void free(void *where)
- { /* Don't care */
- }
-
-+#ifdef CONFIG_KERNEL_GZIP
- static void gzip_mark(void **ptr)
- {
- *ptr = (void *) free_mem_ptr;
-@@ -260,6 +295,7 @@ static void gzip_release(void **ptr)
- {
- free_mem_ptr = (memptr) *ptr;
- }
-+#endif
-
static void scroll(void)
{
-@@ -312,6 +348,7 @@ static void putstr(const char *s)
- outb(0xff & (pos >> 1), vidport+1);
- }
-
-+#if (defined CONFIG_KERNEL_GZIP || defined CONFIG_KERNEL_BZIP2)
- static void *memset(void *s, int c, unsigned n)
- {
- int i;
-@@ -320,6 +357,7 @@ static void *memset(void *s, int c, unsi
- for (i = 0; i < n; i++) ss[i] = c;
- return s;
- }
-+#endif
-
- static void *memcpy(void *dest, const void *src, unsigned n)
- {
-@@ -331,6 +369,27 @@ static void *memcpy(void *dest, const vo
+@@ -291,38 +238,6 @@ static void *memcpy(void *dest, const vo
return dest;
}
-+#ifndef CONFIG_KERNEL_GZIP
-+/* ===========================================================================
-+ * Write the output window window[0..outcnt-1] and update bytes_out.
-+ * (Used for the decompressed data only.)
-+ */
-+static int compr_flush(void *datav, unsigned int len)
-+{
-+ char *data = (char *) datav;
-+ unsigned n;
-+ uch *out;
-+
-+ out = window;
-+ for (n = 0; n < len; n++)
-+ *out++ = *data++;
-+
-+ bytes_out += (ulg)len;
-+ window += (ulg)len;
-+ return len;
-+}
-+
-+#else
- /* ===========================================================================
- * Fill the input buffer. This is called only when the buffer is empty
- * and at least one byte is really needed.
-@@ -363,6 +422,7 @@ static void flush_window(void)
- bytes_out += (unsigned long)outcnt;
- outcnt = 0;
- }
-+#endif
+-/* ===========================================================================
+- * Fill the input buffer. This is called only when the buffer is empty
+- * and at least one byte is really needed.
+- */
+-static int fill_inbuf(void)
+-{
+- error("ran out of input data");
+- return 0;
+-}
+-
+-/* ===========================================================================
+- * Write the output window window[0..outcnt-1] and update crc and bytes_out.
+- * (Used for the decompressed data only.)
+- */
+-static void flush_window(void)
+-{
+- /* With my window equal to my output buffer
+- * I only need to compute the crc here.
+- */
+- unsigned long c = crc; /* temporary variable */
+- unsigned n;
+- unsigned char *in, ch;
+-
+- in = window;
+- for (n = 0; n < outcnt; n++) {
+- ch = *in++;
+- c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
+- }
+- crc = c;
+- bytes_out += (unsigned long)outcnt;
+- outcnt = 0;
+-}
static void error(char *x)
{
-@@ -444,9 +504,11 @@ asmlinkage void decompress_kernel(void *
- window = output; /* Output buffer (Normally at 1M) */
+@@ -405,12 +320,8 @@ asmlinkage void decompress_kernel(void *
+ lines = real_mode->screen_info.orig_video_lines;
+ cols = real_mode->screen_info.orig_video_cols;
+
+- window = output; /* Output buffer (Normally at 1M) */
free_mem_ptr = heap; /* Heap */
free_mem_end_ptr = heap + BOOT_HEAP_SIZE;
-+#ifdef CONFIG_KERNEL_GZIP
- inbuf = input_data; /* Input buffer */
- insize = input_len;
- inptr = 0;
-+#endif
+- inbuf = input_data; /* Input buffer */
+- insize = input_len;
+- inptr = 0;
#ifdef CONFIG_X86_64
if ((unsigned long)output & (__KERNEL_ALIGN - 1))
-@@ -464,9 +526,20 @@ asmlinkage void decompress_kernel(void *
+@@ -428,10 +339,9 @@ asmlinkage void decompress_kernel(void *
#endif
#endif
-+#ifdef CONFIG_KERNEL_BZIP2
-+ putstr("\nBunzipping Linux... ");
-+ bunzip2(input_data, input_len-4, NULL, compr_flush, NULL);
-+#endif
-+#ifdef CONFIG_KERNEL_LZMA
-+ putstr("\nUnlzmaing Linux... ");
-+ unlzma(input_data, input_len, NULL, output, NULL);
-+#endif
-+
-+#ifdef CONFIG_KERNEL_GZIP
- makecrc();
- putstr("\nDecompressing Linux... ");
- gunzip();
-+#endif
+- makecrc();
+ if (!quiet)
+ putstr("\nDecompressing Linux... ");
+- gunzip();
++ decompress(input_data, input_len, NULL, NULL, output, NULL, error);
parse_elf(output);
- putstr("done.\nBooting the kernel.\n");
- return;
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/arch/x86/boot/compressed/vmlinux.scr linux-2.6.26.3udpcast/arch/x86/boot/compressed/vmlinux.scr
---- linux-2.6.26.3/arch/x86/boot/compressed/vmlinux.scr 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/arch/x86/boot/compressed/vmlinux.scr 2008-09-06 21:31:55.000000000 +0200
-@@ -3,6 +3,7 @@ SECTIONS
- .rodata.compressed : {
- input_len = .;
- LONG(input_data_end - input_data) input_data = .;
-+ output_len_lzma = . + 5;
- *(.data)
- output_len = . - 4;
- input_data_end = .;
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/Documentation/dontdiff linux-2.6.26.3udpcast/Documentation/dontdiff
---- linux-2.6.26.3/Documentation/dontdiff 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/Documentation/dontdiff 2008-09-06 22:04:53.000000000 +0200
-@@ -183,10 +183,18 @@ vmlinux
- vmlinux-*
- vmlinux.aout
- vmlinux*.lds*
--vmlinux*.scr
- vsyscall.lds
- wanxlfw.inc
- uImage
- unifdef
- zImage*
- zconf.hash.c
-+bounds.h
-+cpustr.h
-+vdso-syms.lds
-+vdso.so.dbg
-+mkcpustr
-+vmlinux.bin.all
-+vmlinux.bin.lzma
-+vmlinux.bin.bz2
-+vmlinux.bin.gz
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/drivers/block/Kconfig linux-2.6.26.3udpcast/drivers/block/Kconfig
---- linux-2.6.26.3/drivers/block/Kconfig 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/drivers/block/Kconfig 2008-09-03 19:47:02.000000000 +0200
+ if (!quiet)
+ putstr("done.\nBooting the kernel.\n");
+diff -urNp linux-2.6.27.orig/drivers/block/Kconfig linux-2.6.27/drivers/block/Kconfig
+--- linux-2.6.27.orig/drivers/block/Kconfig 2008-10-29 08:48:02.000000000 +0100
++++ linux-2.6.27/drivers/block/Kconfig 2008-10-30 22:27:34.000000000 +0100
@@ -357,6 +357,30 @@ config BLK_DEV_XIP
will prevent RAM block device backing store memory from being
allocated from highmem (only a problem for highmem systems).
@@ -344,14 +250,14 @@
config CDROM_PKTCDVD
tristate "Packet writing on CD/DVD media"
depends on !UML
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/include/asm-x86/boot.h linux-2.6.26.3udpcast/include/asm-x86/boot.h
---- linux-2.6.26.3/include/asm-x86/boot.h 2008-08-20 20:11:37.000000000 +0200
-+++ linux-2.6.26.3udpcast/include/asm-x86/boot.h 2008-09-06 21:33:56.000000000 +0200
-@@ -17,12 +17,23 @@
+diff -urNp linux-2.6.27.orig/include/asm-x86/boot.h linux-2.6.27/include/asm-x86/boot.h
+--- linux-2.6.27.orig/include/asm-x86/boot.h 2008-10-29 08:47:54.000000000 +0100
++++ linux-2.6.27/include/asm-x86/boot.h 2008-10-30 22:27:38.000000000 +0100
+@@ -17,11 +17,21 @@
+ (CONFIG_PHYSICAL_ALIGN - 1)) \
& ~(CONFIG_PHYSICAL_ALIGN - 1))
-+#if (defined CONFIG_KERNEL_BZIP2 || defined CONFIG_KERNEL_LZMA)
++#if (defined CONFIG_KERNEL_BZIP2)
+#define BOOT_HEAP_SIZE 0x400000
+#else
+
@@ -370,36 +276,24 @@
#define BOOT_STACK_SIZE 0x1000
#endif
-+
- #endif /* _ASM_BOOT_H */
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/include/linux/decompress_bunzip2.h linux-2.6.26.3udpcast/include/linux/decompress_bunzip2.h
---- linux-2.6.26.3/include/linux/decompress_bunzip2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.26.3udpcast/include/linux/decompress_bunzip2.h 2008-09-05 23:51:20.000000000 +0200
-@@ -0,0 +1,20 @@
+diff -urNp linux-2.6.27.orig/include/linux/decompress/bunzip2.h linux-2.6.27/include/linux/decompress/bunzip2.h
+--- linux-2.6.27.orig/include/linux/decompress/bunzip2.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.27/include/linux/decompress/bunzip2.h 2008-10-30 22:27:29.000000000 +0100
+@@ -0,0 +1,10 @@
+#ifndef DECOMPRESS_BUNZIP2_H
+#define DECOMPRESS_BUNZIP2_H
+
-+/* Other housekeeping constants */
-+#define BZIP2_IOBUF_SIZE 4096
-+
-+#ifndef STATIC
-+#define STATIC extern
-+#endif
-+
-+#ifndef INIT
-+#define INIT /* */
-+#endif
-+
-+STATIC int INIT bunzip2(char *inbuf, int len,
-+ int(*fill)(void*, unsigned int),
-+ int(*flush)(void*, unsigned int),
-+ int *pos);
-+
-+#endif
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/include/linux/decompress_generic.h linux-2.6.26.3udpcast/include/linux/decompress_generic.h
---- linux-2.6.26.3/include/linux/decompress_generic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.26.3udpcast/include/linux/decompress_generic.h 2008-09-05 17:47:11.000000000 +0200
-@@ -0,0 +1,28 @@
++int bunzip2(unsigned char *inbuf, int len,
++ int(*fill)(void*, unsigned int),
++ int(*flush)(void*, unsigned int),
++ unsigned char *output,
++ int *pos,
++ void(*error)(char *x));
++#endif
+diff -urNp linux-2.6.27.orig/include/linux/decompress/generic.h linux-2.6.27/include/linux/decompress/generic.h
+--- linux-2.6.27.orig/include/linux/decompress/generic.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.27/include/linux/decompress/generic.h 2008-10-30 22:27:29.000000000 +0100
+@@ -0,0 +1,30 @@
+#ifndef DECOMPRESS_GENERIC_H
+#define DECOMPRESS_GENERIC_H
+
@@ -408,10 +302,12 @@
+ *Lzma prefers 0x10000 */
+#define COMPR_IOBUF_SIZE 4096
+
-+typedef int (*uncompress_fn) (char *inbuf, int len,
-+ int(*fill)(char*, unsigned int),
-+ int(*writebb)(char*, unsigned int),
-+ int *posp);
++typedef int (*decompress_fn) (unsigned char *inbuf, int len,
++ int(*fill)(void*, unsigned int),
++ int(*writebb)(void*, unsigned int),
++ unsigned char *output,
++ int *posp,
++ void(*error)(char *x));
+
+/* inbuf - input buffer
+ *len - len of pre-read data in inbuf
@@ -428,71 +324,166 @@
+
+
+#endif
-diff -purN -X linux-2.6.26.3udpcast/Documentation/dontdiff linux-2.6.26.3/include/linux/decompress_unlzma.h linux-2.6.26.3udpcast/include/linux/decompress_unlzma.h
---- linux-2.6.26.3/include/linux/decompress_unlzma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.26.3udpcast/include/linux/decompress_unlzma.h 2008-09-06 10:03:46.000000000 +0200
-@@ -0,0 +1,24 @@
-+#ifndef DECOMPRESS_UNLZMA_H
-+#define DECOMPRESS_UNLZMA_H
+diff -urNp linux-2.6.27.orig/include/linux/decompress/inflate.h linux-2.6.27/include/linux/decompress/inflate.h
+--- linux-2.6.27.orig/include/linux/decompress/inflate.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.27/include/linux/decompress/inflate.h 2008-10-30 22:27:29.000000000 +0100
+@@ -0,0 +1,13 @@
++#ifndef INFLATE_H
++#define INFLATE_H
+
-+#define LZMA_IOBUF_SIZE 0x10000
++/* Other housekeeping constants */
++#define INBUFSIZ 4096
+
-+#ifndef STATIC
-+#define STATIC extern
-+#endif
++int gunzip(unsigned char *inbuf, int len,
++ int(*fill)(void*, unsigned int),
++ int(*flush)(void*, unsigned int),
++ unsigned char *output,
++ int *pos,
++ void(*error_fn)(char *x));
++#endif
+diff -urNp linux-2.6.27.orig/include/linux/decompress/mm.h linux-2.6.27/include/linux/decompress/mm.h
+--- linux-2.6.27.orig/include/linux/decompress/mm.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.27/include/linux/decompress/mm.h 2008-10-30 22:27:54.000000000 +0100
+@@ -0,0 +1,88 @@
++/*
++ * linux/compr_mm.h
++ *
++ * Memory management for pre-boot and ramdisk uncompressors
++ *
++ * Authors: Alain Knaff <alain at knaff.lu>
++ *
++ */
+
-+#ifndef INIT
-+#define INIT /* */
-+#endif
++#ifndef DECOMPR_MM_H
++#define DECOMPR_MM_H
+
-+STATIC int unlzma(char *, int,
-+ int(*fill)(void*, unsigned int),
-+#ifdef IN_MEMORY
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-bzip2-lzma.patch?r1=1.1.2.6&r2=1.1.2.7&f=u
More information about the pld-cvs-commit
mailing list