Skip to contentSkip to conversation

ARM: EXYNOS4: Fix secondary CPU boot after wake-up

PATCH New Inderpal Singh 3 participants 4 messages May 30, 2011 – May 31, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: EXYNOS4: Fix secondary CPU boot after wake-up

1. After wake-up, the system-wide flags register loses its value. Hence, write the address of secondary startup function to successfully boot the secondary CPU.

2. Fix to remove the "Unknown IPI message 0x1" message when secondary CPU boots.

---
 arch/arm/mach-exynos4/platsmp.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
arch/arm/mach-exynos4/platsmp.c +7 -1
index 6d35878..11234c7 100644
@@ -100,11 +100,17 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
 	write_pen_release(cpu);
 
 	/*
+	 * After wake-up, the system-wide flags register loses its value.
+	 * Hence, write the address of secondary startup function again.
+	 */ 
+	 __raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)), S5P_VA_SYSRAM);
+
+	/*
 	 * Send the secondary CPU a soft interrupt, thereby causing
 	 * the boot monitor to read the system wide flags register,
 	 * and branch to the address found there.
 	 */
-	smp_cross_call(cpumask_of(cpu), 1);
+	smp_send_reschedule(cpu);
 
 	timeout = jiffies + (1 * HZ);
 	while (time_before(jiffies, timeout)) {
Signature · 1 line
1.7.1
#1 lore raw

PATCH 1/1 ARM: EXYNOS4: Fix secondary CPU boot after wake-up

On 5/30/2011 2:43 PM, Inderpal Singh wrote:
[...]

Quoted 3 lines

2. Fix to remove the "Unknown IPI message 0x1" message when secondary CPU boots.

For this one you are avoiding a wakeup IPI and rather relying on schedule IPI. That just avoiding the issue.

This doesn't seems to be right. Refer below thread.

http://www.spinics.net/lists/arm-kernel/msg110886.html

Russell,
When do you plan to fix the SGI usage as discussed in above thread. I thought SGI1 usage was ok for OMAP, realview/versatile and MSM.

Regards
Santosh

#2 lore raw

PATCH 1/1 ARM: EXYNOS4: Fix secondary CPU boot after wake-up

Quoted 3 lines · Santosh Shilimkar

When do you plan to fix the SGI usage as discussed in above thread. I thought SGI1 usage was ok for OMAP, realview/versatile and MSM.

I'd like the use of the arbitary SGI1 to fade away, to be replaced with something a little saner (eg, SGI0 being the first SGI). That just means you'll end up with a warning about SGI0 instead. Let's just ignore them for the time being (but please change to SGI0 anyway.)

#3 lore raw

PATCH 1/1 ARM: EXYNOS4: Fix secondary CPU boot after wake-up

Quoted 9 lines · Russell King - ARM Linux
Quoted 3 lines · Santosh Shilimkar

When do you plan to fix the SGI usage as discussed in above thread. I thought SGI1 usage was ok for OMAP, realview/versatile and MSM.

I'd like the use of the arbitary SGI1 to fade away, to be replaced with something a little saner (eg, SGI0 being the first SGI). That just means you'll end up with a warning about SGI0 instead. Let's just ignore them for the time being (but please change to SGI0 anyway.)

I mean SGIO. SGI1 was typo. Ignoring that warning isn't good idea. Platforms which do aggressive CPU offline/online, will keep getting this noise and hence need to be fixed.

How about my patch which was marking this as a wakeup IPI instead of unknown one. Ofcourse with wakeup SGI being used will be SGI0 instead of current SGI1.

If you are ok with it I can send an RFC patch ?

Regards
Santosh