[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hardware not detected (9000/801/D200)



On Sun, 2003-02-09 at 09:55, Richard Hirst wrote:
> But there are other good features in 710 mode; IIRC the 710 can generate
> just one interrupt for a reselection, once it has accepted the first
> msgin - whereas the 700 requires multiple interrupts (2 or 3?) to
> accomplish the same thing.

Yes, two.  I could get that down to one by having the script handle the
tags, but I'm lazy (and actually, its faster to have the CPU find them).

> 53c7xx.c goes further and tries to have the 710 handle
> disconnect/reselect with no interrupts at all - it uses memory-memory
> moves to reload its registers, etc, once it identifies a reselecting
> target, and only interrupts when the whole command is complete.  Doesn't
> necessarily work that well, phase mismatch can't be handled in the
> script for example, and it requires h/w that lets 710 initiated cycles
> access 710 mapped register space.

Well, you can't ever handle disconnect without an interrupt (on all the
7xx and 8xx chips) because the first thing we know about the target
wanting to disconnect is a phase mismatch which isn't scriptable
(although the 1xxx series of chip can do scripts handling of phase
mismatches).

> Hard for me to imagine a 710 implementation where the chip was
> continuously running scripts though; I'd expect it to be mostly waiting
> for a reselection from the bus, or a SIGP prod from the driver.  That's
> just one WAIT RESELSECT instruction, and I don't belive it loops
> refetching it continuously.

WAIT RESELECT quiesces the chip, so it isn't a problem.  The issue is
the LSI advised way of running the chip which has it continuously
looping over a set of mailboxes (it's in the multi-threaded scripts
examples).  Operating it in this way hogs the memory unless the
mailboxes are in on board memory.

Although, for lazy people like me, the number of wierd illegal
instruction interrupt conditions that have to be handled with WAIT
RESELECT look daunting.

> Anyway, I believe dumping the guts of sim710 in favour of 53c700 is the
> right thing to do.  Maybe one day someone could get it to run
> 710-specific script fragments where appropriate to reduce the interrupt
> count.

Thanks,

James




Reply to: