From 08147d427f9ee4723a6ba8525a2f85b2123f840e Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Mon, 28 Jan 2013 10:26:12 +0100 Subject: pbl: add none compression support Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Sascha Hauer --- arch/arm/pbl/Makefile | 3 ++- arch/arm/pbl/piggy.shipped.S | 6 ++++++ arch/mips/pbl/Makefile | 3 ++- arch/mips/pbl/piggy.shipped.S | 6 ++++++ pbl/Kconfig | 3 +++ pbl/decomp.c | 12 ++++++++++++ 6 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 arch/arm/pbl/piggy.shipped.S create mode 100644 arch/mips/pbl/piggy.shipped.S diff --git a/arch/arm/pbl/Makefile b/arch/arm/pbl/Makefile index 7faa51a5c2..6eeee737c8 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 @@ targets := zbarebox.lds zbarebox zbarebox.bin zbarebox.S \ $(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 0000000000..dbc2569de5 --- /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 7faa51a5c2..6eeee737c8 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 @@ targets := zbarebox.lds zbarebox zbarebox.bin zbarebox.S \ $(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 0000000000..963262dad5 --- /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 fbf0b1b4d0..39752cc6f9 100644 --- a/pbl/Kconfig +++ b/pbl/Kconfig @@ -34,6 +34,9 @@ config IMAGE_COMPRESSION_LZO 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 bd67ed81e1..aa6a31e9da 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); -- cgit v1.2.3