state of SMP on daystar quad-604 board

Benjamin Herrenschmidt benh at kernel.crashing.org
Sat Jan 13 19:39:22 EST 2001


>
>Also, could somone point me in the right direction regarding the how to
>debug
>this stuff (beyond what the typical book-about-kernel will tell me)?
>Scouring the web revealed almost no usefull docs on the quad boards.

There are 2 different things:

 - The old Apple/Daystar 2 CPUs cards. Those should work
 - The old but slightly newer Daystar 2 and 4 CPUs card (using a different
   mecanism from the previous ones). For those I added support, but the
   current _2_4 code is slightly bogus.

First, apply this patch:

-#define PSURGE_QUAD_OUT(r, v)  (out_8((quad_base+((r)<<2)+1), (v)))
-#define PSURGE_QUAD_IN(r)      (in_8((quad_base+((r)<<2)+1)) & 0x0f)
+#define PSURGE_QUAD_OUT(r, v)  (out_8((u8 *)(quad_base+((r)<<2)+1), (v)))
+#define PSURGE_QUAD_IN(r)      (in_8((u8 *)(quad_base+((r)<<2)+1)) &
0x0f)
 #define PSURGE_QUAD_BIS(r, v)  (PSURGE_QUAD_OUT((r), PSURGE_QUAD_IN(r) |
(v)))
 #define PSURGE_QUAD_BIC(r, v)  (PSURGE_QUAD_OUT((r), PSURGE_QUAD_IN(r) &
~(v)))

 /* virtual addresses for the above */
 static volatile u8 *hhead_base;
-static volatile u8 *quad_base;
+static volatile u32 *quad_base;
 static volatile u32 *psurge_pri_intr;
 static volatile u8 *psurge_sec_intr;
 static volatile u32 *psurge_start;


Also, if you have >2 CPUs, you may have to comment out the software TB
sync code, I've been told it didn't work with more than 2 CPUs.

We are working on a fix.

Ben.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list