Current-Users archive

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

Re: siop(4) problem on bebox



On Sat, Jun 07, 2008 at 12:02:48PM +0900, KIYOHARA Takashi wrote:
> Hi! Manuel,
> 
> 
> From: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
> Date: Thu, 5 Jun 2008 17:06:19 +0200
> 
> > On Thu, Jun 05, 2008 at 03:00:15AM +0900, KIYOHARA Takashi wrote:
> 
> > > Our bebox have internal SCSI (siop).  I noticed there were two problems
> > > in siop on bebox.
> > > 
> > > First, the interrupt of siop is established before the initialization of
> > > softc.  However parity error had already happened in my bebox when boot
> > > time.  Therefore, because initialization is not done, the following
> > > messages are seen though siop_intr() is called.
> > > 
> > >     :
> > >   pci0 at mainbus0 bus 0: indirect configuration space access
> > >   pchb0 at pci0 dev 0 function 0
> > >   pchb0: Motorola MPC105 "Eagle" Host Bridge (rev. 0x24)
> > >   pchb0: L2 cache: 256K, multiprocessor mode
> > >   pcib0 at pci0 dev 11 function 0: Intel 82378ZB System I/O (rev. 0x43)
> > >   siop0 at pci0 dev 12 function 0: Symbios Logic 53c810 (fast scsi)
> > >   siop0:parity error
> > >   siop0: scsi bus reset
> > >   DMA IRQ: Illegal instruction DMA fifo empty, DSP=0x1e8 DSA=0x8480d05c: 
> > > siop0: current DSA invalid
> > >   siop0: scsi bus reset
> > >   DMA IRQ: Illegal instruction DMA fifo empty, DSP=0x1e8 DSA=0x8480d05c: 
> > > siop0: current DSA invalid
> > >     :
> > >     :
> > > 
> > > # I will confirm the jumper of SCSI HDD for parity is enabled.
> > > But I think this initialization have problem.  Please masking interrupt
> > > or initializing the softc before established interrupt routine.
> > 
> > At this point in autoconf, the kernel should be running at splhigh(),
> > or eventually with interrupts disabled at all. So the interrupt handler
> > should not be called there. It's probably an issue with port-bebox if
> > siop_intr() is called at this point of autoconf.
> 
> It agrees to your opinion.
> The mistake was exactly found in bebox.  (Fixed ;-)

good :)

> 
> 
> > > Next, internal SCSI of bebox uses the clock of PCI.  There is SCLK in
> > > STEST1 (SCSI Test One:0x4d) of 53c810.
> > > 
> > > How do we tell SCLK=1 to internal SCSI?
> > > (For instance, device_properties()?)
> > 
> > device_properties() would be appropriate. But this case isn't handled by 
> > siop
> > yet, you'll have to add it to siop_common.c:siop_common_reset()
> > (along with the appropriate flag for sc->features). the PCI front-end
> > would read the device_properties() and set the flag when needed.
> 
> This patch attaches to this mail.
> Any comments ?

it looks good !

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index