On Mon, Apr 10, 2023 at 8:52 AM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > On Mon, Apr 10, 2023 at 7:00 AM Lucas Tanure <tanure@xxxxxxxxx> wrote: > > > > Change the order of scanning /memreserve/ and /reserved-memory node. > > /reserved-memory node should go first, as it has a more updated > > description of the memory regions and it can apply flags, like nomap. > > Also, /memreserve/ should avoid reserving regions described in > > /reserved-memory node. > > Like I said on v1, I think doing this has a high chance of causing > regressions on other platforms. It should probably not go to stable > for some time after a kernel release. > > > Signed-off-by: Lucas Tanure <tanure@xxxxxxxxx> > > --- > > drivers/of/fdt.c | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > > index d1a68b6d03b3..26e608d8025d 100644 > > --- a/drivers/of/fdt.c > > +++ b/drivers/of/fdt.c > > @@ -635,16 +635,21 @@ void __init early_init_fdt_scan_reserved_mem(void) > > if (!initial_boot_params) > > return; > > > > + fdt_scan_reserved_mem(); > > + fdt_reserve_elfcorehdr(); > > + > > /* Process header /memreserve/ fields */ > > for (n = 0; ; n++) { > > fdt_get_mem_rsv(initial_boot_params, n, &base, &size); > > if (!size) > > break; > > + if (memblock_overlaps_region(&memblock.memory, base, size) && > > + memblock_is_region_reserved(base, size)) > > Just to make sure, a partial overlap will still get reserved? A partial overlap will get reserved if not already reserved by the /reserved-memory node. > > > + break; > > Shouldn't we continue to the next entry rather than stopping. Yes, my mistake; I will send v3. > > > + > > memblock_reserve(base, size); > > } > > > > - fdt_scan_reserved_mem(); > > - fdt_reserve_elfcorehdr(); > > fdt_init_reserved_mem(); > > } > > > > -- > > 2.40.0 > >