--- 76b4b0958e085c43408f62c80c53b98647b2cb09 +++ c32ce179eeaeb88a6dfac0e8ce6ecbe87b7af83c @@ -277,7 +277,15 @@ 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 Linux on physical CPU %d\n", cpu); + 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 " "); } /* @@ -307,6 +315,7 @@ static inline int skip_secondary_calibra #else return -ENXIO; #endif + } /* @@ -316,28 +325,20 @@ static inline int skip_secondary_calibra asmlinkage void __cpuinit secondary_start_kernel(void) { struct mm_struct *mm = &init_mm; - unsigned int cpu; + unsigned int cpu = smp_processor_id(); 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)); - - printk("CPU%u: Booted secondary processor\n", cpu); + cpu_switch_mm(mm->pgd, mm); + enter_lazy_tlb(mm, current); + local_flush_tlb_all(); cpu_init(); preempt_disable(); @@ -348,6 +349,9 @@ asmlinkage void __cpuinit secondary_star */ platform_secondary_init(cpu); + /* + * Enable local interrupts. + */ notify_cpu_starting(cpu); if (skip_secondary_calibrate()) @@ -560,9 +564,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); } @@ -668,9 +672,7 @@ void handle_IPI(int ipinr, struct pt_reg break; case IPI_CPU_BACKTRACE: - irq_enter(); ipi_cpu_backtrace(cpu, regs); - irq_exit(); break; default: