pbl: add lz4 support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
cdc837f4d9
commit
618d669117
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip
|
suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
|
suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
|
||||||
|
suffix_$(CONFIG_IMAGE_COMPRESSION_LZ4) = lz4
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped
|
suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped
|
||||||
|
|
||||||
OBJCOPYFLAGS_zbarebox.bin = -O binary
|
OBJCOPYFLAGS_zbarebox.bin = -O binary
|
||||||
|
@ -10,7 +11,7 @@ targets := zbarebox.lds zbarebox zbarebox.bin zbarebox.S \
|
||||||
$(piggy_o) piggy.$(suffix_y)
|
$(piggy_o) piggy.$(suffix_y)
|
||||||
|
|
||||||
# Make sure files are removed during clean
|
# Make sure files are removed during clean
|
||||||
extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern piggy.shipped zbarebox.map
|
extra-y += piggy.gzip piggy.lz4 piggy.lzo piggy.lzma piggy.xzkern piggy.shipped zbarebox.map
|
||||||
|
|
||||||
$(obj)/zbarebox.bin: $(obj)/zbarebox FORCE
|
$(obj)/zbarebox.bin: $(obj)/zbarebox FORCE
|
||||||
$(call if_changed,objcopy)
|
$(call if_changed,objcopy)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
.section .piggydata,#alloc
|
||||||
|
.globl input_data
|
||||||
|
input_data:
|
||||||
|
.incbin "arch/arm/pbl/piggy.lz4"
|
||||||
|
.globl input_data_end
|
||||||
|
input_data_end:
|
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip
|
suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
|
suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
|
||||||
|
suffix_$(CONFIG_IMAGE_COMPRESSION_LZ4) = lz4
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped
|
suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped
|
||||||
|
|
||||||
OBJCOPYFLAGS_zbarebox.bin = -O binary
|
OBJCOPYFLAGS_zbarebox.bin = -O binary
|
||||||
|
@ -10,7 +11,7 @@ targets := zbarebox.lds zbarebox zbarebox.bin zbarebox.S \
|
||||||
$(piggy_o) piggy.$(suffix_y)
|
$(piggy_o) piggy.$(suffix_y)
|
||||||
|
|
||||||
# Make sure files are removed during clean
|
# Make sure files are removed during clean
|
||||||
extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern piggy.shipped zbarebox.map
|
extra-y += piggy.gzip piggy.lz4 piggy.lzo piggy.lzma piggy.xzkern piggy.shipped zbarebox.map
|
||||||
|
|
||||||
$(obj)/zbarebox.bin: $(obj)/zbarebox FORCE
|
$(obj)/zbarebox.bin: $(obj)/zbarebox FORCE
|
||||||
$(call if_changed,objcopy)
|
$(call if_changed,objcopy)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
#include <asm/asm.h>
|
||||||
|
|
||||||
|
.section .data
|
||||||
|
EXPORT(input_data)
|
||||||
|
.incbin "arch/mips/pbl/piggy.lz4"
|
||||||
|
EXPORT(input_data_end)
|
|
@ -81,6 +81,7 @@ $(obj)/%.s: $(obj)/% FORCE
|
||||||
|
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip
|
suffix_$(CONFIG_IMAGE_COMPRESSION_GZIP) = gzip
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
|
suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
|
||||||
|
suffix_$(CONFIG_IMAGE_COMPRESSION_LZ4) = lz4
|
||||||
suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped
|
suffix_$(CONFIG_IMAGE_COMPRESSION_NONE) = shipped
|
||||||
|
|
||||||
# barebox.z - compressed barebox binary
|
# barebox.z - compressed barebox binary
|
||||||
|
|
|
@ -23,6 +23,10 @@
|
||||||
|
|
||||||
#include <asm/unaligned.h>
|
#include <asm/unaligned.h>
|
||||||
|
|
||||||
|
#ifndef STATIC
|
||||||
|
#define STATIC
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note: Uncompressed chunk size is used in the compressor side
|
* Note: Uncompressed chunk size is used in the compressor side
|
||||||
* (userspace side for compression).
|
* (userspace side for compression).
|
||||||
|
@ -175,7 +179,7 @@ exit_0:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int decompress_unlz4(unsigned char *buf, int in_len,
|
STATIC int decompress_unlz4(unsigned char *buf, int in_len,
|
||||||
int(*fill)(void*, unsigned int),
|
int(*fill)(void*, unsigned int),
|
||||||
int(*flush)(void*, unsigned int),
|
int(*flush)(void*, unsigned int),
|
||||||
unsigned char *output,
|
unsigned char *output,
|
||||||
|
|
|
@ -53,6 +53,10 @@ if IMAGE_COMPRESSION
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Compression"
|
prompt "Compression"
|
||||||
|
default IMAGE_COMPRESSION_LZO
|
||||||
|
|
||||||
|
config IMAGE_COMPRESSION_LZ4
|
||||||
|
bool "lz4"
|
||||||
|
|
||||||
config IMAGE_COMPRESSION_LZO
|
config IMAGE_COMPRESSION_LZO
|
||||||
bool "lzo"
|
bool "lzo"
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
|
|
||||||
#define STATIC static
|
#define STATIC static
|
||||||
|
|
||||||
|
#ifdef CONFIG_IMAGE_COMPRESSION_LZ4
|
||||||
|
#include "../../../lib/decompress_unlz4.c"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_IMAGE_COMPRESSION_LZO
|
#ifdef CONFIG_IMAGE_COMPRESSION_LZO
|
||||||
#include "../../../lib/decompress_unlzo.c"
|
#include "../../../lib/decompress_unlzo.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue