On Thu, 12 Jul 2007, Songmao Tian wrote: > 8259 problem seems to be done with the attached patch, IDE hung seems to be > the dma setting problem. > > Thanks all for your advise, comments. I have learned a lot. now I continue to > trace down the IDE problem. I would still recommend you to investigate the option of making the 8259A cores "transparent" and using the mapper registers to dispatch interrupts directly -- it would make processing of interrupt requests considerably faster and less complicated. Please note that ffs() is O(1) and actually some two or three machine instructions on MIPS architecture processors and the model used by the mapper is closer to the spirit of how MIPS processors do interrupt handling. With such an approach it will also likely be easier to integrate your changes upstream, than it would for your changes to i8259.{c,h} needed for your unusual setup to work. Of course as an intermediate solution during development to make the whole thing work the complicated use of the 8259A cores may be justified. Maciej