diff --git a/debian/patches/features/arm/compression-add-lzmo.patch b/debian/patches/features/arm/compression-add-lzmo.patch deleted file mode 100644 index f141a95ad..000000000 --- a/debian/patches/features/arm/compression-add-lzmo.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 95b9905..a42793b 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -19,6 +19,7 @@ config ARM - select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) - select HAVE_GENERIC_DMA_COHERENT - select HAVE_KERNEL_GZIP -+ select HAVE_KERNEL_LZMA - help - The ARM series is a line of low-power-consumption RISC chip designs - licensed by ARM Ltd and targeted at embedded applications and -diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile -index 10f1173..e538d3d 100644 ---- a/arch/arm/boot/compressed/Makefile -+++ b/arch/arm/boot/compressed/Makefile -@@ -64,6 +64,7 @@ endif - SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ - - suffix_$(CONFIG_KERNEL_GZIP) = gzip -+suffix_$(CONFIG_KERNEL_LZMA) = lzma - - targets := vmlinux vmlinux.lds \ - piggy.$(suffix_y) piggy.$(suffix_y).o \ -diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c -index 669b1b5..efef261 100644 ---- a/arch/arm/boot/compressed/misc.c -+++ b/arch/arm/boot/compressed/misc.c -@@ -237,6 +237,10 @@ static unsigned long free_mem_end_ptr; - #include "../../../../lib/decompress_inflate.c" - #endif - -+#ifdef CONFIG_KERNEL_LZMA -+#include "../../../../lib/decompress_unlzma.c" -+#endif -+ - #ifndef arch_error - #define arch_error(x) - #endif -diff --git a/arch/arm/boot/compressed/piggy.lzma.S b/arch/arm/boot/compressed/piggy.lzma.S -new file mode 100644 -index 0000000..d7e69cf ---- /dev/null -+++ b/arch/arm/boot/compressed/piggy.lzma.S -@@ -0,0 +1,6 @@ -+ .section .piggydata,#alloc -+ .globl input_data -+input_data: -+ .incbin "arch/arm/boot/compressed/piggy.lzma" -+ .globl input_data_end -+input_data_end: diff --git a/debian/patches/features/arm/compression-use-generic-gzip.patch b/debian/patches/features/arm/compression-use-generic-gzip.patch deleted file mode 100644 index 5ba5c6e6b..000000000 --- a/debian/patches/features/arm/compression-use-generic-gzip.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 1c4119c..95b9905 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -18,6 +18,7 @@ config ARM - select HAVE_KRETPROBES if (HAVE_KPROBES) - select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) - select HAVE_GENERIC_DMA_COHERENT -+ select HAVE_KERNEL_GZIP - help - The ARM series is a line of low-power-consumption RISC chip designs - licensed by ARM Ltd and targeted at embedded applications and -diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile -index ce39dc5..10f1173 100644 ---- a/arch/arm/boot/compressed/Makefile -+++ b/arch/arm/boot/compressed/Makefile -@@ -63,8 +63,11 @@ 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) = gzip -+ -+targets := vmlinux vmlinux.lds \ -+ piggy.$(suffix_y) piggy.$(suffix_y).o \ -+ font.o font.c head.o misc.o $(OBJS) - - ifeq ($(CONFIG_FUNCTION_TRACER),y) - ORIG_CFLAGS := $(KBUILD_CFLAGS) -@@ -87,22 +90,31 @@ endif - ifneq ($(PARAMS_PHYS),) - LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) - endif --LDFLAGS_vmlinux += -p --no-undefined -X \ -- $(shell $(CC) $(KBUILD_CFLAGS) --print-libgcc-file-name) -T -+# ? -+LDFLAGS_vmlinux += -p -+# Report unresolved symbol references -+LDFLAGS_vmlinux += --no-undefined -+# Delete all temporary local symbols -+LDFLAGS_vmlinux += -X -+# Next argument is a linker script -+LDFLAGS_vmlinux += -T -+ -+# For __aeabi_uidivmod -+lib1funcs = arch/$(SRCARCH)/lib/lib1funcs.o - - # Don't allow any static data in misc.o, which - # would otherwise mess up our GOT table - CFLAGS_misc.o := -Dstatic= - --$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.o \ -- $(addprefix $(obj)/, $(OBJS)) FORCE -+$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \ -+ $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) FORCE - $(call if_changed,ld) - @: - --$(obj)/piggy.gz: $(obj)/../Image FORCE -- $(call if_changed,gzip) -+$(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE -+ $(call if_changed,$(suffix_y)) - --$(obj)/piggy.o: $(obj)/piggy.gz FORCE -+$(obj)/piggy.$(suffix_y).o: $(obj)/piggy.$(suffix_y) FORCE - - CFLAGS_font.o := -Dstatic= - -diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c -index 17153b5..669b1b5 100644 ---- a/arch/arm/boot/compressed/misc.c -+++ b/arch/arm/boot/compressed/misc.c -@@ -18,10 +18,15 @@ - - unsigned int __machine_arch_type; - -+#define _LINUX_STRING_H_ -+ - #include /* for inline */ - #include /* for size_t */ - #include /* for NULL */ - #include -+#include -+ -+#include - - #ifdef STANDALONE_DEBUG - #define putstr printf -@@ -188,34 +193,8 @@ static inline __ptr_t memcpy(__ptr_t __dest, __const __ptr_t __src, - /* - * 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);} -@@ -233,24 +212,20 @@ static unsigned outcnt; /* bytes in output buffer */ - # 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 unsigned char *output_data; -+static unsigned long output_ptr; - - static void error(char *m); - - static void putstr(const char *); - --extern int end; --static ulg free_mem_ptr; --static ulg free_mem_end_ptr; -+static unsigned long free_mem_ptr; -+static unsigned long free_mem_end_ptr; - - #ifdef STANDALONE_DEBUG - #define NO_INFLATE_MALLOC -@@ -258,46 +233,9 @@ static ulg free_mem_end_ptr; - - #define ARCH_HAS_DECOMP_WDOG - --#include "../../../../lib/inflate.c" -- --/* =========================================================================== -- * 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"); -- -- inbuf = input_data; -- insize = &input_data_end[0] - &input_data[0]; -- -- 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("."); --} -+#ifdef CONFIG_KERNEL_GZIP -+#include "../../../../lib/decompress_inflate.c" -+#endif - - #ifndef arch_error - #define arch_error(x) -@@ -314,22 +252,33 @@ static void error(char *x) - while(1); /* Halt */ - } - -+asmlinkage void __div0(void) -+{ -+ error("Attempting division by 0!"); -+} -+ - #ifndef STANDALONE_DEBUG - --ulg --decompress_kernel(ulg output_start, ulg free_mem_ptr_p, ulg free_mem_ptr_end_p, -- int arch_id) -+unsigned long -+decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, -+ unsigned long free_mem_ptr_end_p, -+ int arch_id) - { -- output_data = (uch *)output_start; /* Points to kernel start */ -+ unsigned char *tmp; -+ -+ output_data = (unsigned char *)output_start; - free_mem_ptr = free_mem_ptr_p; - free_mem_end_ptr = free_mem_ptr_end_p; - __machine_arch_type = arch_id; - - arch_decomp_setup(); - -- makecrc(); -+ tmp = (unsigned char *) (((unsigned long)input_data_end) - 4); -+ output_ptr = get_unaligned_le32(tmp); -+ - putstr("Uncompressing Linux..."); -- gunzip(); -+ decompress(input_data, input_data_end - input_data, -+ NULL, NULL, output_data, NULL, error); - putstr(" done, booting the kernel.\n"); - return output_ptr; - } -@@ -341,11 +290,10 @@ int main() - { - output_data = output_buffer; - -- makecrc(); - putstr("Uncompressing Linux..."); -- gunzip(); -+ decompress(input_data, input_data_end - input_data, -+ NULL, NULL, output_data, NULL, error); - putstr("done.\n"); - return 0; - } - #endif -- -diff --git a/arch/arm/boot/compressed/piggy.S b/arch/arm/boot/compressed/piggy.S -deleted file mode 100644 -index 54c9518..0000000 ---- a/arch/arm/boot/compressed/piggy.S -+++ /dev/null -@@ -1,6 +0,0 @@ -- .section .piggydata,#alloc -- .globl input_data --input_data: -- .incbin "arch/arm/boot/compressed/piggy.gz" -- .globl input_data_end --input_data_end: -diff --git a/arch/arm/boot/compressed/piggy.gzip.S b/arch/arm/boot/compressed/piggy.gzip.S -new file mode 100644 -index 0000000..a68adf9 ---- /dev/null -+++ b/arch/arm/boot/compressed/piggy.gzip.S -@@ -0,0 +1,6 @@ -+ .section .piggydata,#alloc -+ .globl input_data -+input_data: -+ .incbin "arch/arm/boot/compressed/piggy.gzip" -+ .globl input_data_end -+input_data_end: diff --git a/debian/patches/series/base b/debian/patches/series/base index af7562535..a5784b464 100644 --- a/debian/patches/series/base +++ b/debian/patches/series/base @@ -40,8 +40,6 @@ + bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch + debian/dfsg/radeon-add-clarifying-comment-to-r600-blit.patch # FIXME: no longer applies -#+ features/arm/compression-use-generic-gzip.patch -#+ features/arm/compression-add-lzmo.patch #+ features/arm/openrd-client.patch #+ features/arm/ts41x.patch #+ features/all/mmc-parameter-set-whether-cards-are-assumed-removable.patch