aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-09-22 15:54:53 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-09-22 16:01:40 -0400
commitae19ffbadc1b2100285a5b5b3d0a4e0a11390904 (patch)
tree3c2086ab67398a019089a47ca3f362a4bc6db74f /init
parent34e84f39a27d059a3e6ec6e8b94aafa702e6f220 (diff)
parent9173a8ef24a6b1b8031507b35b8ffe5f85a87692 (diff)
Merge branch 'master' into for-linus
Diffstat (limited to 'init')
-rw-r--r--init/do_mounts.c2
-rw-r--r--init/main.c26
2 files changed, 3 insertions, 25 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 093f65915501..bb008d064c1a 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -415,7 +415,7 @@ void __init prepare_namespace(void)
415 415
416 mount_root(); 416 mount_root();
417out: 417out:
418 devtmpfs_mount("dev");
418 sys_mount(".", "/", NULL, MS_MOVE, NULL); 419 sys_mount(".", "/", NULL, MS_MOVE, NULL);
419 sys_chroot("."); 420 sys_chroot(".");
420} 421}
421
diff --git a/init/main.c b/init/main.c
index b34fd8e5edef..34971becbd3c 100644
--- a/init/main.c
+++ b/init/main.c
@@ -68,6 +68,7 @@
68#include <linux/async.h> 68#include <linux/async.h>
69#include <linux/kmemcheck.h> 69#include <linux/kmemcheck.h>
70#include <linux/kmemtrace.h> 70#include <linux/kmemtrace.h>
71#include <linux/shmem_fs.h>
71#include <trace/boot.h> 72#include <trace/boot.h>
72 73
73#include <asm/io.h> 74#include <asm/io.h>
@@ -353,7 +354,6 @@ static void __init smp_init(void)
353#define smp_init() do { } while (0) 354#define smp_init() do { } while (0)
354#endif 355#endif
355 356
356static inline void setup_per_cpu_areas(void) { }
357static inline void setup_nr_cpu_ids(void) { } 357static inline void setup_nr_cpu_ids(void) { }
358static inline void smp_prepare_cpus(unsigned int maxcpus) { } 358static inline void smp_prepare_cpus(unsigned int maxcpus) { }
359 359
@@ -374,29 +374,6 @@ static void __init setup_nr_cpu_ids(void)
374 nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1; 374 nr_cpu_ids = find_last_bit(cpumask_bits(cpu_possible_mask),NR_CPUS) + 1;
375} 375}
376 376
377#ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA
378unsigned long __per_cpu_offset[NR_CPUS] __read_mostly;
379
380EXPORT_SYMBOL(__per_cpu_offset);
381
382static void __init setup_per_cpu_areas(void)
383{
384 unsigned long size, i;
385 char *ptr;
386 unsigned long nr_possible_cpus = num_possible_cpus();
387
388 /* Copy section for each CPU (we discard the original) */
389 size = ALIGN(PERCPU_ENOUGH_ROOM, PAGE_SIZE);
390 ptr = alloc_bootmem_pages(size * nr_possible_cpus);
391
392 for_each_possible_cpu(i) {
393 __per_cpu_offset[i] = ptr - __per_cpu_start;
394 memcpy(ptr, __per_cpu_start, __per_cpu_end - __per_cpu_start);
395 ptr += size;
396 }
397}
398#endif /* CONFIG_HAVE_SETUP_PER_CPU_AREA */
399
400/* Called by boot processor to activate the rest. */ 377/* Called by boot processor to activate the rest. */
401static void __init smp_init(void) 378static void __init smp_init(void)
402{ 379{
@@ -809,6 +786,7 @@ static void __init do_basic_setup(void)
809 init_workqueues(); 786 init_workqueues();
810 cpuset_init_smp(); 787 cpuset_init_smp();
811 usermodehelper_init(); 788 usermodehelper_init();
789 init_tmpfs();
812 driver_init(); 790 driver_init();
813 init_irq_proc(); 791 init_irq_proc();
814 do_ctors(); 792 do_ctors();