From a0366120efef95e30b207a3a8f8e1043c6848eba Mon Sep 17 00:00:00 2001 From: Johannes Schlatow Date: Mon, 25 Mar 2024 12:57:51 +0100 Subject: [PATCH] base-nova: allow access to IOAPIC This allows the platform driver to control remapping of legacy interrupts. genodelabs/genode#5066 --- repos/base-nova/patches/allow_ioapic_access.patch | 14 ++++++++++++++ repos/base-nova/ports/nova.hash | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 repos/base-nova/patches/allow_ioapic_access.patch diff --git a/repos/base-nova/patches/allow_ioapic_access.patch b/repos/base-nova/patches/allow_ioapic_access.patch new file mode 100644 index 0000000000..888fe1705a --- /dev/null +++ b/repos/base-nova/patches/allow_ioapic_access.patch @@ -0,0 +1,14 @@ +diff --git a/src/ioapic.cpp b/src/ioapic.cpp +index d3c7991..d357cf3 100644 +--- a/src/ioapic.cpp ++++ b/src/ioapic.cpp +@@ -29,7 +29,8 @@ Ioapic *Ioapic::list; + + Ioapic::Ioapic (Paddr p, unsigned i, unsigned g) : List (list), reg_base ((hwdev_addr -= PAGE_SIZE) | (p & PAGE_MASK)), gsi_base (g), id (i), rid (0) + { +- Pd::kern.Space_mem::delreg (Pd::kern.quota, Pd::kern.mdb_cache, p & ~PAGE_MASK); ++// XXX allow Genode platform driver to access device and take over control ++// Pd::kern.Space_mem::delreg (Pd::kern.quota, Pd::kern.mdb_cache, p & ~PAGE_MASK); + Pd::kern.Space_mem::insert (Pd::kern.quota, reg_base, 0, Hpt::HPT_NX | Hpt::HPT_G | Hpt::HPT_UC | Hpt::HPT_W | Hpt::HPT_P, p & ~PAGE_MASK); + + trace (TRACE_APIC, "APIC:%#lx ID:%#x VER:%#x IRT:%#x PRQ:%u GSI:%u", diff --git a/repos/base-nova/ports/nova.hash b/repos/base-nova/ports/nova.hash index 2101237a0c..bac49ceb25 100644 --- a/repos/base-nova/ports/nova.hash +++ b/repos/base-nova/ports/nova.hash @@ -1 +1 @@ -d58086480d6a21a06bbd956e2d2e605d0f39b6b2 +f6ac7ac73d93a11511d407f3130cc31f0c415ea4