Subversion Repositories HelenOS

Rev

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

Rev 1934 Rev 1944
Line 271... Line 271...
271
 
271
 
272
 
272
 
273
/** Initialize keyboard and service interrupts using kernel routine */
273
/** Initialize keyboard and service interrupts using kernel routine */
274
void cuda_grab(void)
274
void cuda_grab(void)
275
{
275
{
-
 
276
    ipl_t ipl = interrupts_disable();
-
 
277
    spinlock_lock(&cuda_irq.lock);
276
    cuda_irq.notif_cfg.notify = false;
278
    cuda_irq.notif_cfg.notify = false;
-
 
279
    spinlock_unlock(&cuda_irq.lock);
-
 
280
    interrupts_restore(ipl);
277
}
281
}
278
 
282
 
279
 
283
 
280
/** Resume the former interrupt vector */
284
/** Resume the former interrupt vector */
281
void cuda_release(void)
285
void cuda_release(void)
282
{
286
{
-
 
287
    ipl_t ipl = interrupts_disable();
-
 
288
    spinlock_lock(&cuda_irq.lock);
283
    if (cuda_irq.notif_cfg.answerbox)
289
    if (cuda_irq.notif_cfg.answerbox)
284
        cuda_irq.notif_cfg.notify = true;
290
        cuda_irq.notif_cfg.notify = true;
-
 
291
    spinlock_unlock(&cuda_irq.unlock);
-
 
292
    interrupts_restore(ipl);
285
}
293
}
286
 
294
 
287
 
295
 
288
void cuda_init(devno_t devno, uintptr_t base, size_t size)
296
void cuda_init(devno_t devno, uintptr_t base, size_t size)
289
{
297
{