summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-01-05 02:41:25 +0300
committerH. Peter Anvin <hpa@zytor.com>2009-01-05 02:53:35 +0300
commit2e9f3bddcbc711bb14d86c6f068a779bf3710247 (patch)
treebd59cd7b10f8881d89ee4f39b295520a6f18e217
parent0f5e2d2484ccd3062bb1f63083bafa37041bc868 (diff)
downloadlinux-2e9f3bddcbc711bb14d86c6f068a779bf3710247.tar.xz
bzip2/lzma: make config machinery an arch configurable
Impact: Bug fix (we should not show this menu on irrelevant architectures) Make the config machinery to drive the gzip/bzip2/lzma selection dependent on the architecture advertising HAVE_KERNEL_* so that we don't display this for architectures where it doesn't matter. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--arch/x86/Kconfig3
-rw-r--r--init/Kconfig52
2 files changed, 34 insertions, 21 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 862adb9bf0d4..7b66c34d0aae 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -39,6 +39,9 @@ config X86
select HAVE_GENERIC_DMA_COHERENT if X86_32
select HAVE_EFFICIENT_UNALIGNED_ACCESS
select USER_STACKTRACE_SUPPORT
+ select HAVE_KERNEL_GZIP
+ select HAVE_KERNEL_BZIP2
+ select HAVE_KERNEL_LZMA
config ARCH_DEFCONFIG
string
diff --git a/init/Kconfig b/init/Kconfig
index df84625b1373..f9633c03cb12 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -101,10 +101,20 @@ config LOCALVERSION_AUTO
which is done within the script "scripts/setlocalversion".)
+config HAVE_KERNEL_GZIP
+ bool
+
+config HAVE_KERNEL_BZIP2
+ bool
+
+config HAVE_KERNEL_LZMA
+ bool
+
choice
- prompt "Kernel compression mode"
- default KERNEL_GZIP
- help
+ prompt "Kernel compression mode"
+ default KERNEL_GZIP
+ depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA
+ help
The linux kernel is a kind of self-extracting executable.
Several compression algorithms are available, which differ
in efficiency, compression and decompression speed.
@@ -123,34 +133,34 @@ choice
If in doubt, select 'gzip'
config KERNEL_GZIP
- bool "Gzip"
- help
- The old and tried gzip compression. Its compression ratio is
- the poorest among the 3 choices; however its speed (both
- compression and decompression) is the fastest.
+ bool "Gzip"
+ depends on HAVE_KERNEL_GZIP
+ help
+ The old and tried gzip compression. Its compression ratio is
+ the poorest among the 3 choices; however its speed (both
+ compression and decompression) is the fastest.
config KERNEL_BZIP2
bool "Bzip2"
+ depends on HAVE_KERNEL_BZIP2
help
Its compression ratio and speed is intermediate.
- Decompression speed is slowest among the 3.
- The kernel size is about 10 per cent smaller with bzip2,
- in comparison to gzip.
- Bzip2 uses a large amount of memory. For modern kernels
- you will need at least 8MB RAM or more for booting.
+ Decompression speed is slowest among the three. The kernel
+ size is about 10% smaller with bzip2, in comparison to gzip.
+ Bzip2 uses a large amount of memory. For modern kernels you
+ will need at least 8MB RAM or more for booting.
config KERNEL_LZMA
- bool "LZMA"
- help
- The most recent compression algorithm.
- Its ratio is best, decompression speed is between the other
- 2. Compression is slowest.
- The kernel size is about 33 per cent smaller with lzma,
- in comparison to gzip.
+ bool "LZMA"
+ depends on HAVE_KERNEL_LZMA
+ help
+ The most recent compression algorithm.
+ Its ratio is best, decompression speed is between the other
+ two. Compression is slowest. The kernel size is about 33%
+ smaller with LZMA in comparison to gzip.
endchoice
-
config SWAP
bool "Support for paging of anonymous memory (swap)"
depends on MMU && BLOCK