diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 47 | ||||
-rw-r--r-- | init/main.c | 8 |
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 | ||
229 | source "usr/Kconfig" | 229 | source "usr/Kconfig" |
230 | 230 | ||
231 | config 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 | |||
240 | config 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 | |||
231 | config CC_OPTIMIZE_FOR_SIZE | 250 | config 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 | ||
331 | config 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 | |||
340 | config 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 | |||
312 | config BASE_FULL | 346 | config 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 | ||
417 | config 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 | |||
383 | endmenu # General setup | 426 | endmenu # General setup |
384 | 427 | ||
385 | config TINY_SHMEM | 428 | config 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 | ||
437 | config SLOB | ||
438 | default !SLAB | ||
439 | bool | ||
440 | |||
394 | menu "Loadable module support" | 441 | menu "Loadable module support" |
395 | 442 | ||
396 | config MODULES | 443 | config 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(); |