diff options
author | Kyungsik Lee <kyungsik.lee@lge.com> | 2013-07-08 19:01:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-09 13:33:30 -0400 |
commit | e76e1fdfa8f8dc1ea6699923cf5d92b5bee9c936 (patch) | |
tree | d216233bcf256a8a3d8912cebbbf82032bb7b715 /lib/decompress.c | |
parent | cffb78b0e0b3a30b059b27a1d97500cf6464efa9 (diff) |
lib: add support for LZ4-compressed kernel
Add support for extracting LZ4-compressed kernel images, as well as
LZ4-compressed ramdisk images in the kernel boot process.
Signed-off-by: Kyungsik Lee <kyungsik.lee@lge.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Florian Fainelli <florian@openwrt.org>
Cc: Yann Collet <yann.collet.73@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/decompress.c')
-rw-r--r-- | lib/decompress.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/decompress.c b/lib/decompress.c index f8fdedaf7b3d..4d1cd0397aab 100644 --- a/lib/decompress.c +++ b/lib/decompress.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/decompress/unxz.h> | 11 | #include <linux/decompress/unxz.h> |
12 | #include <linux/decompress/inflate.h> | 12 | #include <linux/decompress/inflate.h> |
13 | #include <linux/decompress/unlzo.h> | 13 | #include <linux/decompress/unlzo.h> |
14 | #include <linux/decompress/unlz4.h> | ||
14 | 15 | ||
15 | #include <linux/types.h> | 16 | #include <linux/types.h> |
16 | #include <linux/string.h> | 17 | #include <linux/string.h> |
@@ -31,6 +32,9 @@ | |||
31 | #ifndef CONFIG_DECOMPRESS_LZO | 32 | #ifndef CONFIG_DECOMPRESS_LZO |
32 | # define unlzo NULL | 33 | # define unlzo NULL |
33 | #endif | 34 | #endif |
35 | #ifndef CONFIG_DECOMPRESS_LZ4 | ||
36 | # define unlz4 NULL | ||
37 | #endif | ||
34 | 38 | ||
35 | struct compress_format { | 39 | struct compress_format { |
36 | unsigned char magic[2]; | 40 | unsigned char magic[2]; |
@@ -45,6 +49,7 @@ static const struct compress_format compressed_formats[] __initconst = { | |||
45 | { {0x5d, 0x00}, "lzma", unlzma }, | 49 | { {0x5d, 0x00}, "lzma", unlzma }, |
46 | { {0xfd, 0x37}, "xz", unxz }, | 50 | { {0xfd, 0x37}, "xz", unxz }, |
47 | { {0x89, 0x4c}, "lzo", unlzo }, | 51 | { {0x89, 0x4c}, "lzo", unlzo }, |
52 | { {0x02, 0x21}, "lz4", unlz4 }, | ||
48 | { {0, 0}, NULL, NULL } | 53 | { {0, 0}, NULL, NULL } |
49 | }; | 54 | }; |
50 | 55 | ||