lx_emul/start: move lx_emul_setup_arch behind kmem_cache_init

Call lx_emul_setup arch after kmem_cache_init, because
unflatten_device_tree requires 'memblock_alloc' which  does not work
when using native slub.c/memblock.c on ARM platforms.

issue #5264
This commit is contained in:
Sebastian Sumpf 2024-09-06 19:51:37 +02:00 committed by Christian Helmuth
parent c0a0c0ae71
commit 8530aa7540

View File

@ -132,8 +132,6 @@ int lx_emul_init_task_function(void * dtb)
* Here we do the minimum normally done start_kernel() of init/main.c
*/
lx_emul_setup_arch(dtb);
jump_label_init();
kmem_cache_init();
wait_bit_init();
@ -143,6 +141,12 @@ int lx_emul_init_task_function(void * dtb)
maple_tree_init();
#endif
/*
* unflatten_device tree requires memblock, so kmem_cache_init has to be
* called before lx_emul_setup_arch on ARM platforms
*/
lx_emul_setup_arch(dtb);
workqueue_init_early();
skb_init();