9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Plan 9 sd53c8xx vs. sym53c875r3
@ 2000-06-27 12:17 David Evers
  0 siblings, 0 replies; only message in thread
From: David Evers @ 2000-06-27 12:17 UTC (permalink / raw)
  To: 9fans

Hi -

I'm trying to bring Plan 9 up on a PII/SE440BX with a SCSI
disk attached to a Symbios 53c875 rev. 3 controller.  It
sort of half works, in a way that makes me suspect problems
in the sd driver.  I was wondering if you (as the author)
might have any insights into what to do next.

By "half works", I mean:

- the June 17th install floppy can see the disk, runs rio and
  installs all the bits apparently correctly

- a boot floppy created by that install can see the disk, 9fat,
  plan9.ini etc. and successfully boots the kernel

- we get to /rc/bin/termrc, get through the ipconfig stuff, then
  when we bind '#S', one of two things happen, depending on the
  recent boot history of the machine:

  - from power off, or on the first ctl-alt-del from the install floppy,
    the bind '#S' pauses for a minute or so, then the rest of
    termrc fails with a number of "test: exec header invalid"
    messages.  The kernel seems healthy enough (^T^T commands ok)
    but of course we never make it to rio.

  - sometimes, in circumstances that I can't pin down completely
    but believe to be deterministic, it all works just fine: we get
    to rio as glenda and experience no further (visible) problems.
    (For instance, cold booting the install floppy, then ctl-alt-del
    to the boot floppy, then when that hangs ctl-alt-del to the boot
    floppy again seems to work reliably).

Poking around from the install floppy rio session, it seems that
there's nothing wrong with the bits on the disk (xd test looks ok).
So I'm wondering if there's a problem with the 53c875 setup.

The same machine works fine under Linux; the README for the Linux
driver mentions that it works around various chip bugs.  The one
that caught my eye was:

  "This problem is described in SYMBIOS DEL 397, Part Number 69-039241,
ITEM 4.

   In some complex situations, 53C875 chips revision <= 3 may start a
PCI
   Write and Invalidate Command at a not cache-line-aligned 4 DWORDS
boundary.
   This is only possible when Cache Line Size is 8 DWORDS or greater.
   Pentium systems use a 8 DWORDS cache line size and so are concerned
by
   this chip bug, unlike i486 systems that use a 4 DWORDS cache line
size.

   When this situation occurs, the chip may complete the Write and
Invalidate
   command after having only filled part of the last cache line involved
in
   the transfer, leaving to data corruption the remainder of this cache
line."

And the Linux driver dutifully makes sure to clear the WRIE bit in the
ctest3 register.

Do you think this is likely to be the cause of my problem?
Would I be able to turn this off from the on-card BIOS? (The
Plan 9 driver doesn't seem to touch this particular bit.)
Am I wrong to suspect the driver at all?

Thanks for any hints you can give!

Cheers,

---- Dave


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-06-27 12:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-27 12:17 [9fans] Plan 9 sd53c8xx vs. sym53c875r3 David Evers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).