Subject: Re: spl ... MP ...
To: None <tech-kern@NetBSD.org>
From: Chapman Flack <nblists@anastigmatix.net>
List: tech-kern
Date: 01/11/2006 22:26:26
I'm back to SPLs again. This could be a dumb question (in which case,
once I learn why, I'll know more than I do).

In a driver like midi, which can have lots of different sorts of
hw devices as parents, and is hardcoded to use splaudio ... what
should make me sure splaudio really covers the ipl used by
whatever (existing or future) device I might be attached to?  Is
it all just human knowledge of the code base, or is there some
autoconfiguration magic that can make that information available
or record constraints among levels to detect when they don't hold?

Could the following scenario in principle happen?

 1. top half of driver calls start_output, imposes splaudio,
    begins sending data

 2. device responds quickly and interrupts for more data, at
    level > splaudio, and gets in during top half's critical
    section?

Are there data structures with the parent's interrupt handlers
and assigned spls available to examine at attach time?

-Chap