[PATCH] powerpc/85xx: Fix writing to spin table 'cpu-release-addr' on ppc64e

Subsystems: linux for powerpc (32-bit and 64-bit), linux for powerpc embedded ppc85xx, the rest

STALE5696d

2 messages, 2 authors, 2011-03-15 · open the first message on its own page

[PATCH] powerpc/85xx: Fix writing to spin table 'cpu-release-addr' on ppc64e

From: Kumar Gala <hidden>
Date: 2011-03-05 21:05:25

From: Kumar Gala <redacted>

If the spin table is located in the linear mapping (which can happen if
we have 4G or more of memory) we need to access the spin table via a
cacheable coherent mapping like we do on ppc32 (and do explicit cache
flush).

See the following commit for the ppc32 version of this issue:

commit d1d47ec6e62ab08d2ebb925fd9203abfad3adfbf
Author: Peter Tyser [off-list ref]
Date:   Fri Dec 18 16:50:37 2009 -0600

    powerpc/85xx: Fix SMP when "cpu-release-addr" is in lowmem

Signed-off-by: Kumar Gala <redacted>
---
 arch/powerpc/platforms/85xx/smp.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c
index 5c91a99..0d00ff9 100644
--- a/arch/powerpc/platforms/85xx/smp.c
+++ b/arch/powerpc/platforms/85xx/smp.c
@@ -91,10 +91,14 @@ smp_85xx_kick_cpu(int nr)
 	while ((__secondary_hold_acknowledge != nr) && (++n < 1000))
 		mdelay(1);
 #else
+	smp_generic_kick_cpu(nr);
+
 	out_be64((u64 *)(bptr_vaddr + BOOT_ENTRY_ADDR_UPPER),
 		__pa((u64)*((unsigned long long *) generic_secondary_smp_init)));
 
-	smp_generic_kick_cpu(nr);
+	if (!ioremappable)
+		flush_dcache_range((ulong)bptr_vaddr,
+				(ulong)(bptr_vaddr + SIZE_BOOT_ENTRY));
 #endif
 
 	local_irq_restore(flags);
-- 
1.7.2.3

Re: [PATCH] powerpc/85xx: Fix writing to spin table 'cpu-release-addr' on ppc64e

From: Kumar Gala <hidden>
Date: 2011-03-15 14:21:41

On Mar 5, 2011, at 3:05 PM, Kumar Gala wrote:
From: Kumar Gala <redacted>

If the spin table is located in the linear mapping (which can happen if
we have 4G or more of memory) we need to access the spin table via a
cacheable coherent mapping like we do on ppc32 (and do explicit cache
flush).

See the following commit for the ppc32 version of this issue:

commit d1d47ec6e62ab08d2ebb925fd9203abfad3adfbf
Author: Peter Tyser [off-list ref]
Date:   Fri Dec 18 16:50:37 2009 -0600

   powerpc/85xx: Fix SMP when "cpu-release-addr" is in lowmem

Signed-off-by: Kumar Gala <redacted>
---
arch/powerpc/platforms/85xx/smp.c |    6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
applied

- k
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help