+    /* these give iface errors because the address is ambiguous after
+     * the above bit dropping */
+    BUG_ON(addr == 0x8000);

Anything with the high bit set isn't available via SCOMC/SCOMD,
only via the external interfaces.

+ /* WARNING! older 970s (pre FX) shift the bits right 1 position */

They also don't have the exact same stuff at the exact same
registers -- SCOM is very CPU-specific, check every one you
want to use.  That is, if you do the fix for the shifted bits,
if not, don't bother ;-)

+        if (c.bits.iface_error)
+            udelay(10);

Why the udelay()?

+/* SCOMC addresses are 16bit but we are given 24 bits in the
+ * books. The low oerder 8 bits are some kinda parity thin and should
+ * be ignored */

The low bit is the odd parity of the other 23 bits; everything
accessible via SCOMC/SCOMD has bits 16..22 zero.

All these comments are pretty minor, congratz on finally having
it working Jimi :-)


Xen-ppc-devel mailing list

Reply via email to