Hello,
In our custom board which is designed more closer to Sabrelite, I notice the following,
The Linux kernel boots successfully only when the hlt_counter in cpu_idle (arch/arm/kernel/process.c) is true.
Otherwise the kernel boot hangs when it boots the CPU-2
......
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU2: failed to come online
However on the Sabrelite board the "hlt_counter++" addition is not needed. The kernel boots fine consistently without any modification.
I'm wondering why this condition is prevalent. By adding this fix and going ahead, I notice that the temperature of the processor shoots very sharply (while in sabrelite this is not the case).
Any inputs to identify the cause and fix the same will be appreciated.
Thanks.
Regards,
Karthikeyan.
-----
Other details,
Processor - imx6Q Rev1.2 on both custom board and Sabrelite board
SW - Android JB4.2.2_1.1 BSP (released in July '13) from Freescale.
The SW fix added at the moment,
<source/arch/arm/kernel/process.c>
179 void cpu_idle(void)
180 {
disable_hlt(); /*Added - KARS*/
181 local_fiq_enable();
182
183 /* endless idle loop with no priority at all */
184 while (1) {