aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-01-04 18:41:25 -0500
committerH. Peter Anvin <hpa@zytor.com>2009-01-04 18:53:35 -0500
commit2e9f3bddcbc711bb14d86c6f068a779bf3710247 (patch)
treebd59cd7b10f8881d89ee4f39b295520a6f18e217
parent0f5e2d2484ccd3062bb1f63083bafa37041bc868 (diff)
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
39 select HAVE_GENERIC_DMA_COHERENT if X86_32 39 select HAVE_GENERIC_DMA_COHERENT if X86_32
40 select HAVE_EFFICIENT_UNALIGNED_ACCESS 40 select HAVE_EFFICIENT_UNALIGNED_ACCESS
41 select USER_STACKTRACE_SUPPORT 41 select USER_STACKTRACE_SUPPORT
42 select HAVE_KERNEL_GZIP
43 select HAVE_KERNEL_BZIP2
44 select HAVE_KERNEL_LZMA
42 45
43config ARCH_DEFCONFIG 46config ARCH_DEFCONFIG
44 string 47 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
101 101
102 which is done within the script "scripts/setlocalversion".) 102 which is done within the script "scripts/setlocalversion".)
103 103
104config HAVE_KERNEL_GZIP
105 bool
106
107config HAVE_KERNEL_BZIP2
108 bool
109
110config HAVE_KERNEL_LZMA
111 bool
112
104choice 113choice
105 prompt "Kernel compression mode" 114 prompt "Kernel compression mode"
106 default KERNEL_GZIP 115 default KERNEL_GZIP
107 help 116 depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA
117 help
108 The linux kernel is a kind of self-extracting executable. 118 The linux kernel is a kind of self-extracting executable.
109 Several compression algorithms are available, which differ 119 Several compression algorithms are available, which differ
110 in efficiency, compression and decompression speed. 120 in efficiency, compression and decompression speed.
@@ -123,34 +133,34 @@ choice
123 If in doubt, select 'gzip' 133 If in doubt, select 'gzip'
124 134
125config KERNEL_GZIP 135config KERNEL_GZIP
126 bool "Gzip" 136 bool "Gzip"
127 help 137 depends on HAVE_KERNEL_GZIP
128 The old and tried gzip compression. Its compression ratio is 138 help
129 the poorest among the 3 choices; however its speed (both 139 The old and tried gzip compression. Its compression ratio is
130 compression and decompression) is the fastest. 140 the poorest among the 3 choices; however its speed (both
141 compression and decompression) is the fastest.
131 142
132config KERNEL_BZIP2 143config KERNEL_BZIP2
133 bool "Bzip2" 144 bool "Bzip2"
145 depends on HAVE_KERNEL_BZIP2
134 help 146 help
135 Its compression ratio and speed is intermediate. 147 Its compression ratio and speed is intermediate.
136 Decompression speed is slowest among the 3. 148 Decompression speed is slowest among the three. The kernel
137 The kernel size is about 10 per cent smaller with bzip2, 149 size is about 10% smaller with bzip2, in comparison to gzip.
138 in comparison to gzip. 150 Bzip2 uses a large amount of memory. For modern kernels you
139 Bzip2 uses a large amount of memory. For modern kernels 151 will need at least 8MB RAM or more for booting.
140 you will need at least 8MB RAM or more for booting.
141 152
142config KERNEL_LZMA 153config KERNEL_LZMA
143 bool "LZMA" 154 bool "LZMA"
144 help 155 depends on HAVE_KERNEL_LZMA
145 The most recent compression algorithm. 156 help
146 Its ratio is best, decompression speed is between the other 157 The most recent compression algorithm.
147 2. Compression is slowest. 158 Its ratio is best, decompression speed is between the other
148 The kernel size is about 33 per cent smaller with lzma, 159 two. Compression is slowest. The kernel size is about 33%
149 in comparison to gzip. 160 smaller with LZMA in comparison to gzip.
150 161
151endchoice 162endchoice
152 163
153
154config SWAP 164config SWAP
155 bool "Support for paging of anonymous memory (swap)" 165 bool "Support for paging of anonymous memory (swap)"
156 depends on MMU && BLOCK 166 depends on MMU && BLOCK