162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig XZ_DEC
362306a36Sopenharmony_ci	tristate "XZ decompression support"
462306a36Sopenharmony_ci	select CRC32
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  LZMA2 compression algorithm and BCJ filters are supported using
762306a36Sopenharmony_ci	  the .xz file format as the container. For integrity checking,
862306a36Sopenharmony_ci	  CRC32 is supported. See Documentation/staging/xz.rst for more information.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciif XZ_DEC
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciconfig XZ_DEC_X86
1362306a36Sopenharmony_ci	bool "x86 BCJ filter decoder" if EXPERT
1462306a36Sopenharmony_ci	default y
1562306a36Sopenharmony_ci	select XZ_DEC_BCJ
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciconfig XZ_DEC_POWERPC
1862306a36Sopenharmony_ci	bool "PowerPC BCJ filter decoder" if EXPERT
1962306a36Sopenharmony_ci	default y
2062306a36Sopenharmony_ci	select XZ_DEC_BCJ
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig XZ_DEC_IA64
2362306a36Sopenharmony_ci	bool "IA-64 BCJ filter decoder" if EXPERT
2462306a36Sopenharmony_ci	default y
2562306a36Sopenharmony_ci	select XZ_DEC_BCJ
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciconfig XZ_DEC_ARM
2862306a36Sopenharmony_ci	bool "ARM BCJ filter decoder" if EXPERT
2962306a36Sopenharmony_ci	default y
3062306a36Sopenharmony_ci	select XZ_DEC_BCJ
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig XZ_DEC_ARMTHUMB
3362306a36Sopenharmony_ci	bool "ARM-Thumb BCJ filter decoder" if EXPERT
3462306a36Sopenharmony_ci	default y
3562306a36Sopenharmony_ci	select XZ_DEC_BCJ
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig XZ_DEC_SPARC
3862306a36Sopenharmony_ci	bool "SPARC BCJ filter decoder" if EXPERT
3962306a36Sopenharmony_ci	default y
4062306a36Sopenharmony_ci	select XZ_DEC_BCJ
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig XZ_DEC_MICROLZMA
4362306a36Sopenharmony_ci	bool "MicroLZMA decoder"
4462306a36Sopenharmony_ci	default n
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  MicroLZMA is a header format variant where the first byte
4762306a36Sopenharmony_ci	  of a raw LZMA stream (without the end of stream marker) has
4862306a36Sopenharmony_ci	  been replaced with a bitwise-negation of the lc/lp/pb
4962306a36Sopenharmony_ci	  properties byte. MicroLZMA was created to be used in EROFS
5062306a36Sopenharmony_ci	  but can be used by other things too where wasting minimal
5162306a36Sopenharmony_ci	  amount of space for headers is important.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	  Unless you know that you need this, say N.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciendif
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig XZ_DEC_BCJ
5862306a36Sopenharmony_ci	bool
5962306a36Sopenharmony_ci	default n
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciconfig XZ_DEC_TEST
6262306a36Sopenharmony_ci	tristate "XZ decompressor tester"
6362306a36Sopenharmony_ci	default n
6462306a36Sopenharmony_ci	depends on XZ_DEC
6562306a36Sopenharmony_ci	help
6662306a36Sopenharmony_ci	  This allows passing .xz files to the in-kernel XZ decoder via
6762306a36Sopenharmony_ci	  a character special file. It calculates CRC32 of the decompressed
6862306a36Sopenharmony_ci	  data and writes diagnostics to the system log.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	  Unless you are developing the XZ decoder, you don't need this
7162306a36Sopenharmony_ci	  and should say N.
72