[RFC PATCH 0/1] fdt: Mark "/reserved-memory" nodes as nosave if !reusable

From: Alexandre Ghiti
Date: Tue May 30 2023 - 04:04:40 EST


In the RISC-V kernel, the firmware does not mark the region it uses as
"no-map" so that the kernel can avoid having holes in the linear mapping
and then use larger pages.

But with the recent support of hibernation on RISC-V, we noticed that
the hibernation process was trying to access those firmware regions
which are protected from *all* accesses (using PMP). So the hibernation
process fails.

We still don't have any "specification" regarding the naming of those
firmware regions, so we can't currently target those specific regions
(they are described as subnodes of "/reserved-memory").

I think we should actually mark all those "/reserved-memory" regions as
"nosave" since they should not be used by the kernel (see the
documentation pointed in the patch), hence the RFC since I may be
missing something here (legacy, other usage...etc).

Please let me know what you think!

Alexandre Ghiti (1):
fdt: Mark "/reserved-memory" nodes as nosave if !reusable

arch/riscv/kernel/setup.c | 2 +
drivers/of/fdt.c | 77 +++++++++++++++++++++++++++++++++++++++
include/linux/of_fdt.h | 1 +
3 files changed, 80 insertions(+)

--
2.39.2