Zhang Fuxin wrote:
> you can do anything you like to my code:)
> i have promised to release it months ago,but so busy I was the past
> months and i am shy to release ugly code. Sorry if it waste you time.
Thanks. We've followed very similar routes so there aren't so many
> Today I make some tests and get some fixes ,log is here
> (i was too sleepy last night,so most of them is stupy errors):
> ide dma unstable,don't choose 'use dma by default when available'
Yes. I have had a look at this but haven't tracked it down yet. The
only thing I know is that the buffer heads get corrupted, so I assume
there is some interrupt locking problem somewhere. I know that DMA
works in the MIPS 2.4.3 port. Were you using DMA in your 2.4.8 kernel?
> you probably will be more able to deal with the dma and board cache
Do you use the IOBC? I had to make some changes to pci.h and the
ethernet driver to make them work properly.
> than me:). The spurious interrupt problem still there,i have added some
> code to work around it but don't know the reason.
The spurious interrupts are caused by posted writes to PCI devices.
The sequence is usually something like:
o write device to clear interrupt (write gets posted)
o enable CPU interrupts (interrupt is still pending)
o CPU enters interrupt handler and reads 8259 which causes posted
to be flushed and so now there is no interrupt...
The only fix is to do an explicit PCI (eg ISA port) before reenabling
interrupts. The 2.4.x kernel reenables interrupts more quickly than the
older kernel which is why it is more noticeable.
> I have made a quick test with ltp, most of them passed,but some of
> the fs test and the syscall test failed,i will look into them soon
> if you have interest,i can give you more detail results
I've not used ltp, but if you do find anything useful I would be
Algorithmics,The Fruit Farm,Ely Road,Chittering,CAMBS CB5 9PH,ENGLAND
P: +44 1223 706200 F: +44 1223 706250 W: http://www.algor.co.uk