diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-03 11:15:37 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-03 11:15:37 -0500 |
| commit | fb7b096d949fa852442ed9d8f982bce526ccfe7e (patch) | |
| tree | 883e7e43331d9962bcc6050a3bf88615a8c61063 /init | |
| parent | a626b46e17d0762d664ce471d40bc506b6e721ab (diff) | |
| parent | fad539956c9e69749a03f7817d22d1bab87657bf (diff) | |
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)
x86: Fix out of order of gsi
x86: apic: Fix mismerge, add arch_probe_nr_irqs() again
x86, irq: Keep chip_data in create_irq_nr and destroy_irq
xen: Remove unnecessary arch specific xen irq functions.
smp: Use nr_cpus= to set nr_cpu_ids early
x86, irq: Remove arch_probe_nr_irqs
sparseirq: Use radix_tree instead of ptrs array
sparseirq: Change irq_desc_ptrs to static
init: Move radix_tree_init() early
irq: Remove unnecessary bootmem code
x86: Add iMac9,1 to pci_reboot_dmi_table
x86: Convert i8259_lock to raw_spinlock
x86: Convert nmi_lock to raw_spinlock
x86: Convert ioapic_lock and vector_lock to raw_spinlock
x86: Avoid race condition in pci_enable_msix()
x86: Fix SCI on IOAPIC != 0
x86, ia32_aout: do not kill argument mapping
x86, irq: Move __setup_vector_irq() before the first irq enable in cpu online path
x86, irq: Update the vector domain for legacy irqs handled by io-apic
x86, irq: Don't block IRQ0_VECTOR..IRQ15_VECTOR's on all cpu's
...
Diffstat (limited to 'init')
| -rw-r--r-- | init/main.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/init/main.c b/init/main.c index c75dcd6eef0..18098153c33 100644 --- a/init/main.c +++ b/init/main.c | |||
| @@ -149,6 +149,20 @@ static int __init nosmp(char *str) | |||
| 149 | 149 | ||
| 150 | early_param("nosmp", nosmp); | 150 | early_param("nosmp", nosmp); |
| 151 | 151 | ||
| 152 | /* this is hard limit */ | ||
| 153 | static int __init nrcpus(char *str) | ||
| 154 | { | ||
| 155 | int nr_cpus; | ||
| 156 | |||
| 157 | get_option(&str, &nr_cpus); | ||
| 158 | if (nr_cpus > 0 && nr_cpus < nr_cpu_ids) | ||
| 159 | nr_cpu_ids = nr_cpus; | ||
| 160 | |||
| 161 | return 0; | ||
| 162 | } | ||
| 163 | |||
| 164 | early_param("nr_cpus", nrcpus); | ||
| 165 | |||
| 152 | static int __init maxcpus(char *str) | 166 | static int __init maxcpus(char *str) |
| 153 | { | 167 | { |
| 154 | get_option(&str, &setup_max_cpus); | 168 | get_option(&str, &setup_max_cpus); |
| @@ -586,6 +600,7 @@ asmlinkage void __init start_kernel(void) | |||
| 586 | local_irq_disable(); | 600 | local_irq_disable(); |
| 587 | } | 601 | } |
| 588 | rcu_init(); | 602 | rcu_init(); |
| 603 | radix_tree_init(); | ||
| 589 | /* init some links before init_ISA_irqs() */ | 604 | /* init some links before init_ISA_irqs() */ |
| 590 | early_irq_init(); | 605 | early_irq_init(); |
| 591 | init_IRQ(); | 606 | init_IRQ(); |
| @@ -659,7 +674,6 @@ asmlinkage void __init start_kernel(void) | |||
| 659 | proc_caches_init(); | 674 | proc_caches_init(); |
| 660 | buffer_init(); | 675 | buffer_init(); |
| 661 | key_init(); | 676 | key_init(); |
| 662 | radix_tree_init(); | ||
| 663 | security_init(); | 677 | security_init(); |
| 664 | vfs_caches_init(totalram_pages); | 678 | vfs_caches_init(totalram_pages); |
| 665 | signals_init(); | 679 | signals_init(); |
