linux/scripts
Lasse Collin 24fa0402a9 decompressors: add XZ decompressor module
In userspace, the .lzma format has become mostly a legacy file format that
got superseded by the .xz format.  Similarly, LZMA Utils was superseded by
XZ Utils.

These patches add support for XZ decompression into the kernel.  Most of
the code is as is from XZ Embedded <http://tukaani.org/xz/embedded.html>.
It was written for the Linux kernel but is usable in other projects too.

Advantages of XZ over the current LZMA code in the kernel:
  - Nice API that can be used by other kernel modules; it's
    not limited to kernel, initramfs, and initrd decompression.
  - Integrity check support (CRC32)
  - BCJ filters improve compression of executable code on
    certain architectures. These together with LZMA2 can
    produce a few percent smaller kernel or Squashfs images
    than plain LZMA without making the decompression slower.

This patch: Add the main decompression code (xz_dec), testing module
(xz_dec_test), wrapper script (xz_wrap.sh) for the xz command line tool,
and documentation.  The xz_dec module is enough to have a usable XZ
decompressor e.g.  for Squashfs.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alain Knaff <alain@knaff.lu>
Cc: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Cc: Phillip Lougher <phillip@lougher.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-01-13 08:03:24 -08:00
..
basic Make fixdep error handling more explicit 2010-12-22 23:23:28 +01:00
coccinelle scripts/coccinelle: update for compatability with Coccinelle 0.2.4 2010-12-03 12:27:01 +01:00
dtc of/flattree: Update dtc to current mainline. 2011-01-03 16:02:49 -07:00
genksyms scripts/genksyms: fix header usage 2010-11-25 16:25:06 +01:00
kconfig Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-01-10 08:28:17 -08:00
ksymoops
mod modpost: Fix address calculation in reloc_location() 2010-12-28 00:22:58 +01:00
package Merge branch 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-01-10 08:28:38 -08:00
rt-tester scripts: change scripts to use system python instead of env 2010-02-02 14:33:56 +01:00
selinux selinux: fix warning in genheaders 2010-03-16 08:47:36 +11:00
tracing tracing, perf: Convert the power tracer into an event tracer 2009-09-19 11:42:12 +02:00
.gitignore gitignore: add scripts/recordmcount 2010-11-25 15:49:50 +01:00
bin2c.c
bloat-o-meter fix bloat-o-meter for ppc64 2007-12-17 19:28:17 -08:00
bootgraph.pl bootgraph: fix for use with dot symbols 2009-02-15 12:50:08 +01:00
checkincludes.pl checkincludes: fix perlcritic warnings 2010-03-07 21:19:57 +01:00
checkkconfigsymbols.sh checkkconfigsymbols.sh: Kconfig symbols sometimes have lowercase letters 2010-06-03 10:39:39 +02:00
checkpatch.pl checkpatch.pl: add "prefer __packed" check 2011-01-13 08:03:11 -08:00
checkstack.pl scripts: improve checkstack 2010-03-07 21:19:09 +01:00
checksyscalls.sh checksyscalls: Fix stand-alone usage 2010-12-20 15:40:33 +01:00
checkversion.pl checkversion: perl cleanup 2010-03-07 21:22:56 +01:00
cleanfile
cleanpatch
coccicheck Coccinelle: Add contextual message 2010-10-28 00:32:23 +02:00
config kbuild: add numeric --set-val option to scripts/config 2010-12-15 15:44:31 +01:00
conmakehash.c Fix all -Wmissing-prototypes warnings in x86 defconfig 2009-09-23 07:39:28 -07:00
decodecode scripts: decodecode: remove bashisms 2010-06-04 10:26:35 +02:00
diffconfig kconfig: add diffconfig utility 2008-07-25 22:12:41 +02:00
export_report.pl export_report: fix perl warnings 2010-03-07 21:41:04 +01:00
extract-ikconfig scripts/extract-ikconfig: add support for bzip2, lzma and lzo 2010-10-28 00:22:17 +02:00
gcc-goto.sh jump label: Fix GCC feature check when distcc is used 2010-09-24 09:12:25 +02:00
gcc-version.sh Remove bashisms from scripts 2009-06-09 22:37:54 +02:00
gcc-x86_32-has-stack-protector.sh stackprotector: fix multi-word cross-builds 2009-02-11 12:17:29 +01:00
gcc-x86_64-has-stack-protector.sh stackprotector: fix multi-word cross-builds 2009-02-11 12:17:29 +01:00
gen_initramfs_list.sh Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
get_maintainer.pl scripts/get_maintainer.pl: use --git-fallback more often 2011-01-13 08:03:10 -08:00
gfp-translate scripts: fix gfp-translate for recent changes to gfp.h 2010-11-25 06:50:49 +09:00
headerdep.pl headerdep: perlcritic warning 2010-03-23 12:26:38 +01:00
headers.sh kbuild: introduce HDR_ARCH_LIST for headers_install_all 2010-12-14 22:16:19 +01:00
headers_check.pl headers_check: Fix warning text 2010-12-14 17:05:08 +01:00
headers_install.pl headers_install: check exit status of unifdef 2010-12-14 15:06:04 +01:00
kallsyms.c scripts/kallsyms: Enable error messages while hush up unnecessary warnings 2010-09-29 16:18:27 +02:00
Kbuild.include kbuild: generate modules.builtin 2009-12-12 13:08:16 +01:00
kernel-doc kernel-doc: code reorganization 2011-01-06 09:59:38 -08:00
Lindent scripts/Lindent: support gnu indent v2.2.10 2008-04-29 08:06:04 -07:00
Makefile ftrace/x86: Add support for C version of recordmcount 2010-10-14 16:52:41 -04:00
Makefile.build ftrace: Speed up recordmcount 2010-11-18 17:16:05 -05:00
Makefile.clean kbuild: Really don't clean bounds.h and asm-offsets.h 2010-03-11 11:15:22 +01:00
Makefile.fwinst firmware: silence __fw_modbuild and __fw_modinst 'Nothing to be done' messages 2008-08-02 07:52:29 +01:00
Makefile.headersinst kbuild: drop unifdef-y support 2010-08-14 22:26:52 +02:00
Makefile.help Add a target to use the Coccinelle checker 2010-06-12 00:00:29 +02:00
Makefile.host kbuild: fix some minor typoes 2008-04-25 20:18:48 +02:00
Makefile.lib decompressors: add XZ decompressor module 2011-01-13 08:03:24 -08:00
Makefile.modbuiltin kbuild: Create output directory in Makefile.modbuiltin 2010-06-10 12:23:08 +02:00
Makefile.modinst Revert "kbuild: strip generated symbols from *.ko" 2009-01-14 21:38:20 +01:00
Makefile.modpost trivial: fix a typo in a filename 2010-08-03 14:59:50 +02:00
makelst kbuild: introduce ccflags-y, asflags-y and ldflags-y 2007-10-15 22:25:06 +02:00
markup_oops.pl Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
mkcompile_h scripts/mkcompile_h: don't test for hardcoded paths 2010-02-02 14:33:56 +01:00
mkmakefile fixes for using make 3.82 2010-08-17 11:47:40 +02:00
mksysmap Revert "kbuild: strip generated symbols from *.ko" 2009-01-14 21:38:20 +01:00
mkuboot.sh mkuboot.sh: Fail if mkimage is missing 2011-01-07 14:31:01 +01:00
mkversion
module-common.lds linker script: throw away .discard section 2009-06-24 15:13:38 +09:00
namespace.pl Revert "namespace: add source file location exceptions" 2010-10-28 00:59:56 +02:00
patch-kernel bugfix for scripts/patch-kernel in 2.6 sublevel stepping 2008-08-06 22:11:33 +02:00
pnmtologo.c fbdev: work around old compiler bug 2009-06-30 18:55:59 -07:00
profile2linkerlist.pl profile2linkerlist: fix perl warnings 2010-03-07 21:39:33 +01:00
recordmcount.c ARM: 6511/1: ftrace: add ARM support for C version of recordmcount 2010-12-04 11:30:27 +00:00
recordmcount.h Merge branches 'ftrace', 'gic', 'io', 'kexec', 'mod', 'sa11x0', 'sh' and 'versatile' into devel 2011-01-05 18:08:10 +00:00
recordmcount.pl ARM: 6319/1: ftrace: add Thumb-2 support to dynamic ftrace 2010-09-02 15:28:43 +01:00
setlocalversion Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2010-10-28 15:13:55 -07:00
show_delta scripts: change scripts to use system python instead of env 2010-02-02 14:33:56 +01:00
tags.sh Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-01-10 08:29:25 -08:00
unifdef.c unifdef: update to upstream revision 1.190 2009-12-12 13:08:16 +01:00
ver_linux Remove bashisms from scripts 2009-06-09 22:37:54 +02:00
xz_wrap.sh decompressors: add XZ decompressor module 2011-01-13 08:03:24 -08:00