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