[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAF1bQ=TMvb-42YREZ5iHLxAc1M5U54L2D95bbmTrD0kP59UUAw@mail.gmail.com>
Date: Tue, 26 Nov 2024 09:36:48 -0800
From: Rong Xu <xur@...gle.com>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: Chris Packham <chris.packham@...iedtelesis.co.nz>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>, Klara Modin <klarasmodin@...il.com>,
Christophe Leroy <christophe.leroy@...roup.eu>, Michael Ellerman <mpe@...erman.id.au>,
Nicolas Schier <nicolas@...sle.eu>, "Maciej W. Rozycki" <macro@...am.me.uk>, linux-mips@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [MIPS] Place __kernel_entry at the beginning of text section
Thanks Masahiro and Chris for the review!
I just sent out patch v2. I verified that v2 has pretty much the same
layout (except for
some debug info caused layout changes).
-Rong
On Mon, Nov 25, 2024 at 7:43 PM Masahiro Yamada <masahiroy@...nel.org> wrote:
>
> On Tue, Nov 26, 2024 at 8:42 AM Chris Packham
> <chris.packham@...iedtelesis.co.nz> wrote:
> >
> >
> > On 26/11/24 12:09, Rong Xu wrote:
> > > Mark __kernel_entry as ".head.text" and place HEAD_TEXT before
> > > TEXT_TEXT in the linker script. This ensures that __kernel_entry
> > > will be placed at the beginning of text section.
> > >
> > > Drop mips from scripts/head-object-list.txt.
> > >
> > > Signed-off-by: Rong Xu <xur@...gle.com>
> > > Reported-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> >
> > Works for me on my RTL9302C based board
> >
> > Tested-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> >
> > > ---
> > > arch/mips/kernel/head.S | 1 +
> > > arch/mips/kernel/vmlinux.lds.S | 1 +
> > > scripts/head-object-list.txt | 1 -
> > > 3 files changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
> > > index e90695b2b60e..6d5fc498c6f9 100644
> > > --- a/arch/mips/kernel/head.S
> > > +++ b/arch/mips/kernel/head.S
> > > @@ -26,6 +26,7 @@
> > >
> > > #include <kernel-entry-init.h>
> > >
> > > + __HEAD
> >
> > I'm not and expert on any of this but... should this go below the
> > setup_c0_status_* macros (just before the CONFIG_NO_EXCEPT_FILL) line? I
> > don't think it makes any actual difference but as a reader it feels more
> > logical that the __HEAD annotation is applying to the .fill and
> > __kernel_entry.
>
>
> Agree.
>
> Having __HEAD right before the allocated code would be better.
>
>
> We have one more section marker, __REF, some lines below.
> This is placed right before the affected code.
>
>
> Rong, could please send v2 as Chris suggested?
>
> Then, I will insert this to my tree to avoid regression.
>
> I will drop the previous commit
> (MIPS: move _stext definition to vmlinux.lds.S).
> It changed the location of _stext when
> CONFIG_NO_EXCEPT_FILL is disabled.
>
> Thanks.
>
>
>
>
> >
> > > /*
> > > * For the moment disable interrupts, mark the kernel mode and
> > > * set ST0_KX so that the CPU does not spit fire when using
> > > diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
> > > index d575f945d422..c9c1ba85ac7b 100644
> > > --- a/arch/mips/kernel/vmlinux.lds.S
> > > +++ b/arch/mips/kernel/vmlinux.lds.S
> > > @@ -62,6 +62,7 @@ SECTIONS
> > > _text = .; /* Text and read-only data */
> > > _stext = .;
> > > .text : {
> > > + HEAD_TEXT
> > > TEXT_TEXT
> > > SCHED_TEXT
> > > LOCK_TEXT
> > > diff --git a/scripts/head-object-list.txt b/scripts/head-object-list.txt
> > > index fd5d00bac447..f12b4a7b8406 100644
> > > --- a/scripts/head-object-list.txt
> > > +++ b/scripts/head-object-list.txt
> > > @@ -23,7 +23,6 @@ arch/m68k/coldfire/head.o
> > > arch/m68k/kernel/head.o
> > > arch/m68k/kernel/sun3-head.o
> > > arch/microblaze/kernel/head.o
> > > -arch/mips/kernel/head.o
> > > arch/nios2/kernel/head.o
> > > arch/openrisc/kernel/head.o
> > > arch/parisc/kernel/head.o
> > >
> > > base-commit: 3596c721c4348b2a964e43f9296a0c01509ba927
>
>
>
> --
> Best Regards
> Masahiro Yamada
Powered by blists - more mailing lists