diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2013-01-28 10:26:12 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-01-30 22:32:13 +0100 |
commit | 08147d427f9ee4723a6ba8525a2f85b2123f840e (patch) | |
tree | bc227a95ca4a2dabff20ca0d1db883399cc68638 | |
parent | f73a37aa7845cdf7e2bf7aba0184e065dca78198 (diff) | |
download | barebox-08147d427f9ee4723a6ba8525a2f85b2123f840e.tar.gz barebox-08147d427f9ee4723a6ba8525a2f85b2123f840e.tar.xz |
pbl: add none compression support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/pbl/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/pbl/piggy.shipped.S | 6 | ||||
-rw-r--r-- | arch/mips/pbl/Makefile | 3 | ||||
-rw-r--r-- | arch/mips/pbl/piggy.shipped.S | 6 | ||||
-rw-r--r-- | pbl/Kconfig | 3 | ||||
-rw-r--r-- | pbl/decomp.c | 12 |
6 files changed, 31 insertions, 2 deletions
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); |