On Fri, Feb 09, 2024 at 04:29:30PM -0800, Oreoluwa Babatunde wrote: > The unflatten_and_copy_device_tree() function contains a call to > memblock_alloc(). This means that memblock is allocating memory before > any of the reserved memory regions are set aside in the setup_memory() > function which calls early_init_fdt_scan_reserved_mem(). Therefore, > there is a possibility for memblock to allocate from any of the > reserved memory regions. > > Hence, move the call to setup_memory() to be earlier in the init > sequence so that the reserved memory regions are set aside before any > allocations are done using memblock. > > Signed-off-by: Oreoluwa Babatunde <quic_obabatun@xxxxxxxxxxx> > --- > arch/openrisc/kernel/setup.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c > index 9cf7fb6..be56eaa 100644 > --- a/arch/openrisc/kernel/setup.c > +++ b/arch/openrisc/kernel/setup.c > @@ -255,6 +255,9 @@ void calibrate_delay(void) > > void __init setup_arch(char **cmdline_p) > { > + /* setup memblock allocator */ > + setup_memory(); > + > unflatten_and_copy_device_tree(); > > setup_cpuinfo(); > @@ -278,9 +281,6 @@ void __init setup_arch(char **cmdline_p) > } > #endif > > - /* setup memblock allocator */ > - setup_memory(); > - > /* paging_init() sets up the MMU and marks all pages as reserved */ > paging_init(); This looks good. I will merge it via the openrisc queue as you requested. -Stafford