[PATCH 4/5] riscv: Add modules to virtual kernel memory layout dump

Heiko Stübner heiko at sntech.de
Fri Jul 22 00:24:44 PDT 2022


Am Sonntag, 17. Juli 2022, 12:13:22 CEST schrieb Xianting Tian:
> Modules always live before the kernel, MODULES_END is fixed but
> MODULES_VADDR isn't fixed, it depends on the kernel size.
> Let's add it to virtual kernel memory layout dump.
> 
> As MODULES is only defined for CONFIG_64BIT, so we dump it when
> CONFIG_64BIT=y.
> 
> eg,
> MODULES_VADDR - MODULES_END
> 0xffffffff01133000 - 0xffffffff80000000
> 
> Signed-off-by: Xianting Tian <xianting.tian at linux.alibaba.com>

I'm still not sure if it would be better to define MODULES_* constants
even on 32bit (with their VMALLOC_START etc values) and prevent
needing the CONFIG_64BIT ifdef, but that's for others to decide :-)

The below also looks good, so
Reviewed-by: Heiko Stuebner <heiko at sntech.de>

> ---
>  arch/riscv/mm/init.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
> index d466ec670e1f..2c4a64e97aec 100644
> --- a/arch/riscv/mm/init.c
> +++ b/arch/riscv/mm/init.c
> @@ -135,6 +135,10 @@ static void __init print_vm_layout(void)
>  		(unsigned long)VMEMMAP_END);
>  	print_ml("vmalloc", (unsigned long)VMALLOC_START,
>  		(unsigned long)VMALLOC_END);
> +#ifdef CONFIG_64BIT
> +	print_ml("modules", (unsigned long)MODULES_VADDR,
> +		(unsigned long)MODULES_END);
> +#endif
>  	print_ml("lowmem", (unsigned long)PAGE_OFFSET,
>  		(unsigned long)high_memory);
>  	if (IS_ENABLED(CONFIG_64BIT)) {
> 







More information about the linux-riscv mailing list