2018-10-22 13:58:29 +03:00
|
|
|
#include "IRQHandler.h"
|
|
|
|
#include "i386.h"
|
|
|
|
#include "PIC.h"
|
|
|
|
|
|
|
|
IRQHandler::IRQHandler(byte irq)
|
2018-12-03 02:39:25 +03:00
|
|
|
: m_irq_number(irq)
|
2018-10-22 13:58:29 +03:00
|
|
|
{
|
2018-12-03 02:39:25 +03:00
|
|
|
register_irq_handler(m_irq_number, *this);
|
2018-10-22 13:58:29 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
IRQHandler::~IRQHandler()
|
|
|
|
{
|
2018-12-03 02:39:25 +03:00
|
|
|
unregister_irq_handler(m_irq_number, *this);
|
2018-10-22 13:58:29 +03:00
|
|
|
}
|
|
|
|
|
2018-12-03 02:39:25 +03:00
|
|
|
void IRQHandler::enable_irq()
|
2018-10-22 13:58:29 +03:00
|
|
|
{
|
2018-12-03 02:39:25 +03:00
|
|
|
PIC::enable(m_irq_number);
|
2018-10-22 13:58:29 +03:00
|
|
|
}
|
|
|
|
|
2018-12-03 02:39:25 +03:00
|
|
|
void IRQHandler::disable_irq()
|
2018-10-22 13:58:29 +03:00
|
|
|
{
|
2018-12-03 02:39:25 +03:00
|
|
|
PIC::disable(m_irq_number);
|
2018-10-22 13:58:29 +03:00
|
|
|
}
|
|
|
|
|