mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-08 03:45:24 +00:00
hw_x86_64: Use _edge_triggered() in _create_irt_entry()
This commit is contained in:
parent
5eed6de910
commit
afec233f50
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user