[PATCH v3 RESEND 1/2] x86/of: add support for reserved memory defined by DT
From: Grzegorz Jaszczyk
Date: Wed Jun 18 2025 - 17:07:40 EST
From: Grzegorz Jaszczyk <jaszczyk@xxxxxxxxxx>
The DT reserved-memory nodes can be present in DT as described in
Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml.
Similar to other architecture, which supports DT, there is a need to
create reserved memory regions for such nodes.
Additionally this patch changes the sequence and calls
x86_flattree_get_config earlier during memblock setup, just after e820
memblock setup, so the DT reserved-memory can be properly reflected in
the memblock before it is used for allocation.
Signed-off-by: Grzegorz Jaszczyk <jaszczyk@xxxxxxxxxx>
---
arch/x86/kernel/devicetree.c | 1 +
arch/x86/kernel/setup.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index dd8748c45529..f7db0e8f9c3e 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -307,6 +307,7 @@ void __init x86_flattree_get_config(void)
}
early_init_dt_verify(dt, __pa(dt));
+ early_init_fdt_scan_reserved_mem();
}
unflatten_and_copy_device_tree();
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index fb27be697128..1c6fcb0bc65e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1069,6 +1069,8 @@ void __init setup_arch(char **cmdline_p)
e820__memblock_setup();
+ x86_flattree_get_config();
+
/*
* Needs to run after memblock setup because it needs the physical
* memory size.
@@ -1179,8 +1181,6 @@ void __init setup_arch(char **cmdline_p)
early_acpi_boot_init();
x86_init.mpparse.early_parse_smp_cfg();
- x86_flattree_get_config();
-
initmem_init();
dma_contiguous_reserve(max_pfn_mapped << PAGE_SHIFT);
--
2.50.0.rc2.701.gf1e915cc24-goog