Re: Hardware not detected (9000/801/D200)
Hi James,
On Fri, Feb 07, 2003 at 09:44:13AM -0600, James Bottomley wrote:
> On Fri, 2003-02-07 at 09:35, Matthew Wilcox wrote:
> > That makes a certain amount of sense. It's a little bit of a shame not
> > to use the features of the 710 chip, but maintaining fewer drivers is
> > clearly a Good Thing.
>
> Actually, the 710 is useless in it's true 710 mode (i.e. continuously
> operating scripts engine)---and we got the OS data to prove it back at
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.
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.
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.
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.
Richard
Reply to: