From: Mike Rapoport <rppt@kernel.org>
To: Huacai Chen <chenhuacai@gmail.com>
Cc: Huacai Chen <chenhuacai@loongson.cn>,
Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
David Airlie <airlied@linux.ie>, Jonathan Corbet <corbet@lwn.net>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-arch <linux-arch@vger.kernel.org>,
"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Xuefeng Li <lixuefeng@loongson.cn>,
Yanteng Si <siyanteng@loongson.cn>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
Ard Biesheuvel <ardb@kernel.org>,
linux-efi <linux-efi@vger.kernel.org>
Subject: Re: [PATCH V6 09/22] LoongArch: Add boot and setup routines
Date: Mon, 7 Mar 2022 19:37:14 +0200 [thread overview]
Message-ID: <YiZCypeuJ+0FCJ+w@kernel.org> (raw)
In-Reply-To: <CAAhV-H6z3H3QbzvG6=fgVJF1z2qEvKVGnyqb--bkqomH3jTXJQ@mail.gmail.com>
Hi,
On Fri, Mar 04, 2022 at 08:43:03PM +0800, Huacai Chen wrote:
> Hi, Mike,
>
> On Fri, Mar 4, 2022 at 6:49 PM Mike Rapoport <rppt@kernel.org> wrote:
> >
> > Hi,
> >
> >
> > So ideally, the physical memory detection and registration should follow
> > something like:
> >
> > * memblock_reserve() the memory used by firmware, kernel and initrd
> > * detect NUMA topology
> > * add memory regions along with their node ids to memblock.
> >
> > s390::setup_arch() is a good example of doing early reservations:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/s390/kernel/setup.c#n988
> I have a fast reading of S390, and I think we can do some adjust:
> 1, call memblock_set_node(0, ULONG_MAX, &memblock.memory, 0) in
> early_memblock_init().
> 2, move memblock_reserve(PHYS_OFFSET, 0x200000) and
> memblock_reserve(__pa_symbol(&_text), __pa_symbol(&_end) -
> __pa_symbol(&_text)) to early_memblock_init().
> 3, Reserve initrd memory in the first place.
> It is nearly the same as the S390, then.
It does not have to look like the same as s390 :)
The important thing is to reserve all the memory before memblock
allocations are possible.
> > > > > +early_param("memmap", early_parse_memmap);
> > > >
> > > > The memmap= processing is a hack indented to workaround bugs in firmware
> > > > related to the memory detection. Please don't copy if over unless there is
> > > > really strong reason.
> > >
> > > Hmmm, I have read the documents, most archs only support mem=limit,
> > > but MIPS support mem=limit@base. memmap not only supports
> > > memmap=limit@base, but also a lot of advanced syntax. LoongArch needs
> > > both limit and limit@base syntax. So can we make our code to support
> > > only mem=limit and memmap=limit@base, and remove all other syntax
> > > here?
> >
> > The documentation describes what was there historically and both these
> > options tend not to play well with complex memory layouts.
> >
> > If you must have them it's better to use x86 as an example rather than
> > MIPS, just take into the account that on x86 memory always starts from 0,
> > so they never needed to have a different base.
> >
> > For what use-cases LoongArch needs options?
>
> The use-case of limit@base syntax is kdump, because our kernel is not
> relocatable. I'll use X86 as an example.
I missed that mem= can be used several times, so with MIPS implementation
it's possible to define something like "mem=limit0@base0 mem=limit1@base1"
and this will create two contiguous memory regions.
> Huacai
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2022-03-07 17:37 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-26 11:03 [PATCH V6 00/22] arch: Add basic LoongArch support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 01/22] Documentation: LoongArch: Add basic documentations Huacai Chen
2022-02-26 11:03 ` [PATCH V6 02/22] Documentation/zh_CN: Add basic LoongArch documentations Huacai Chen
2022-02-26 11:03 ` [PATCH V6 03/22] LoongArch: Add elf-related definitions Huacai Chen
2022-02-26 11:03 ` [PATCH V6 04/22] LoongArch: Add writecombine support for drm Huacai Chen
2022-02-26 11:03 ` [PATCH V6 05/22] LoongArch: Add build infrastructure Huacai Chen
2022-02-26 11:03 ` [PATCH V6 06/22] LoongArch: Add CPU definition headers Huacai Chen
2022-02-26 11:03 ` [PATCH V6 07/22] LoongArch: Add atomic/locking headers Huacai Chen
2022-02-26 11:03 ` [PATCH V6 08/22] LoongArch: Add other common headers Huacai Chen
2022-02-26 11:03 ` [PATCH V6 09/22] LoongArch: Add boot and setup routines Huacai Chen
2022-02-27 14:14 ` Ard Biesheuvel
2022-02-27 16:40 ` Greg Kroah-Hartman
2022-02-28 6:34 ` Huacai Chen
2022-02-28 8:09 ` Ard Biesheuvel
2022-02-28 8:38 ` Huacai Chen
2022-02-28 8:51 ` Ard Biesheuvel
2022-02-28 10:42 ` Huacai Chen
2022-02-28 11:24 ` Arnd Bergmann
2022-02-28 11:35 ` Ard Biesheuvel
2022-03-01 4:17 ` Huacai Chen
2022-03-01 10:18 ` Arnd Bergmann
2022-03-02 8:56 ` Huacai Chen
2022-03-02 8:58 ` Ard Biesheuvel
2022-03-02 9:20 ` Huacai Chen
2022-03-03 7:26 ` Huacai Chen
2022-03-03 9:54 ` Ard Biesheuvel
2022-03-04 10:23 ` Huacai Chen
2022-03-03 11:41 ` Mike Rapoport
2022-03-03 14:47 ` Huacai Chen
2022-03-04 10:49 ` Mike Rapoport
2022-03-04 12:43 ` Huacai Chen
2022-03-07 17:37 ` Mike Rapoport [this message]
2022-03-08 5:01 ` Huacai Chen
2022-02-26 11:03 ` [PATCH V6 10/22] LoongArch: Add exception/interrupt handling Huacai Chen
2022-02-26 11:03 ` [PATCH V6 11/22] LoongArch: Add process management Huacai Chen
2022-02-26 11:03 ` [PATCH V6 12/22] LoongArch: Add memory management Huacai Chen
2022-03-03 16:16 ` Mike Rapoport
2022-03-04 10:12 ` Huacai Chen
2022-02-26 11:03 ` [PATCH V6 13/22] LoongArch: Add system call support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 14/22] LoongArch: Add signal handling support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 15/22] LoongArch: Add elf and module support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 16/22] LoongArch: Add misc common routines Huacai Chen
2022-02-26 11:03 ` [PATCH V6 17/22] LoongArch: Add some library functions Huacai Chen
2022-02-26 11:03 ` [PATCH V6 18/22] LoongArch: Add PCI controller support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 19/22] LoongArch: Add VDSO and VSYSCALL support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 20/22] LoongArch: Add multi-processor (SMP) support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 21/22] LoongArch: Add Non-Uniform Memory Access (NUMA) support Huacai Chen
2022-02-26 11:03 ` [PATCH V6 22/22] LoongArch: Add Loongson-3 default config file Huacai Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YiZCypeuJ+0FCJ+w@kernel.org \
--to=rppt@kernel.org \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=chenhuacai@gmail.com \
--cc=chenhuacai@loongson.cn \
--cc=corbet@lwn.net \
--cc=jiaxun.yang@flygoat.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lixuefeng@loongson.cn \
--cc=luto@kernel.org \
--cc=peterz@infradead.org \
--cc=siyanteng@loongson.cn \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).