Thread (2 messages) flat view 2 messages, 2 authors, 2000-01-06

Re: Does 2.2.14 Break SMP for PPC?

From: Benjamin Herrenschmidt <hidden>
Date: 2000-01-06 18:16:00

On Thu, Jan 6, 2000, Naoki Takebayashi [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From patch-2.2.14:
@@ -245,13 +233,16 @@
       bl      prom_init
       .globl  __secondary_start
__secondary_start:
-/*
- * Use the first pair of BAT registers to map the 1st 16MB
+/* Switch MMU off, clear BATs and flush TLB */
+       bl      mmu_off
+       bl      clear_bats
+       bl      flush_tlbs
+
+/* Use the first pair of BAT registers to map the 1st 16MB
 * of RAM to KERNELBASE.  From this point on we can't safely
 * call OF any more.
 */
       lis     r11,KERNELBASE@h

Well, I don't know PPC assembly, but I commented out the three "bl ... "
lines.  Then the 2nd CPU stack message went away and SMP was enabled.
However it it really unstable, though.  So the problem with 2.2.14 SMP
seems to be around here.  Probably someone who knows PPC assembly can
help here...
I'm the one responsible for those few lines of code, I'm a bit annoyed
that it broke SMP since I don't have an SMP card to play with.

Cort, Paul, any clue about what's wrong ? I'm wondering if it's related
to the physical address returned by OF and used in mmu_off which might be
wrong for the second CPU...


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help