Subject: sharing mips softintr code (Re: generic soft interrupt patch)
To: None <simonb@wasabisystems.com>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-arc
Date: 04/28/2003 19:03:30
(Cc:'ed to port-mips)

In article <20030428092759.44A1953E7F@thoreau.thistledown.com.au>
simonb@wasabisystems.com wrote:

> It'd be nice if we could move all softintr support to somewhere under
> sys/arch/mips.  Most of arc_trap.c should (with these patches) now be
> the same as at least the algor, evbmips, mipsco and pmax interrupt.c
> and the sbmips and sgimips softintr.c.

Yes, we should share softintr code among all mips ports,
but I wonder how to migrate to shared code..

- There are some variants of softintr code. One uses LIST (mipsco,
  sgimips etc.) and another uses TAILQ (algor, evbmips etc.)
  Which code is more generic? (sbmips has different code?)
- There are several way to define spl*() macros.
  It seems using ipl_sr_bits (algor, evbmips etc.) is more generic,
  but I'm not sure. (splvec should be purged anyway?)
- On most ports, softintr dispatcher is integrated into MD cpu_intr(),
  but should we make it separated function?
- Where should define/declare macros and structures for softintr
  (like *_soft_intrhand etc.)? mips/include/softintr.h?
- Which ports does not use generic softintr yet? cobalt?

etc. etc.
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp