Hi,
Iam using OMAP4430 panda board for my project development. It has ARM Cortex A9 MP Core (CORE-'0' & CORE-'1') and iam using linux-2.6.38. Iam just trying to understand the booting sequence for CORE-1.
As per my understanding the CORE-1 is triggered from wakeup_secondary(void) in arch/arm/mach-omap2/omap-smp.c by issuing "SEV" command
static void __init wakeup_secondary(void)
{
omap_auxcoreboot_addr(virt_to_phys(omap_secondary_startup));
smp_wmb();
/*
* Send a 'sev' to wake the secondary core from WFE.
* Drain the outstanding writes to memory
*/
dsb_sev();
mb();
}
Kindly clarify my below queries,
1) Whether omap_auxcoreboot_addr() and omap_secondary_startup() is executed by CORE-'0' or CORE-'1'.
2) How int __cpuinit __cpu_up(unsigned int cpu) function is called (kernel/smp.c)
3) What's the purpose of __cpu_up() function.
Regards,
Raj