From 70737c034bb28522f33fb89f777ddfc473b97705 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Wed, 6 Sep 2023 15:05:35 +0200 Subject: [PATCH] core: hand out RAM region as IOMEM to ACIPCA The special region seems not to be declared as reserved nor ACPI related. However, ACPICA depends on this physical range. Issue #4643 --- repos/base-nova/src/core/platform.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/repos/base-nova/src/core/platform.cc b/repos/base-nova/src/core/platform.cc index f475168a17..60299d0a55 100644 --- a/repos/base-nova/src/core/platform.cc +++ b/repos/base-nova/src/core/platform.cc @@ -625,6 +625,21 @@ Core::Platform::Platform() } } + /* + * ACPI quirk for 12th Gen Framework laptop and Thinkpad X1 Nano Gen2 + * + * Although this RAM page is not marked as reserved, it apparently plays a + * special role because ACPICA explicitly requests this physical range. + */ + { +#ifdef __x86_64__ + addr_t const start = 0x1'0bf0'0000, size = 0x1000; + + _io_mem_alloc.add_range(start, size); + ram_alloc().remove_range(start, size); +#endif + } + /* * From now on, it is save to use the core allocators... */