Lines Matching full:cpu
30 set_cpu_online(info->cpu, true); in secondary_cinit()
36 static void __smp_boot_secondary(int cpu, secondary_func_t func) in __smp_boot_secondary() argument
38 void *sp_mem = __va(cpus[cpu].sp); in __smp_boot_secondary()
47 cpus[cpu].sp = __pa(sp_phys); in __smp_boot_secondary()
49 assert(__va(cpus[cpu].sp) == sp_mem); in __smp_boot_secondary()
58 ret = sbi_hart_start(cpus[cpu].hartid, __pa(secondary_entry), cpus[cpu].sp); in __smp_boot_secondary()
62 void smp_boot_secondary(int cpu, void (*func)(void)) in smp_boot_secondary() argument
67 ret = sbi_hart_get_status(cpus[cpu].hartid); in smp_boot_secondary()
71 assert_msg(ret.value == SBI_EXT_HSM_STOPPED, "CPU%d is not stopped", cpu); in smp_boot_secondary()
72 __smp_boot_secondary(cpu, func); in smp_boot_secondary()
74 while (!cpu_online(cpu)) in smp_boot_secondary()
78 void smp_boot_secondary_nofail(int cpu, void (*func)(void)) in smp_boot_secondary_nofail() argument
83 ret = sbi_hart_get_status(cpus[cpu].hartid); in smp_boot_secondary_nofail()
88 __smp_boot_secondary(cpu, func); in smp_boot_secondary_nofail()
91 "CPU%d is in an unexpected state %ld", cpu, ret.value); in smp_boot_secondary_nofail()
93 while (!cpu_online(cpu)) in smp_boot_secondary_nofail()