diff options
| -rw-r--r-- | target/linux/rdc/patches-2.6.28/006-bzip2_lzma_x86.patch | 220 | 
1 files changed, 0 insertions, 220 deletions
diff --git a/target/linux/rdc/patches-2.6.28/006-bzip2_lzma_x86.patch b/target/linux/rdc/patches-2.6.28/006-bzip2_lzma_x86.patch index 6ebe0585a..c1865a86b 100644 --- a/target/linux/rdc/patches-2.6.28/006-bzip2_lzma_x86.patch +++ b/target/linux/rdc/patches-2.6.28/006-bzip2_lzma_x86.patch @@ -1,223 +1,3 @@ ---- a/arch/arm/boot/compressed/Makefile -+++ b/arch/arm/boot/compressed/Makefile -@@ -67,8 +67,15 @@ endif -  - SEDFLAGS	= s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ -  --targets       := vmlinux vmlinux.lds piggy.gz piggy.o font.o font.c \ --		 head.o misc.o $(OBJS) -+suffix_$(CONFIG_KERNEL_GZIP)  = gz -+suffix_$(CONFIG_KERNEL_BZIP2) = bz2 -+suffix_$(CONFIG_KERNEL_LZMA)  = lzma -+ -+targets       := vmlinux vmlinux.lds \ -+		 piggy.gz piggy.gz.o \ -+		 piggy.bz2 piggy.bz2.o \ -+		 piggy.lzma piggy.lzma.o \ -+		 font.o font.c head.o misc.o $(OBJS) -  - ifeq ($(CONFIG_FUNCTION_TRACER),y) - ORIG_CFLAGS := $(KBUILD_CFLAGS) -@@ -95,7 +102,7 @@ LDFLAGS_vmlinux += -p --no-undefined -X  - # would otherwise mess up our GOT table - CFLAGS_misc.o := -Dstatic= -  --$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.o \ -+$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \ - 	 	$(addprefix $(obj)/, $(OBJS)) FORCE - 	$(call if_changed,ld) - 	@: -@@ -103,7 +110,17 @@ $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj - $(obj)/piggy.gz: $(obj)/../Image FORCE - 	$(call if_changed,gzip) -  --$(obj)/piggy.o:  $(obj)/piggy.gz FORCE -+$(obj)/piggy.bz2: $(obj)/../Image FORCE -+	$(call if_changed,bzip2) -+ -+$(obj)/piggy.lzma: $(obj)/../Image FORCE -+	$(call if_changed,lzma) -+ -+$(obj)/piggy.gz.o:  $(obj)/piggy.gz FORCE -+ -+$(obj)/piggy.bz2.o:  $(obj)/piggy.bz2 FORCE -+ -+$(obj)/piggy.lzma.o:  $(obj)/piggy.lzma FORCE -  - CFLAGS_font.o := -Dstatic= -  ---- a/arch/arm/boot/compressed/misc.c -+++ b/arch/arm/boot/compressed/misc.c -@@ -169,116 +169,34 @@ static inline __ptr_t memcpy(__ptr_t __d - /* -  * gzip delarations -  */ --#define OF(args)  args - #define STATIC static -  --typedef unsigned char  uch; --typedef unsigned short ush; - typedef unsigned long  ulg; -  --#define WSIZE 0x8000		/* Window size must be at least 32k, */ --				/* and a power of two */ -- --static uch *inbuf;		/* input buffer */ --static uch window[WSIZE];	/* Sliding window buffer */ -- --static unsigned insize;		/* valid bytes in inbuf */ --static unsigned inptr;		/* index of next byte to be processed in inbuf */ --static unsigned outcnt;		/* bytes in output buffer */ -- --/* gzip flag byte */ --#define ASCII_FLAG   0x01 /* bit 0 set: file probably ascii text */ --#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */ --#define EXTRA_FIELD  0x04 /* bit 2 set: extra field present */ --#define ORIG_NAME    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) {if(!(cond)) error(msg);} --#  define Trace(x) fprintf x --#  define Tracev(x) {if (verbose) fprintf x ;} --#  define Tracevv(x) {if (verbose>1) fprintf x ;} --#  define Tracec(c,x) {if (verbose && (c)) fprintf x ;} --#  define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;} --#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); -- - extern char input_data[]; - extern char input_data_end[]; -  --static uch *output_data; --static ulg output_ptr; --static ulg bytes_out; -- - static void error(char *m); -  --static void putstr(const char *); -- --extern int end; - static ulg free_mem_ptr; - static ulg free_mem_end_ptr; -  --#ifdef STANDALONE_DEBUG --#define NO_INFLATE_MALLOC --#endif -- - #define ARCH_HAS_DECOMP_WDOG -+#define NEW_CODE -  -+#ifdef CONFIG_KERNEL_GZIP - #include "../../../../lib/inflate.c" -+#endif -  --/* =========================================================================== -- * Fill the input buffer. This is called only when the buffer is empty -- * and at least one byte is really needed. -- */ --int fill_inbuf(void) --{ --	if (insize != 0) --		error("ran out of input data"); -+#ifdef CONFIG_KERNEL_BZIP2 -+#include "../../../../lib/decompress_bunzip2.c" -+#endif -  --	inbuf = input_data; --	insize = &input_data_end[0] - &input_data[0]; -+#ifdef CONFIG_KERNEL_LZMA -+#include "../../../../lib/decompress_unlzma.c" -+#endif -  --	inptr = 1; --	return inbuf[0]; --} -  --/* =========================================================================== -- * Write the output window window[0..outcnt-1] and update crc and bytes_out. -- * (Used for the decompressed data only.) -- */ --void flush_window(void) --{ --	ulg c = crc; --	unsigned n; --	uch *in, *out, ch; -- --	in = window; --	out = &output_data[output_ptr]; --	for (n = 0; n < outcnt; n++) { --		ch = *out++ = *in++; --		c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8); --	} --	crc = c; --	bytes_out += (ulg)outcnt; --	output_ptr += (ulg)outcnt; --	outcnt = 0; --	putstr("."); --} -  - #ifndef arch_error - #define arch_error(x) -@@ -301,16 +219,24 @@ ulg - decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p, - 		  int arch_id) - { --	output_data		= (uch *)output_start;	/* Points to kernel start */ --	free_mem_ptr		= free_mem_ptr_p; --	free_mem_end_ptr	= free_mem_ptr_end_p; -+	ulg output_ptr; -+	ulg *ptr; -+	size_t input_len	= input_data_end - input_data; -+	size_t pos		= 0; -+ - 	__machine_arch_type	= arch_id; -  - 	arch_decomp_setup(); -  --	makecrc(); --	putstr("Uncompressing Linux..."); --	gunzip(); -+	ptr = (ulg *) (((long)input_data_end) - 4); -+	output_ptr = output_start +  *ptr; -+ -+	free_mem_ptr		= output_ptr; -+	free_mem_end_ptr	= output_ptr + 0x4000000; -+ -+	putstr("Decompressing Linux..."); -+	decompress(input_data, input_len, -+		   NULL, NULL, (unsigned char *) output_start, &pos, error); - 	putstr(" done, booting the kernel.\n"); - 	return output_ptr; - } -@@ -320,11 +246,8 @@ char output_buffer[1500*1024]; -  - int main() - { --	output_data = output_buffer; -- --	makecrc(); - 	putstr("Uncompressing Linux..."); --	gunzip(); -+	decompress(input_data, input_len, NULL, output_buffer, NULL); - 	putstr("done.\n"); - 	return 0; - }  --- a/arch/x86/boot/compressed/Makefile  +++ b/arch/x86/boot/compressed/Makefile  @@ -4,7 +4,7 @@  | 
