cregit-Linux how code gets into the kernel

Release 4.11 arch/arm/mach-tango/platsmp.c

#include <linux/delay.h>
#include <linux/init.h>
#include <linux/smp.h>
#include "smc.h"


static int tango_boot_secondary(unsigned int cpu, struct task_struct *idle) { tango_set_aux_boot_addr(__pa_symbol(secondary_startup)); tango_start_aux_core(cpu); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Marc Gonzalez3096.77%150.00%
Florian Fainelli13.23%150.00%
Total31100.00%2100.00%

#ifdef CONFIG_HOTPLUG_CPU /* * cpu_kill() and cpu_die() run concurrently on different cores. * Firmware will only "kill" a core once it has properly "died". * Try a few times to kill a core before giving up, and sleep * between tries to give that core enough time to die. */
static int tango_cpu_kill(unsigned int cpu) { int i, err; for (i = 0; i < 10; ++i) { msleep(10); err = tango_aux_core_kill(cpu); if (!err) return true; } return false; }

Contributors

PersonTokensPropCommitsCommitProp
Marc Gonzalez53100.00%1100.00%
Total53100.00%1100.00%


static void tango_cpu_die(unsigned int cpu) { while (tango_aux_core_die(cpu) < 0) cpu_relax(); panic("cpu %d failed to die\n", cpu); }

Contributors

PersonTokensPropCommitsCommitProp
Marc Gonzalez29100.00%1100.00%
Total29100.00%1100.00%

#endif static const struct smp_operations tango_smp_ops __initconst = { .smp_boot_secondary = tango_boot_secondary, #ifdef CONFIG_HOTPLUG_CPU .cpu_kill = tango_cpu_kill, .cpu_die = tango_cpu_die, #endif }; CPU_METHOD_OF_DECLARE(tango4_smp, "sigma,tango4-smp", &tango_smp_ops);

Overall Contributors

PersonTokensPropCommitsCommitProp
Marc Gonzalez16194.15%240.00%
Arnd Bergmann74.09%120.00%
Masahiro Yamada21.17%120.00%
Florian Fainelli10.58%120.00%
Total171100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.