Re: [PATCH 2/2] microblaze: switch to NO_BOOTMEM

From: Michal Simek
Date: Wed Mar 14 2018 - 11:10:27 EST


On 14.3.2018 16:01, Michal Simek wrote:
> From: Rob Herring <robh@xxxxxxxxxx>
>
> Microblaze doesn't set CONFIG_NO_BOOTMEM and so memblock_virt_alloc()
> doesn't work for CONFIG_HAVE_MEMBLOCK && !CONFIG_NO_BOOTMEM.
>
> Similar change was already done by others architectures
> "ARM: mm: Remove bootmem code and switch to NO_BOOTMEM"
> (sha1: 84f452b1e8fc73ac0e31254c66e3e2260ce5263d)
> or
> "openrisc: Consolidate setup to use memblock instead of bootmem"
> (sha1: 266c7fad157265bb54d17db1c9545f2aaa488643)
> or
> "parisc: Drop bootmem and switch to memblock"
> (sha1: 4fe9e1d957e45ad8eba9885ee860a0e93d13a7c7)
> or
> "powerpc: Remove bootmem allocator"
> (sha1: 10239733ee8617bac3f1c1769af43a88ed979324)
> or
> "s390/mm: Convert bootmem to memblock"
> (sha1: 50be634507284eea38df78154d22615d21200b42)
> or
> "sparc64: Convert over to NO_BOOTMEM."
> (sha1: 625d693e9784f988371e69c2b41a2172c0be6c11)
> or
> "xtensa: drop sysmem and switch to memblock"
> (sha1: 0e46c1115f5816949220d62dd3ff04aa68e7ac6b)
>
> Issue was introduced by:
> "of/fdt: use memblock_virt_alloc for early alloc"
> (sha1: 0fa1c579349fdd90173381712ad78aa99c09d38b)
>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> Tested-by: Alvaro Gamez Machado <alvaro.gamez@xxxxxxxxxx>
> Tested-by: Michal Simek <michal.simek@xxxxxxxxxx>
> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
> ---
>
> arch/microblaze/Kconfig | 1 +
> arch/microblaze/mm/init.c | 55 ++++++-----------------------------------------
> 2 files changed, 7 insertions(+), 49 deletions(-)
>
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 4f798aa671dd..3817a3e2146c 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -24,6 +24,7 @@ config MICROBLAZE
> select HAVE_FTRACE_MCOUNT_RECORD
> select HAVE_FUNCTION_GRAPH_TRACER
> select HAVE_FUNCTION_TRACER
> + select NO_BOOTMEM
> select HAVE_MEMBLOCK
> select HAVE_MEMBLOCK_NODE_MAP
> select HAVE_OPROFILE
> diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
> index 5bc9c7fbb541..6ab1ef2daf1d 100644
> --- a/arch/microblaze/mm/init.c
> +++ b/arch/microblaze/mm/init.c
> @@ -32,9 +32,6 @@
> #ifndef CONFIG_MMU
> unsigned int __page_offset;
> EXPORT_SYMBOL(__page_offset);
> -
> -#else
> -static int init_bootmem_done;
> #endif /* CONFIG_MMU */
>
> char *klimit = _end;
> @@ -174,17 +171,6 @@ void __init setup_memory(void)
> pr_info("%s: max_low_pfn: %#lx\n", __func__, max_low_pfn);
> pr_info("%s: max_pfn: %#lx\n", __func__, max_pfn);
>
> - /*
> - * Find an area to use for the bootmem bitmap.
> - * We look for the first area which is at least
> - * 128kB in length (128kB is enough for a bitmap
> - * for 4GB of memory, using 4kB pages), plus 1 page
> - * (in case the address isn't page-aligned).
> - */
> - map_size = init_bootmem_node(NODE_DATA(0),

map_size variable should be also removed. Fixed in v2.

Thanks,
Michal

--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP SoCs


Attachment: signature.asc
Description: OpenPGP digital signature