diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 43 | ||||
-rw-r--r-- | init/do_mounts_md.c | 22 | ||||
-rw-r--r-- | init/do_mounts_rd.c | 4 | ||||
-rw-r--r-- | init/main.c | 9 |
4 files changed, 28 insertions, 50 deletions
diff --git a/init/Kconfig b/init/Kconfig index 9fc0759fa942..ba42f3793a84 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -105,7 +105,6 @@ config SWAP | |||
105 | 105 | ||
106 | config SYSVIPC | 106 | config SYSVIPC |
107 | bool "System V IPC" | 107 | bool "System V IPC" |
108 | depends on MMU | ||
109 | ---help--- | 108 | ---help--- |
110 | Inter Process Communication is a suite of library functions and | 109 | Inter Process Communication is a suite of library functions and |
111 | system calls which let processes (running programs) synchronize and | 110 | system calls which let processes (running programs) synchronize and |
@@ -190,40 +189,13 @@ config AUDIT | |||
190 | 189 | ||
191 | config AUDITSYSCALL | 190 | config AUDITSYSCALL |
192 | bool "Enable system-call auditing support" | 191 | bool "Enable system-call auditing support" |
193 | depends on AUDIT && (X86 || PPC || PPC64 || ARCH_S390 || IA64 || UML || SPARC64) | 192 | depends on AUDIT && (X86 || PPC || PPC64 || S390 || IA64 || UML || SPARC64) |
194 | default y if SECURITY_SELINUX | 193 | default y if SECURITY_SELINUX |
195 | help | 194 | help |
196 | Enable low-overhead system-call auditing infrastructure that | 195 | Enable low-overhead system-call auditing infrastructure that |
197 | can be used independently or with another kernel subsystem, | 196 | can be used independently or with another kernel subsystem, |
198 | such as SELinux. | 197 | such as SELinux. |
199 | 198 | ||
200 | config HOTPLUG | ||
201 | bool "Support for hot-pluggable devices" if !ARCH_S390 | ||
202 | default ARCH_S390 | ||
203 | help | ||
204 | This option is provided for the case where no in-kernel-tree | ||
205 | modules require HOTPLUG functionality, but a module built | ||
206 | outside the kernel tree does. Such modules require Y here. | ||
207 | |||
208 | config KOBJECT_UEVENT | ||
209 | bool "Kernel Userspace Events" if EMBEDDED | ||
210 | depends on NET | ||
211 | default y | ||
212 | help | ||
213 | This option enables the kernel userspace event layer, which is a | ||
214 | simple mechanism for kernel-to-user communication over a netlink | ||
215 | socket. | ||
216 | The goal of the kernel userspace events layer is to provide a simple | ||
217 | and efficient events system, that notifies userspace about kobject | ||
218 | state changes. This will enable applications to just listen for | ||
219 | events instead of polling system devices and files. | ||
220 | Hotplug events (kobject addition and removal) are also available on | ||
221 | the netlink socket in addition to the execution of /sbin/hotplug if | ||
222 | CONFIG_HOTPLUG is enabled. | ||
223 | |||
224 | Say Y, unless you are building a system requiring minimal memory | ||
225 | consumption. | ||
226 | |||
227 | config IKCONFIG | 199 | config IKCONFIG |
228 | bool "Kernel .config support" | 200 | bool "Kernel .config support" |
229 | ---help--- | 201 | ---help--- |
@@ -308,6 +280,15 @@ config KALLSYMS_EXTRA_PASS | |||
308 | you wait for kallsyms to be fixed. | 280 | you wait for kallsyms to be fixed. |
309 | 281 | ||
310 | 282 | ||
283 | config HOTPLUG | ||
284 | bool "Support for hot-pluggable devices" if EMBEDDED | ||
285 | default y | ||
286 | help | ||
287 | This option is provided for the case where no hotplug or uevent | ||
288 | capabilities is wanted by the kernel. You should only consider | ||
289 | disabling this option for embedded systems that do not use modules, a | ||
290 | dynamic /dev tree, or dynamic device discovery. Just say Y. | ||
291 | |||
311 | config PRINTK | 292 | config PRINTK |
312 | default y | 293 | default y |
313 | bool "Enable support for printk" if EMBEDDED | 294 | bool "Enable support for printk" if EMBEDDED |
@@ -461,8 +442,8 @@ config OBSOLETE_MODPARM | |||
461 | If unsure, say Y. | 442 | If unsure, say Y. |
462 | 443 | ||
463 | config MODVERSIONS | 444 | config MODVERSIONS |
464 | bool "Module versioning support (EXPERIMENTAL)" | 445 | bool "Module versioning support" |
465 | depends on MODULES && EXPERIMENTAL | 446 | depends on MODULES |
466 | help | 447 | help |
467 | Usually, you have to use modules compiled with your kernel. | 448 | Usually, you have to use modules compiled with your kernel. |
468 | Saying Y here makes it sometimes possible to use modules | 449 | Saying Y here makes it sometimes possible to use modules |
diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c index 3fbc3555ce96..f6f36806f84a 100644 --- a/init/do_mounts_md.c +++ b/init/do_mounts_md.c | |||
@@ -17,7 +17,7 @@ static int __initdata raid_noautodetect, raid_autopart; | |||
17 | static struct { | 17 | static struct { |
18 | int minor; | 18 | int minor; |
19 | int partitioned; | 19 | int partitioned; |
20 | int pers; | 20 | int level; |
21 | int chunk; | 21 | int chunk; |
22 | char *device_names; | 22 | char *device_names; |
23 | } md_setup_args[MAX_MD_DEVS] __initdata; | 23 | } md_setup_args[MAX_MD_DEVS] __initdata; |
@@ -47,7 +47,7 @@ extern int mdp_major; | |||
47 | */ | 47 | */ |
48 | static int __init md_setup(char *str) | 48 | static int __init md_setup(char *str) |
49 | { | 49 | { |
50 | int minor, level, factor, fault, pers, partitioned = 0; | 50 | int minor, level, factor, fault, partitioned = 0; |
51 | char *pername = ""; | 51 | char *pername = ""; |
52 | char *str1; | 52 | char *str1; |
53 | int ent; | 53 | int ent; |
@@ -78,7 +78,7 @@ static int __init md_setup(char *str) | |||
78 | } | 78 | } |
79 | if (ent >= md_setup_ents) | 79 | if (ent >= md_setup_ents) |
80 | md_setup_ents++; | 80 | md_setup_ents++; |
81 | switch (get_option(&str, &level)) { /* RAID Personality */ | 81 | switch (get_option(&str, &level)) { /* RAID level */ |
82 | case 2: /* could be 0 or -1.. */ | 82 | case 2: /* could be 0 or -1.. */ |
83 | if (level == 0 || level == LEVEL_LINEAR) { | 83 | if (level == 0 || level == LEVEL_LINEAR) { |
84 | if (get_option(&str, &factor) != 2 || /* Chunk Size */ | 84 | if (get_option(&str, &factor) != 2 || /* Chunk Size */ |
@@ -86,16 +86,12 @@ static int __init md_setup(char *str) | |||
86 | printk(KERN_WARNING "md: Too few arguments supplied to md=.\n"); | 86 | printk(KERN_WARNING "md: Too few arguments supplied to md=.\n"); |
87 | return 0; | 87 | return 0; |
88 | } | 88 | } |
89 | md_setup_args[ent].pers = level; | 89 | md_setup_args[ent].level = level; |
90 | md_setup_args[ent].chunk = 1 << (factor+12); | 90 | md_setup_args[ent].chunk = 1 << (factor+12); |
91 | if (level == LEVEL_LINEAR) { | 91 | if (level == LEVEL_LINEAR) |
92 | pers = LINEAR; | ||
93 | pername = "linear"; | 92 | pername = "linear"; |
94 | } else { | 93 | else |
95 | pers = RAID0; | ||
96 | pername = "raid0"; | 94 | pername = "raid0"; |
97 | } | ||
98 | md_setup_args[ent].pers = pers; | ||
99 | break; | 95 | break; |
100 | } | 96 | } |
101 | /* FALL THROUGH */ | 97 | /* FALL THROUGH */ |
@@ -103,7 +99,7 @@ static int __init md_setup(char *str) | |||
103 | str = str1; | 99 | str = str1; |
104 | /* FALL THROUGH */ | 100 | /* FALL THROUGH */ |
105 | case 0: | 101 | case 0: |
106 | md_setup_args[ent].pers = 0; | 102 | md_setup_args[ent].level = LEVEL_NONE; |
107 | pername="super-block"; | 103 | pername="super-block"; |
108 | } | 104 | } |
109 | 105 | ||
@@ -190,10 +186,10 @@ static void __init md_setup_drive(void) | |||
190 | continue; | 186 | continue; |
191 | } | 187 | } |
192 | 188 | ||
193 | if (md_setup_args[ent].pers) { | 189 | if (md_setup_args[ent].level != LEVEL_NONE) { |
194 | /* non-persistent */ | 190 | /* non-persistent */ |
195 | mdu_array_info_t ainfo; | 191 | mdu_array_info_t ainfo; |
196 | ainfo.level = pers_to_level(md_setup_args[ent].pers); | 192 | ainfo.level = md_setup_args[ent].level; |
197 | ainfo.size = 0; | 193 | ainfo.size = 0; |
198 | ainfo.nr_disks =0; | 194 | ainfo.nr_disks =0; |
199 | ainfo.raid_disks =0; | 195 | ainfo.raid_disks =0; |
diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index c10b08a80982..c2683fcd792d 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c | |||
@@ -145,7 +145,7 @@ int __init rd_load_image(char *from) | |||
145 | int nblocks, i, disk; | 145 | int nblocks, i, disk; |
146 | char *buf = NULL; | 146 | char *buf = NULL; |
147 | unsigned short rotate = 0; | 147 | unsigned short rotate = 0; |
148 | #if !defined(CONFIG_ARCH_S390) && !defined(CONFIG_PPC_ISERIES) | 148 | #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES) |
149 | char rotator[4] = { '|' , '/' , '-' , '\\' }; | 149 | char rotator[4] = { '|' , '/' , '-' , '\\' }; |
150 | #endif | 150 | #endif |
151 | 151 | ||
@@ -237,7 +237,7 @@ int __init rd_load_image(char *from) | |||
237 | } | 237 | } |
238 | sys_read(in_fd, buf, BLOCK_SIZE); | 238 | sys_read(in_fd, buf, BLOCK_SIZE); |
239 | sys_write(out_fd, buf, BLOCK_SIZE); | 239 | sys_write(out_fd, buf, BLOCK_SIZE); |
240 | #if !defined(CONFIG_ARCH_S390) && !defined(CONFIG_PPC_ISERIES) | 240 | #if !defined(CONFIG_S390) && !defined(CONFIG_PPC_ISERIES) |
241 | if (!(i % 16)) { | 241 | if (!(i % 16)) { |
242 | printk("%c\b", rotator[rotate & 0x3]); | 242 | printk("%c\b", rotator[rotate & 0x3]); |
243 | rotate++; | 243 | rotate++; |
diff --git a/init/main.c b/init/main.c index 27f97f9b4636..2ed3638deec7 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -47,12 +47,12 @@ | |||
47 | #include <linux/rmap.h> | 47 | #include <linux/rmap.h> |
48 | #include <linux/mempolicy.h> | 48 | #include <linux/mempolicy.h> |
49 | #include <linux/key.h> | 49 | #include <linux/key.h> |
50 | #include <net/sock.h> | ||
51 | 50 | ||
52 | #include <asm/io.h> | 51 | #include <asm/io.h> |
53 | #include <asm/bugs.h> | 52 | #include <asm/bugs.h> |
54 | #include <asm/setup.h> | 53 | #include <asm/setup.h> |
55 | #include <asm/sections.h> | 54 | #include <asm/sections.h> |
55 | #include <asm/cacheflush.h> | ||
56 | 56 | ||
57 | /* | 57 | /* |
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 |
@@ -100,6 +100,9 @@ extern void acpi_early_init(void); | |||
100 | #else | 100 | #else |
101 | static inline void acpi_early_init(void) { } | 101 | static inline void acpi_early_init(void) { } |
102 | #endif | 102 | #endif |
103 | #ifndef CONFIG_DEBUG_RODATA | ||
104 | static inline void mark_rodata_ro(void) { } | ||
105 | #endif | ||
103 | 106 | ||
104 | #ifdef CONFIG_TC | 107 | #ifdef CONFIG_TC |
105 | extern void tc_init(void); | 108 | extern void tc_init(void); |
@@ -614,9 +617,6 @@ static void __init do_basic_setup(void) | |||
614 | sysctl_init(); | 617 | sysctl_init(); |
615 | #endif | 618 | #endif |
616 | 619 | ||
617 | /* Networking initialization needs a process context */ | ||
618 | sock_init(); | ||
619 | |||
620 | do_initcalls(); | 620 | do_initcalls(); |
621 | } | 621 | } |
622 | 622 | ||
@@ -712,6 +712,7 @@ static int init(void * unused) | |||
712 | */ | 712 | */ |
713 | free_initmem(); | 713 | free_initmem(); |
714 | unlock_kernel(); | 714 | unlock_kernel(); |
715 | mark_rodata_ro(); | ||
715 | system_state = SYSTEM_RUNNING; | 716 | system_state = SYSTEM_RUNNING; |
716 | numa_default_policy(); | 717 | numa_default_policy(); |
717 | 718 | ||