コード例 #1
0
ファイル: smp-emev2.c プロジェクト: 0x000000FF/Linux4Edison
static void __init emev2_smp_prepare_cpus(unsigned int max_cpus)
{
	scu_enable(shmobile_scu_base);

	/* Tell ROM loader about our vector (in headsmp-scu.S) */
	emev2_set_boot_vector(__pa(shmobile_secondary_vector_scu));

	/* enable cache coherency on booting CPU */
	scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
}
コード例 #2
0
ファイル: smp-emev2.c プロジェクト: 1youhun1/linux
static void __init emev2_smp_prepare_cpus(unsigned int max_cpus)
{
	scu_enable(shmobile_scu_base);

	/* Tell ROM loader about our vector (in headsmp-scu.S, headsmp.S) */
	emev2_set_boot_vector(__pa(shmobile_boot_vector));
	shmobile_boot_fn = virt_to_phys(shmobile_boot_scu);
	shmobile_boot_arg = (unsigned long)shmobile_scu_base;

	/* enable cache coherency on booting CPU */
	scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL);
}
コード例 #3
0
ファイル: smp-emev2.c プロジェクト: vineetnayak/linux
static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *idle)
{
	cpu = cpu_logical_map(cpu);

	/* enable cache coherency */
	modify_scu_cpu_psr(0, 3 << (cpu * 8));

	/* Tell ROM loader about our vector (in headsmp.S) */
	emev2_set_boot_vector(__pa(shmobile_secondary_vector));

	gic_raise_softirq(cpumask_of(cpu), 1);
	return 0;
}