aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig47
-rw-r--r--init/main.c8
2 files changed, 49 insertions, 6 deletions
diff --git a/init/Kconfig b/init/Kconfig
index ba42f3793a84..f8f6929d8f25 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -228,6 +228,25 @@ config CPUSETS
228 228
229source "usr/Kconfig" 229source "usr/Kconfig"
230 230
231config UID16
232 bool "Enable 16-bit UID system calls" if EMBEDDED
233 depends !ALPHA && !PPC && !PPC64 && !PARISC && !V850 && !ARCH_S390X
234 depends !X86_64 || IA32_EMULATION
235 depends !SPARC64 || SPARC32_COMPAT
236 default y
237 help
238 This enables the legacy 16-bit UID syscall wrappers.
239
240config VM86
241 depends X86
242 default y
243 bool "Enable VM86 support" if EMBEDDED
244 help
245 This option is required by programs like DOSEMU to run 16-bit legacy
246 code on X86 processors. It also may be needed by software like
247 XFree86 to initialize some video cards via BIOS. Disabling this
248 option saves about 6k.
249
231config CC_OPTIMIZE_FOR_SIZE 250config CC_OPTIMIZE_FOR_SIZE
232 bool "Optimize for size (Look out for broken compilers!)" 251 bool "Optimize for size (Look out for broken compilers!)"
233 default y 252 default y
@@ -309,6 +328,21 @@ config BUG
309 option for embedded systems with no facilities for reporting errors. 328 option for embedded systems with no facilities for reporting errors.
310 Just say Y. 329 Just say Y.
311 330
331config DOUBLEFAULT
332 depends X86
333 default y if X86
334 bool "Enable doublefault exception handler" if EMBEDDED
335 help
336 This option allows trapping of rare doublefault exceptions that
337 would otherwise cause a system to silently reboot. Disabling this
338 option saves about 4k.
339
340config ELF_CORE
341 default y
342 bool "Enable ELF core dumps" if EMBEDDED
343 help
344 Enable support for generating core dumps. Disabling saves about 4k.
345
312config BASE_FULL 346config BASE_FULL
313 default y 347 default y
314 bool "Enable full-sized data structures for core" if EMBEDDED 348 bool "Enable full-sized data structures for core" if EMBEDDED
@@ -380,6 +414,15 @@ config CC_ALIGN_JUMPS
380 no dummy operations need be executed. 414 no dummy operations need be executed.
381 Zero means use compiler's default. 415 Zero means use compiler's default.
382 416
417config SLAB
418 default y
419 bool "Use full SLAB allocator" if EMBEDDED
420 help
421 Disabling this replaces the advanced SLAB allocator and
422 kmalloc support with the drastically simpler SLOB allocator.
423 SLOB is more space efficient but does not scale well and is
424 more susceptible to fragmentation.
425
383endmenu # General setup 426endmenu # General setup
384 427
385config TINY_SHMEM 428config TINY_SHMEM
@@ -391,6 +434,10 @@ config BASE_SMALL
391 default 0 if BASE_FULL 434 default 0 if BASE_FULL
392 default 1 if !BASE_FULL 435 default 1 if !BASE_FULL
393 436
437config SLOB
438 default !SLAB
439 bool
440
394menu "Loadable module support" 441menu "Loadable module support"
395 442
396config MODULES 443config MODULES
diff --git a/init/main.c b/init/main.c
index 2ed3638deec7..8342c2890b16 100644
--- a/init/main.c
+++ b/init/main.c
@@ -58,11 +58,6 @@
58 * This is one of the first .c files built. Error out early 58 * This is one of the first .c files built. Error out early
59 * if we have compiler trouble.. 59 * if we have compiler trouble..
60 */ 60 */
61#if __GNUC__ == 2 && __GNUC_MINOR__ == 96
62#ifdef CONFIG_FRAME_POINTER
63#error This compiler cannot compile correctly with frame pointers enabled
64#endif
65#endif
66 61
67#ifdef CONFIG_X86_LOCAL_APIC 62#ifdef CONFIG_X86_LOCAL_APIC
68#include <asm/smp.h> 63#include <asm/smp.h>
@@ -74,7 +69,7 @@
74 * To avoid associated bogus bug reports, we flatly refuse to compile 69 * To avoid associated bogus bug reports, we flatly refuse to compile
75 * with a gcc that is known to be too old from the very beginning. 70 * with a gcc that is known to be too old from the very beginning.
76 */ 71 */
77#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 95) 72#if (__GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 2)
78#error Sorry, your GCC is too old. It builds incorrect kernels. 73#error Sorry, your GCC is too old. It builds incorrect kernels.
79#endif 74#endif
80 75
@@ -512,6 +507,7 @@ asmlinkage void __init start_kernel(void)
512 } 507 }
513#endif 508#endif
514 vfs_caches_init_early(); 509 vfs_caches_init_early();
510 cpuset_init_early();
515 mem_init(); 511 mem_init();
516 kmem_cache_init(); 512 kmem_cache_init();
517 setup_per_cpu_pageset(); 513 setup_per_cpu_pageset();