Subject: Re: Generic soft interrupt support
To: None <reinoud@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-arm
Date: 02/16/2007 01:18:21
reinoud@NetBSD.org wrote:

> Then i wonder why this code for softintr_establish() is not shared for each 
> port?

Maybe because hardware implementation for software interrupt support
is machine dependent and softintr has been impelemented since
ancient 4.3BSD (as mentioned in Design and Implementation of 4.3BSD),
but MI softintr(9) was appeared in NetBSD 1.3 and not so many
MI drivers require it by histrical reason?

> could the code for arch/acorn26/acorn26/softintr.c be used as a 
> template for all ARM based machines?

I haven't looked at arm softintr code, but maybe yes.

If some ports have some hardware support to generate
real hardware interrupts for softintr(9) but others
don't and have to prepare emulations, we might have to
consider how to handle such MD quirks (by MD hook/macro etc.)

Maybe it's better to share common softintr.c among all
arm port like mips. (and m68k should also do so..)

> or do device drivers need to be 
> changed?

Some MD drinvers which use old MD software interrupt APIs
need to be changed, but it should be trivial.
(see recent changes to sun3/dev/zs.c etc.)

On the other hand, most MI drivers have
#ifdef __HAVE_GENERIC_SOFT_INTERRUPTS appropriately
so no change is needed.
---
Izumi Tsutsui