Subject: port-alpha/33218: splraiseipl/softintr_establish problem
To: None <port-alpha-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 04/08/2006 14:35:00
>Number: 33218
>Category: port-alpha
>Synopsis: splraiseipl/softintr_establish problem
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-alpha-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Apr 08 14:35:00 +0000 2006
>Originator: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
>Release: NetBSD 3.99.16
>Organization:
>Environment:
Architecture: alpha
Machine: alpha
>Description:
after splraiseipl change, softintr_establish() expects SI_* argument,
while it's actually IPL_*.
it happens to work because IPL_SOFT == SI_SOFTNET.
(it's impossible for softintr_establish to get SI_* from given IPL_*,
because all of IPL_SOFT* are the same value.)
>How-To-Repeat:
code inspection.
>Fix:
one of the followings?
- coalesce softintr queues into a single queue.
- change one of splraiseipl or softintr_establish, so that
they don't share IPL_ constants.
- make IPL_SOFT* different each other, and have a simple conversion
in both of splraiseipl and softintr_establish.
>Unformatted: