diff --git a/arch/arm/pbl/Makefile b/arch/arm/pbl/Makefile index 7faa51a..6eeee73 100644 --- a/arch/arm/pbl/Makefile +++ b/arch/arm/pbl/Makefile @@ -1,6 +1,7 @@ suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo +suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped OBJCOPYFLAGS_zbarebox.bin = -O binary piggy_o := piggy.$(suffix_y).o @@ -9,7 +10,7 @@ $(piggy_o) piggy.$(suffix_y) # Make sure files are removed during clean -extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern zbarebox.map +extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern piggy.shipped zbarebox.map $(obj)/zbarebox.bin: $(obj)/zbarebox FORCE $(call if_changed,objcopy) diff --git a/arch/arm/pbl/piggy.shipped.S b/arch/arm/pbl/piggy.shipped.S new file mode 100644 index 0000000..dbc2569 --- /dev/null +++ b/arch/arm/pbl/piggy.shipped.S @@ -0,0 +1,6 @@ + .section .piggydata,#alloc + .globl input_data +input_data: + .incbin "arch/arm/pbl/piggy.shipped" + .globl input_data_end +input_data_end: diff --git a/arch/mips/pbl/Makefile b/arch/mips/pbl/Makefile index 7faa51a..6eeee73 100644 --- a/arch/mips/pbl/Makefile +++ b/arch/mips/pbl/Makefile @@ -1,6 +1,7 @@ suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo +suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped OBJCOPYFLAGS_zbarebox.bin = -O binary piggy_o := piggy.$(suffix_y).o @@ -9,7 +10,7 @@ $(piggy_o) piggy.$(suffix_y) # Make sure files are removed during clean -extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern zbarebox.map +extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern piggy.shipped zbarebox.map $(obj)/zbarebox.bin: $(obj)/zbarebox FORCE $(call if_changed,objcopy) diff --git a/arch/mips/pbl/piggy.shipped.S b/arch/mips/pbl/piggy.shipped.S new file mode 100644 index 0000000..963262d --- /dev/null +++ b/arch/mips/pbl/piggy.shipped.S @@ -0,0 +1,6 @@ + .section .piggydata,#alloc + .globl input_data +input_data: + .incbin "arch/mips/pbl/piggy.shipped" + .globl input_data_end +input_data_end: diff --git a/pbl/Kconfig b/pbl/Kconfig index fbf0b1b..39752cc 100644 --- a/pbl/Kconfig +++ b/pbl/Kconfig @@ -34,6 +34,9 @@ config IMAGE_COMPRESSION_GZIP bool "gzip" +config IMAGE_COMPRESSION_NONE + bool "none" + endchoice endif diff --git a/pbl/decomp.c b/pbl/decomp.c index bd67ed8..aa6a31e 100644 --- a/pbl/decomp.c +++ b/pbl/decomp.c @@ -18,6 +18,18 @@ #include "../../../lib/decompress_inflate.c" #endif +#ifdef CONFIG_IMAGE_COMPRESSION_NONE +STATIC int decompress(u8 *input, int in_len, + int (*fill) (void *, unsigned int), + int (*flush) (void *, unsigned int), + u8 *output, int *posp, + void (*error) (char *x)) +{ + memcpy(output, input, in_len); + return 0; +} +#endif + static void noinline errorfn(char *error) { while (1);