Subversion Repositories HelenOS-historic

Rev

Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1702 Rev 1757
Line 24... Line 24...
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
 
28
 
29
 /** @addtogroup genericipc
29
/** @addtogroup genericipc
30
 * @{
30
 * @{
31
 */
31
 */
32
/** @file
32
/**
33
 */
33
 * @file
34
 
-
 
35
/** IRQ notification framework
34
 * @brief IRQ notification framework.
36
 *
35
 *
37
 * This framework allows applications to register to receive a notification
36
 * This framework allows applications to register to receive a notification
38
 * when interrupt is detected. The application may provide a simple 'top-half'
37
 * when interrupt is detected. The application may provide a simple 'top-half'
39
 * handler as part of its registration, which can perform simple operations
38
 * handler as part of its registration, which can perform simple operations
40
 * (read/write port/memory, add information to notification ipc message).
39
 * (read/write port/memory, add information to notification ipc message).
Line 314... Line 313...
314
    }
313
    }
315
}
314
}
316
 
315
 
317
/** Disconnect all irq's notifications
316
/** Disconnect all irq's notifications
318
 *
317
 *
319
 * TODO: It may be better to do some linked list, so that
318
 * @todo It may be better to do some linked list, so that
320
 *       we wouldn't need to go through whole array every cleanup
319
 *       we wouldn't need to go through whole array every cleanup
321
 */
320
 */
322
void ipc_irq_cleanup(answerbox_t *box)
321
void ipc_irq_cleanup(answerbox_t *box)
323
{
322
{
324
    int i;
323
    int i;
Line 332... Line 331...
332
        spinlock_unlock(&irq_conns[i].lock);
331
        spinlock_unlock(&irq_conns[i].lock);
333
        interrupts_restore(ipl);
332
        interrupts_restore(ipl);
334
    }
333
    }
335
}
334
}
336
 
335
 
337
 /** @}
336
/** @}
338
 */
337
 */
339
 
-