From ec92e9c3dfcf01c49e1a3aa5789e7d5791f35831 Mon Sep 17 00:00:00 2001 From: Adrian-Ken Rueegsegger Date: Wed, 15 Jul 2015 15:04:35 +0200 Subject: [PATCH] hw_x86_64: Only handle masking of I/O APIC IRQs Ignore toggle requests for vectors not assigned to the I/O APIC. Fixes #1651 --- repos/base-hw/src/core/include/spec/x86/pic.h | 7 +++++++ 1 file changed, 7 insertions(+) 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 58f0492b4..dd7c7c71d 100644 --- a/repos/base-hw/src/core/include/spec/x86/pic.h +++ b/repos/base-hw/src/core/include/spec/x86/pic.h @@ -158,6 +158,13 @@ class Genode::Ioapic : public Mmio */ void toggle_mask(unsigned const vector, bool const set) { + /* + * Ignore toggle requests for vectors not handled by the I/O APIC. + */ + if (vector < REMAP_BASE || vector >= REMAP_BASE + IRTE_COUNT) { + return; + } + const unsigned irq = vector - REMAP_BASE; /*