From afec233f50847fedbb41ba671f3e22a6f2a21d87 Mon Sep 17 00:00:00 2001 From: Reto Buerki Date: Tue, 12 May 2015 22:23:57 +0200 Subject: [PATCH] hw_x86_64: Use _edge_triggered() in _create_irt_entry() --- repos/base-hw/src/core/include/spec/x86/pic.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/repos/base-hw/src/core/include/spec/x86/pic.h b/repos/base-hw/src/core/include/spec/x86/pic.h index 2e69c5189a..b677c061d4 100644 --- a/repos/base-hw/src/core/include/spec/x86/pic.h +++ b/repos/base-hw/src/core/include/spec/x86/pic.h @@ -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)