diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2006-03-14 18:05:45 -0500 |
---|---|---|
committer | Dave Kleikamp <shaggy@austin.ibm.com> | 2006-03-14 18:05:45 -0500 |
commit | c5111f504d2a9b0d258d7c4752b4093523315989 (patch) | |
tree | 6a52864aff79691689aea21cb0cb928327d5de5b /init | |
parent | 69eb66d7da7dba2696281981347698e1693c2340 (diff) | |
parent | a488edc914aa1d766a4e2c982b5ae03d5657ec1b (diff) |
Merge with /home/shaggy/git/linus-clean/
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 12 | ||||
-rw-r--r-- | init/initramfs.c | 24 | ||||
-rw-r--r-- | init/main.c | 1 |
3 files changed, 23 insertions, 14 deletions
diff --git a/init/Kconfig b/init/Kconfig index b9923b1434..38416a199d 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -31,19 +31,8 @@ config EXPERIMENTAL | |||
31 | you say Y here, you will be offered the choice of using features or | 31 | you say Y here, you will be offered the choice of using features or |
32 | drivers that are currently considered to be in the alpha-test phase. | 32 | drivers that are currently considered to be in the alpha-test phase. |
33 | 33 | ||
34 | config CLEAN_COMPILE | ||
35 | bool "Select only drivers expected to compile cleanly" if EXPERIMENTAL | ||
36 | default y | ||
37 | help | ||
38 | Select this option if you don't even want to see the option | ||
39 | to configure known-broken drivers. | ||
40 | |||
41 | If unsure, say Y | ||
42 | |||
43 | config BROKEN | 34 | config BROKEN |
44 | bool | 35 | bool |
45 | depends on !CLEAN_COMPILE | ||
46 | default y | ||
47 | 36 | ||
48 | config BROKEN_ON_SMP | 37 | config BROKEN_ON_SMP |
49 | bool | 38 | bool |
@@ -180,7 +169,6 @@ config SYSCTL | |||
180 | config AUDIT | 169 | config AUDIT |
181 | bool "Auditing support" | 170 | bool "Auditing support" |
182 | depends on NET | 171 | depends on NET |
183 | default y if SECURITY_SELINUX | ||
184 | help | 172 | help |
185 | Enable auditing infrastructure that can be used with another | 173 | Enable auditing infrastructure that can be used with another |
186 | kernel subsystem, such as SELinux (which requires this for | 174 | kernel subsystem, such as SELinux (which requires this for |
diff --git a/init/initramfs.c b/init/initramfs.c index 0c5d9a3f95..637344b059 100644 --- a/init/initramfs.c +++ b/init/initramfs.c | |||
@@ -466,10 +466,32 @@ static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only) | |||
466 | extern char __initramfs_start[], __initramfs_end[]; | 466 | extern char __initramfs_start[], __initramfs_end[]; |
467 | #ifdef CONFIG_BLK_DEV_INITRD | 467 | #ifdef CONFIG_BLK_DEV_INITRD |
468 | #include <linux/initrd.h> | 468 | #include <linux/initrd.h> |
469 | #include <linux/kexec.h> | ||
469 | 470 | ||
470 | static void __init free_initrd(void) | 471 | static void __init free_initrd(void) |
471 | { | 472 | { |
472 | free_initrd_mem(initrd_start, initrd_end); | 473 | #ifdef CONFIG_KEXEC |
474 | unsigned long crashk_start = (unsigned long)__va(crashk_res.start); | ||
475 | unsigned long crashk_end = (unsigned long)__va(crashk_res.end); | ||
476 | |||
477 | /* | ||
478 | * If the initrd region is overlapped with crashkernel reserved region, | ||
479 | * free only memory that is not part of crashkernel region. | ||
480 | */ | ||
481 | if (initrd_start < crashk_end && initrd_end > crashk_start) { | ||
482 | /* | ||
483 | * Initialize initrd memory region since the kexec boot does | ||
484 | * not do. | ||
485 | */ | ||
486 | memset((void *)initrd_start, 0, initrd_end - initrd_start); | ||
487 | if (initrd_start < crashk_start) | ||
488 | free_initrd_mem(initrd_start, crashk_start); | ||
489 | if (initrd_end > crashk_end) | ||
490 | free_initrd_mem(crashk_end, initrd_end); | ||
491 | } else | ||
492 | #endif | ||
493 | free_initrd_mem(initrd_start, initrd_end); | ||
494 | |||
473 | initrd_start = 0; | 495 | initrd_start = 0; |
474 | initrd_end = 0; | 496 | initrd_end = 0; |
475 | } | 497 | } |
diff --git a/init/main.c b/init/main.c index 7c79da57d3..4c194c4739 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -668,7 +668,6 @@ static int init(void * unused) | |||
668 | */ | 668 | */ |
669 | child_reaper = current; | 669 | child_reaper = current; |
670 | 670 | ||
671 | /* Sets up cpus_possible() */ | ||
672 | smp_prepare_cpus(max_cpus); | 671 | smp_prepare_cpus(max_cpus); |
673 | 672 | ||
674 | do_pre_smp_initcalls(); | 673 | do_pre_smp_initcalls(); |