From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Brian Cain <bcain@codeaurora.org>, Nick Hu <nickhu@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
Vincent Chen <deanbo422@gmail.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Brian Cain <bcain@codeaurora.org>, Nick Hu <nickhu@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
Vincent Chen <deanbo422@gmail.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Jeff Dike <jdike@addtoit.com>,
Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
uclinux-h8-devel@lists.sourceforge.jp,
linux-parisc@vger.kernel.org, linux-hexagon@vger.kernel.org,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
openrisc@lists.librecores.org, Anup Patel <anup@brainfault.org>,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Brian Cain <bcain@codeaurora.org>, Nick Hu <nickhu@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
Vincent Chen <deanbo422@gmail.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Jeff Dike <jdike@addtoit.com>,
Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
uclinux-h8-devel@lists.sourceforge.jp,
linux-parisc@vger.kernel.org, linux-hexagon@vger.kernel.org,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
openrisc@lists.librecores.org, Anup Patel <anup@brainfault.org>,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Brian Cain <bcain@codeaurora.org>, Nick Hu <nickhu@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
Vincent Chen <deanbo422@gmail.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Jeff Dike <jdike@addtoit.com>,
Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
uclinux-h8-devel@lists.sourceforge.jp,
linux-parisc@vger.kernel.org, linux-hexagon@vger.kernel.org,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
openrisc@lists.librecores.org, Anup Patel <anup@brainfault.org>,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Brian Cain <bcain@codeaurora.org>, Nick Hu <nickhu@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
Vincent Chen <deanbo422@gmail.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Jeff Dike <jdike@addtoit.com>,
Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
uclinux-h8-devel@lists.sourceforge.jp,
linux-parisc@vger.kernel.org, linux-hexagon@vger.kernel.org,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
openrisc@lists.librecores.org, Anup Patel <anup@brainfault.org>,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Anup Patel <anup@brainfault.org>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Paul Mackerras <paulus@samba.org>,
linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org,
Vincent Chen <deanbo422@gmail.com>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
Jonas Bonn <jonas@southpole.se>,
Brian Cain <bcain@codeaurora.org>,
Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
Russell King <linux@armlinux.org.uk>,
Ley Foon Tan <ley.foon.tan@intel.com>,
linux-parisc@vger.kernel.org, linux-snps-arc@lists.infradead.org,
uclinux-h8-devel@lists.sourceforge.jp,
Albert Ou <aou@eecs.berkeley.edu>, Jeff Dike <jdike@addtoit.com>,
linux-um@lists.infradead.org,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
openrisc@lists.librecores.org, Greentime Hu <green.hu@gmail.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Stafford Horne <shorne@gmail.com>,
linux-arm-kernel@lists.infradead.org,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Nick Hu <nickhu@andestech.com>,
Vineet Gupta <vgupta@synopsys.com>,
linux-kernel@vger.kernel.org, Palmer Dabbelt <palmer@dabbelt.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Brian Cain <bcain@codeaurora.org>, Nick Hu <nickhu@andestech.com>,
Greentime Hu <green.hu@gmail.com>,
Vincent Chen <deanbo422@gmail.com>,
Ley Foon Tan <ley.foon.tan@intel.com>,
Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Jeff Dike <jdike@addtoit.com>,
Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
uclinux-h8-devel@lists.sourceforge.jp,
linux-parisc@vger.kernel.org, linux-hexagon@vger.kernel.org,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
openrisc@lists.librecores.org, Anup Patel <anup@brainfault.org>,
linux-riscv@lists.infradead.org,
linux-snps-arc@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] init: consolidate trap_init()
Date: Wed, 14 Apr 2021 17:27:57 +0800 [thread overview]
Message-ID: <20210414172757.3ebfaa4c@xhacker.debian> (raw)
In-Reply-To: <44bdf1f1-117d-0f10-fc59-9edd32d1ad61@csgroup.eu>
On Wed, 14 Apr 2021 11:10:42 +0200
Christophe Leroy <christophe.leroy@csgroup.eu> wrote:
>
> Le 14/04/2021 à 10:58, Jisheng Zhang a écrit :
> > Many architectures implement the trap_init() as NOP, since there is
> > no such default for trap_init(), this empty stub is duplicated among
> > these architectures. Provide a generic but weak NOP implementation
> > to drop the empty stubs of trap_init() in these architectures.
>
> You define the weak function in the __init section.
>
> Most but not all architectures had it in __init section.
>
> And the remaining ones may not be defined in __init section. For instance look at the one in alpha
> architecture.
>
> Have you checked that it is not a problem ? It would be good to say something about it in the commit
> description.
For those non-nop platforms, I can only test x86/arm64/, but both has
__init mark. I'm not sure whether this is a problem for alpha etc. Maybe
I can check which section the trap_init() sits. Or to avoid any possible
regression, I can add __init mark to those remaining ones without it in
preparation patches.
>
>
> >
> > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> > ---
> > arch/arc/kernel/traps.c | 5 -----
> > arch/arm/kernel/traps.c | 5 -----
> > arch/h8300/kernel/traps.c | 13 -------------
> > arch/hexagon/kernel/traps.c | 4 ----
> > arch/nds32/kernel/traps.c | 5 -----
> > arch/nios2/kernel/traps.c | 5 -----
> > arch/openrisc/kernel/traps.c | 5 -----
> > arch/parisc/kernel/traps.c | 4 ----
> > arch/powerpc/kernel/traps.c | 5 -----
> > arch/riscv/kernel/traps.c | 5 -----
> > arch/um/kernel/trap.c | 4 ----
> > init/main.c | 2 ++
> > 12 files changed, 2 insertions(+), 60 deletions(-)
> >
> > diff --git a/init/main.c b/init/main.c
> > index 53b278845b88..4bdbe2928530 100644
> > --- a/init/main.c
> > +++ b/init/main.c
> > @@ -790,6 +790,8 @@ static inline void initcall_debug_enable(void)
> > }
> > #endif
> >
> > +void __init __weak trap_init(void) { }
> > +
>
> I think in a C file we don't try to save space as much as in a header file.
>
This is to follow most weak NOP implementations in init/main.c to make
the style unified in the same file. I'm not sure which is better.
> I would prefer something like:
>
>
> void __init __weak trap_init(void)
> {
> }
>
>
> > /* Report memory auto-initialization states for this boot. */
> > static void __init report_meminit(void)
> > {
> >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-04-14 9:27 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-14 8:58 [PATCH] init: consolidate trap_init() Jisheng Zhang
2021-04-14 8:58 ` Jisheng Zhang
2021-04-14 8:58 ` [OpenRISC] " Jisheng Zhang
2021-04-14 8:58 ` Jisheng Zhang
2021-04-14 8:58 ` Jisheng Zhang
2021-04-14 8:58 ` Jisheng Zhang
2021-04-14 8:58 ` Jisheng Zhang
2021-04-14 9:10 ` Christophe Leroy
2021-04-14 9:10 ` Christophe Leroy
2021-04-14 9:10 ` [OpenRISC] " Christophe Leroy
2021-04-14 9:10 ` Christophe Leroy
2021-04-14 9:10 ` Christophe Leroy
2021-04-14 9:10 ` Christophe Leroy
2021-04-14 9:10 ` Christophe Leroy
2021-04-14 9:27 ` Jisheng Zhang [this message]
2021-04-14 9:27 ` Jisheng Zhang
2021-04-14 9:27 ` Jisheng Zhang
2021-04-14 9:27 ` [OpenRISC] " Jisheng Zhang
2021-04-14 9:27 ` Jisheng Zhang
2021-04-14 9:27 ` Jisheng Zhang
2021-04-14 9:27 ` Jisheng Zhang
2021-04-14 9:27 ` Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 9:38 ` [OpenRISC] " Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 9:38 ` Jisheng Zhang
2021-04-14 10:00 ` [PATCH v2] " Jisheng Zhang
2021-04-14 10:00 ` Jisheng Zhang
2021-04-14 10:00 ` Jisheng Zhang
2021-04-14 10:00 ` [OpenRISC] " Jisheng Zhang
2021-04-14 10:00 ` Jisheng Zhang
2021-04-14 10:00 ` Jisheng Zhang
2021-04-14 10:00 ` Jisheng Zhang
2021-04-14 10:00 ` Jisheng Zhang
2021-08-22 19:48 ` Helge Deller
2021-08-22 19:48 ` Helge Deller
2021-08-22 19:48 ` Helge Deller
2021-08-22 19:48 ` [OpenRISC] " Helge Deller
2021-08-22 19:48 ` Helge Deller
2021-08-22 19:48 ` Helge Deller
2021-08-22 19:48 ` Helge Deller
2021-08-22 19:48 ` Helge Deller
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=20210414172757.3ebfaa4c@xhacker.debian \
--to=jisheng.zhang@synaptics.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=aou@eecs.berkeley.edu \
--cc=bcain@codeaurora.org \
--cc=benh@kernel.crashing.org \
--cc=christophe.leroy@csgroup.eu \
--cc=deanbo422@gmail.com \
--cc=deller@gmx.de \
--cc=green.hu@gmail.com \
--cc=jonas@southpole.se \
--cc=ley.foon.tan@intel.com \
--cc=linux@armlinux.org.uk \
--cc=mpe@ellerman.id.au \
--cc=nickhu@andestech.com \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=paulus@samba.org \
--cc=shorne@gmail.com \
--cc=stefan.kristiansson@saunalahti.fi \
--cc=vgupta@synopsys.com \
--cc=ysato@users.sourceforge.jp \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.