GPU: fix 2d OC, kernel mpdecision
/arch/arm/kernel/smp.c
blob:d84d6bf13ae132a1736002aa65e4ccc092963b9f -> blob:76b4b0958e085c43408f62c80c53b98647b2cb09
--- arch/arm/kernel/smp.c
+++ arch/arm/kernel/smp.c
@@ -277,15 +277,7 @@ void __init smp_setup_processor_id(void)
for (i = 1; i < NR_CPUS; ++i)
cpu_logical_map(i) = i == cpu ? 0 : i;
- printk(KERN_INFO "Booting AnthraX on physical CPU %d\n", cpu);
- printk(KERN_INFO " ");
- printk(KERN_INFO ".........................................................................");
- printk(KERN_INFO "This software is not authorized for public use or distribution. ");
- printk(KERN_INFO "see http://anthrax-kernels.us for details and use restrictions.");
- printk(KERN_INFO ".........................................................................");
- printk(KERN_INFO " ");
- printk(KERN_INFO "Copyright(C) 2011-2012 Chad Goodman, All Rights Reserved. ");
- printk(KERN_INFO " ");
+ printk(KERN_INFO "Booting Linux on physical CPU %d\n", cpu);
}
/*
@@ -315,7 +307,6 @@ static inline int skip_secondary_calibra
#else
return -ENXIO;
#endif
-
}
/*
@@ -325,20 +316,28 @@ static inline int skip_secondary_calibra
asmlinkage void __cpuinit secondary_start_kernel(void)
{
struct mm_struct *mm = &init_mm;
- unsigned int cpu = smp_processor_id();
+ unsigned int cpu;
pr_debug("CPU%u: Booted secondary processor\n", cpu);
/*
+ * The identity mapping is uncached (strongly ordered), so
+ * switch away from it before attempting any exclusive accesses.
+ */
+ cpu_switch_mm(mm->pgd, mm);
+ enter_lazy_tlb(mm, current);
+ local_flush_tlb_all();
+
+ /*
* All kernel threads share the same mm context; grab a
* reference and switch to it.
*/
+ cpu = smp_processor_id();
atomic_inc(&mm->mm_count);
current->active_mm = mm;
cpumask_set_cpu(cpu, mm_cpumask(mm));
- cpu_switch_mm(mm->pgd, mm);
- enter_lazy_tlb(mm, current);
- local_flush_tlb_all();
+
+ printk("CPU%u: Booted secondary processor\n", cpu);
cpu_init();
preempt_disable();
@@ -349,9 +348,6 @@ asmlinkage void __cpuinit secondary_star
*/
platform_secondary_init(cpu);
- /*
- * Enable local interrupts.
- */
notify_cpu_starting(cpu);
if (skip_secondary_calibrate())
@@ -564,9 +560,9 @@ static void ipi_cpu_stop(unsigned int cp
raw_spin_lock(&stop_lock);
printk(KERN_CRIT "CPU%u: stopping\n", cpu);
dump_stack();
-#if CONFIG_SEC_DEBUG
+/*#if CONFIG_SEC_DEBUG
sec_debug_dump_stack();
-#endif
+#endif*/
raw_spin_unlock(&stop_lock);
}