1 # SPDX-License-Identifier: GPL-2.0-only
2 config XZ_DEC
3 	tristate "XZ decompression support"
4 	select CRC32
5 	help
6 	  LZMA2 compression algorithm and BCJ filters are supported using
7 	  the .xz file format as the container. For integrity checking,
8 	  CRC32 is supported. See Documentation/staging/xz.rst for more information.
9 
10 if XZ_DEC
11 
12 config XZ_DEC_X86
13 	bool "x86 BCJ filter decoder" if EXPERT
14 	default y
15 	select XZ_DEC_BCJ
16 
17 config XZ_DEC_POWERPC
18 	bool "PowerPC BCJ filter decoder" if EXPERT
19 	default y
20 	select XZ_DEC_BCJ
21 
22 config XZ_DEC_IA64
23 	bool "IA-64 BCJ filter decoder" if EXPERT
24 	default y
25 	select XZ_DEC_BCJ
26 
27 config XZ_DEC_ARM
28 	bool "ARM BCJ filter decoder" if EXPERT
29 	default y
30 	select XZ_DEC_BCJ
31 
32 config XZ_DEC_ARMTHUMB
33 	bool "ARM-Thumb BCJ filter decoder" if EXPERT
34 	default y
35 	select XZ_DEC_BCJ
36 
37 config XZ_DEC_SPARC
38 	bool "SPARC BCJ filter decoder" if EXPERT
39 	default y
40 	select XZ_DEC_BCJ
41 
42 config XZ_DEC_MICROLZMA
43 	bool "MicroLZMA decoder"
44 	default n
45 	help
46 	  MicroLZMA is a header format variant where the first byte
47 	  of a raw LZMA stream (without the end of stream marker) has
48 	  been replaced with a bitwise-negation of the lc/lp/pb
49 	  properties byte. MicroLZMA was created to be used in EROFS
50 	  but can be used by other things too where wasting minimal
51 	  amount of space for headers is important.
52 
53 	  Unless you know that you need this, say N.
54 
55 endif
56 
57 config XZ_DEC_BCJ
58 	bool
59 	default n
60 
61 config XZ_DEC_TEST
62 	tristate "XZ decompressor tester"
63 	default n
64 	depends on XZ_DEC
65 	help
66 	  This allows passing .xz files to the in-kernel XZ decoder via
67 	  a character special file. It calculates CRC32 of the decompressed
68 	  data and writes diagnostics to the system log.
69 
70 	  Unless you are developing the XZ decoder, you don't need this
71 	  and should say N.
72