2013-10-30 13:56:57 +01:00
|
|
|
/*
|
|
|
|
* \brief Kernel back-end and core front-end for user interrupts
|
|
|
|
* \author Martin Stein
|
|
|
|
* \date 2013-10-28
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright (C) 2013 Genode Labs GmbH
|
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
|
|
* under the terms of the GNU General Public License version 2.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* core includes */
|
2015-02-19 14:50:27 +01:00
|
|
|
#include <kernel/kernel.h>
|
2014-10-10 16:13:52 +02:00
|
|
|
#include <kernel/cpu.h>
|
2013-10-30 13:56:57 +01:00
|
|
|
#include <kernel/irq.h>
|
|
|
|
#include <pic.h>
|
|
|
|
|
|
|
|
|
2015-05-19 14:18:40 +02:00
|
|
|
void Kernel::Irq::disable() const { pic()->mask(_irq_nr); }
|
2013-10-30 13:56:57 +01:00
|
|
|
|
|
|
|
|
2015-05-19 14:18:40 +02:00
|
|
|
void Kernel::Irq::enable() const { pic()->unmask(_irq_nr, Cpu::executing_id()); }
|
2015-02-18 14:23:54 +01:00
|
|
|
|
2015-02-19 14:50:27 +01:00
|
|
|
|
|
|
|
Kernel::Irq::Pool * Kernel::User_irq::_pool()
|
2015-02-18 14:23:54 +01:00
|
|
|
{
|
|
|
|
static Irq::Pool p;
|
|
|
|
return &p;
|
|
|
|
}
|