[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJF2gTSYp4-2VLq4HmvcdDWq3ygkHiXpDfTyocYStxGpejx7jg@mail.gmail.com>
Date: Fri, 22 Jul 2022 15:51:12 +0800
From: Guo Ren <guoren@...nel.org>
To: Heiko Stübner <heiko@...ech.de>
Cc: Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Anup Patel <anup@...infault.org>,
Nick Kossifidis <mick@....forth.gr>,
Alexandre Ghiti <alexandre.ghiti@...onical.com>,
Xianting Tian <xianting.tian@...ux.alibaba.com>,
linux-riscv <linux-riscv@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
crash-utility@...hat.com, huanyi.xj@...baba-inc.com,
Heinrich Schuchardt <heinrich.schuchardt@...onical.com>,
k-hagio-ab@....com, hschauhan@...ltrace.org
Subject: Re: [PATCH 4/5] riscv: Add modules to virtual kernel memory layout dump
On Fri, Jul 22, 2022 at 3:24 PM Heiko Stübner <heiko@...ech.de> wrote:
>
> 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@...ux.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 :-)
There is no MODULES_VADDR for 32-bit, because it reuses vmalloc area.
We should print MODULES_VADDR here to make people clear to know.
Reviewed-by: Guo Ren <guoren@...nel.org>
>
> The below also looks good, so
> Reviewed-by: Heiko Stuebner <heiko@...ech.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)) {
> >
>
>
>
>
--
Best Regards
Guo Ren
Powered by blists - more mailing lists