hw_x86_64: Use _edge_triggered() in _create_irt_entry()

This commit is contained in:
Reto Buerki 2015-05-12 22:23:57 +02:00 committed by Christian Helmuth
parent 5eed6de910
commit afec233f50
1 changed files with 9 additions and 9 deletions

View File

@ -62,6 +62,14 @@ class Genode::Ioapic : public Mmio
IOREDTBL = 0x10,
};
/**
* Return whether 'irq' is an edge-triggered interrupt
*/
bool _edge_triggered(unsigned const irq)
{
return irq <= Board::ISA_IRQ_END || irq > IRTE_COUNT;
}
/**
* Create redirection table entry for given IRQ
*/
@ -71,21 +79,13 @@ class Genode::Ioapic : public Mmio
Irte::Mask::set(irte, 1);
/* Use level-triggered, low-active mode for non-legacy IRQs */
if (irq > Board::ISA_IRQ_END) {
if (!_edge_triggered(irq)) {
Irte::Pol::set(irte, 1);
Irte::Trg::set(irte, 1);
}
return irte;
}
/**
* Return whether 'irq' is an edge-triggered interrupt
*/
bool _edge_triggered(unsigned const irq)
{
return irq <= Board::ISA_IRQ_END || irq > IRTE_COUNT;
}
public:
Ioapic() : Mmio(Board::MMIO_IOAPIC_BASE)