CPU: enhanced CPU TOPOLOGY Drivers
/arch/arm/kernel/smp.c
blob:07929831677065bda3ee51eb40ecae90574156da -> blob:c32ce179eeaeb88a6dfac0e8ce6ecbe87b7af83c
--- arch/arm/kernel/smp.c
+++ arch/arm/kernel/smp.c
@@ -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 " ");
}
/*
@@ -289,6 +297,10 @@ static void __cpuinit smp_store_cpu_info
struct cpuinfo_arm *cpu_info = &per_cpu(cpu_data, cpuid);
cpu_info->loops_per_jiffy = loops_per_jiffy;
+
+#ifdef CONFIG_ARM_CPU_TOPOLOGY
+store_cpu_topology(cpuid);
+#endif
}
/*
@@ -303,6 +315,7 @@ static inline int skip_secondary_calibra
#else
return -ENXIO;
#endif
+
}
/*
@@ -375,7 +388,7 @@ void __init smp_cpus_done(unsigned int m
for_each_online_cpu(cpu)
bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy;
- printk(KERN_INFO "SMP: Total of %d processors activated "
+ printk(KERN_INFO "[AnthraX-SMP]: Total of %d processors activated "
"(%lu.%02lu BogoMIPS).\n",
num_online_cpus(),
bogosum / (500000/HZ),
@@ -392,7 +405,9 @@ void __init smp_prepare_boot_cpu(void)
void __init smp_prepare_cpus(unsigned int max_cpus)
{
unsigned int ncores = num_possible_cpus();
-
+#ifdef CONFIG_ARM_CPU_TOPOLOGY
+ init_cpu_topology();
+#endif
smp_store_cpu_info(smp_processor_id());
/*