2023-10-19 09:47:05

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH 1/2] sh: bios: Revive earlyprintk support

The SuperH BIOS earlyprintk code is protected by CONFIG_EARLY_PRINTK.
However, when this protection was added, it was missed that SuperH no
longer defines an EARLY_PRINTK config symbol since commit
e76fe57447e88916 ("sh: Remove old early serial console code V2"), so
BIOS earlyprintk can no longer be used.

Fix this by reviving the EARLY_PRINTK config symbol.

Fixes: d0380e6c3c0f6edb ("early_printk: consolidate random copies of identical code")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
arch/sh/Kconfig.debug | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug
index c449e7c1b20ff5b5..8bcd6c1431a95be9 100644
--- a/arch/sh/Kconfig.debug
+++ b/arch/sh/Kconfig.debug
@@ -22,6 +22,17 @@ config STACK_DEBUG
every function call and will therefore incur a major
performance hit. Most users should say N.

+config EARLY_PRINTK
+ bool "Early printk"
+ depends on SH_STANDARD_BIOS
+ help
+ Say Y here to redirect kernel printk messages to the serial port
+ used by the SH-IPL bootloader, starting very early in the boot
+ process and ending when the kernel's serial console is initialised.
+ This option is only useful while porting the kernel to a new machine,
+ when the kernel may crash or hang before the serial console is
+ initialised. If unsure, say N.
+
config 4KSTACKS
bool "Use 4Kb for kernel stacks instead of 8Kb"
depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
--
2.34.1


2023-10-19 15:49:24

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH 1/2] sh: bios: Revive earlyprintk support

Hi,

On 10/19/23 02:46, Geert Uytterhoeven wrote:
> The SuperH BIOS earlyprintk code is protected by CONFIG_EARLY_PRINTK.
> However, when this protection was added, it was missed that SuperH no
> longer defines an EARLY_PRINTK config symbol since commit
> e76fe57447e88916 ("sh: Remove old early serial console code V2"), so
> BIOS earlyprintk can no longer be used.
>
> Fix this by reviving the EARLY_PRINTK config symbol.
>
> Fixes: d0380e6c3c0f6edb ("early_printk: consolidate random copies of identical code")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> arch/sh/Kconfig.debug | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug
> index c449e7c1b20ff5b5..8bcd6c1431a95be9 100644
> --- a/arch/sh/Kconfig.debug
> +++ b/arch/sh/Kconfig.debug
> @@ -22,6 +22,17 @@ config STACK_DEBUG
> every function call and will therefore incur a major
> performance hit. Most users should say N.
>
> +config EARLY_PRINTK
> + bool "Early printk"
> + depends on SH_STANDARD_BIOS
> + help
> + Say Y here to redirect kernel printk messages to the serial port
> + used by the SH-IPL bootloader, starting very early in the boot
> + process and ending when the kernel's serial console is initialised.
> + This option is only useful while porting the kernel to a new machine,

Can we expect to see new machine ports using arch/sh/ ?

> + when the kernel may crash or hang before the serial console is
> + initialised. If unsure, say N.
> +
> config 4KSTACKS
> bool "Use 4Kb for kernel stacks instead of 8Kb"
> depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB


--
~Randy

Subject: Re: [PATCH 1/2] sh: bios: Revive earlyprintk support

Hello!

On Thu, 2023-10-19 at 08:48 -0700, Randy Dunlap wrote:
> > +config EARLY_PRINTK
> > + bool "Early printk"
> > + depends on SH_STANDARD_BIOS
> > + help
> > + Say Y here to redirect kernel printk messages to the serial port
> > + used by the SH-IPL bootloader, starting very early in the boot
> > + process and ending when the kernel's serial console is initialised.
> > + This option is only useful while porting the kernel to a new machine,
>
> Can we expect to see new machine ports using arch/sh/ ?

There is J-Core which is new open source hardware based on arch/sh.

Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

2023-10-19 15:54:27

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH 1/2] sh: bios: Revive earlyprintk support



On 10/19/23 08:51, John Paul Adrian Glaubitz wrote:
> Hello!
>
> On Thu, 2023-10-19 at 08:48 -0700, Randy Dunlap wrote:
>>> +config EARLY_PRINTK
>>> + bool "Early printk"
>>> + depends on SH_STANDARD_BIOS
>>> + help
>>> + Say Y here to redirect kernel printk messages to the serial port
>>> + used by the SH-IPL bootloader, starting very early in the boot
>>> + process and ending when the kernel's serial console is initialised.
>>> + This option is only useful while porting the kernel to a new machine,
>>
>> Can we expect to see new machine ports using arch/sh/ ?
>
> There is J-Core which is new open source hardware based on arch/sh.

OK, thanks.

--
~Randy

2023-10-20 07:11:16

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 1/2] sh: bios: Revive earlyprintk support

Hi Adrian,

On Thu, Oct 19, 2023 at 5:51 PM John Paul Adrian Glaubitz
<[email protected]> wrote:
> On Thu, 2023-10-19 at 08:48 -0700, Randy Dunlap wrote:
> > > +config EARLY_PRINTK
> > > + bool "Early printk"
> > > + depends on SH_STANDARD_BIOS
> > > + help
> > > + Say Y here to redirect kernel printk messages to the serial port
> > > + used by the SH-IPL bootloader, starting very early in the boot
> > > + process and ending when the kernel's serial console is initialised.
> > > + This option is only useful while porting the kernel to a new machine,
> >
> > Can we expect to see new machine ports using arch/sh/ ?
>
> There is J-Core which is new open source hardware based on arch/sh.

Do J-Core systems use the LinuxSH standard BIOS?
Still, it can be useful while converting existing SH systems to DT.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

Subject: Re: [PATCH 1/2] sh: bios: Revive earlyprintk support

On Thu, 2023-10-19 at 11:46 +0200, Geert Uytterhoeven wrote:
> The SuperH BIOS earlyprintk code is protected by CONFIG_EARLY_PRINTK.
> However, when this protection was added, it was missed that SuperH no
> longer defines an EARLY_PRINTK config symbol since commit
> e76fe57447e88916 ("sh: Remove old early serial console code V2"), so
> BIOS earlyprintk can no longer be used.
>
> Fix this by reviving the EARLY_PRINTK config symbol.
>
> Fixes: d0380e6c3c0f6edb ("early_printk: consolidate random copies of identical code")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> arch/sh/Kconfig.debug | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug
> index c449e7c1b20ff5b5..8bcd6c1431a95be9 100644
> --- a/arch/sh/Kconfig.debug
> +++ b/arch/sh/Kconfig.debug
> @@ -22,6 +22,17 @@ config STACK_DEBUG
> every function call and will therefore incur a major
> performance hit. Most users should say N.
>
> +config EARLY_PRINTK
> + bool "Early printk"
> + depends on SH_STANDARD_BIOS
> + help
> + Say Y here to redirect kernel printk messages to the serial port
> + used by the SH-IPL bootloader, starting very early in the boot
> + process and ending when the kernel's serial console is initialised.
> + This option is only useful while porting the kernel to a new machine,
> + when the kernel may crash or hang before the serial console is
> + initialised. If unsure, say N.
> +
> config 4KSTACKS
> bool "Use 4Kb for kernel stacks instead of 8Kb"
> depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB

Reviewed-by: John Paul Adrian Glaubitz <[email protected]>

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913