All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adam Simonelli <adamsimonelli@gmail.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jirislaby@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	John Ogness <john.ogness@linutronix.de>,
	Sergey Senozhatsky <senozhatsky@chromium.org>,
	Petr Mladek <pmladek@suse.com>
Subject: Re: [PATCH v6 3/3] tty: Change order of ttynull to be linked sooner if enabled as a console.
Date: Wed, 05 Mar 2025 23:22:35 -0500	[thread overview]
Message-ID: <4451040.8hb0ThOEGa@nerdopolis2> (raw)
In-Reply-To: <CAHp75VfadXS8Z2G6U_DcOOZFFmaOSn_9uQN_N7Psse3kiSGj0g@mail.gmail.com>

On Wednesday, March 5, 2025 1:52:00 PM EST Andy Shevchenko wrote:
> On Wed, Mar 5, 2025 at 4:06 AM Adam Simonelli <adamsimonelli@gmail.com> wrote:
> > On Tuesday, March 4, 2025 1:51:52 AM EST Andy Shevchenko wrote:
> > > On Tue, Mar 4, 2025 at 5:55 AM <adamsimonelli@gmail.com> wrote:
> 
> ...
> 
> > > >  obj-y                          += vt/
> > >
> > > + blank line.
> > >
> > > > +# If ttynull is configured to be a console by default, ensure that it is linked
> > > > +# earlier before a real one is selected.
> > > > +obj-$(CONFIG_NULL_TTY_DEFAULT_CONSOLE) \
> > > > +                               += ttynull.o
> > >
> > > Here is the question: are you sure that all console drivers that exist
> > > in the kernel happen to be here? Have you grepped the source tree for
> > > checking this?
> > >
> > Grepping for console_initcall, the only other places I see outside of
> > drivers/tty/ is
> >
> > arch/mips/fw/arc/arc_con.c
> > arch/mips/sibyte/common/cfe_console.c
> > arch/powerpc/kernel/legacy_serial.c
> > arch/powerpc/kernel/udbg.c
> > arch/powerpc/platforms/powermac/setup.c
> > arch/um/drivers/stderr_console.c
> > arch/xtensa/platforms/iss/console.c
> > drivers/s390/char/con3215.c
> > drivers/s390/char/con3270.c
> > drivers/s390/char/sclp_con.c
> > drivers/s390/char/sclp_vt220.c
> 
> Which means you need to test your stuff on those cases, to see how the
> linker order is done there. It might be that your change wouldn't work
> there as expected (quick workaround is to mark the new option as
> depends on !S390 && !PPC and so on.
> 
> 
It will be difficult to test other arches, I mean I guess it is possible with
QEMU, and cross-building, though I did do an experimental test on x86:

Making it temporarily adding an architecture specific console like
powerpc/some mips/s390/arches with Xen enabled.
-------------------------------------------------------------------------------
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 05c5aa951da7..bcd248c44fc8 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1159,6 +1159,8 @@ void __init setup_arch(char **cmdline_p)
 
        e820__setup_pci_gap();
 
+       add_preferred_console("ttyS", 0, NULL);
+
 #ifdef CONFIG_VT
 #if defined(CONFIG_VGA_CONSOLE)
        if (!efi_enabled(EFI_BOOT) || (efi_mem_type(0xa0000) != EFI_CONVENTIONAL_MEMORY))
-------------------------------------------------------------------------------
 
to see what /proc/consoles will look like, to pretend that x86 is an arch that
sets a console somewhere, and I get:

ttynull0             --- (EC    )  242:0
ttyS0                -W- (E  p a)    4:64

and I got console messages to ttyS0 with no issue.

which in my mind is acceptable I would think. ttynull is first in the list,
which is desired effect of CONFIG_NULL_TTY_DEFAULT_CONSOLE, it doesn't have to
be _exclusive_ AFAIK, especially if there are long-time default consoles that.
users or the hardware expects.


The only arch that seems to _unconditionally_ add a console without some other
circumstance, like boot loader env var, and command line option, or firmware
flag, or suboption (like CONFIG_SERIAL_PMACZILOG_CONSOLE) is Jazz. 

Like platforms/powernv adds it if CONFIG_HVC_OPAL is disabled, or the firmware
is missing "FW_FEATURE_OPAL". I would assume that a user of this situation
turning on CONFIG_NULL_TTY_DEFAULT_CONSOLE in addition, will just get ttynull
and hvc in /proc/consoles instead of just hvc. Could that cause something to
break?



Correct me if I am wrong, I could very very very well be wrong.





  reply	other threads:[~2025-03-06  4:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-04  3:54 [PATCH v6 0/3] Optionally allow ttynull to be selected as a default console adamsimonelli
2025-03-04  3:54 ` [PATCH v6 1/3] ttynull: Always initialize console index to -1 adamsimonelli
2025-03-04  6:01   ` Andy Shevchenko
2025-03-04  8:53     ` John Ogness
2025-03-04  3:54 ` [PATCH v6 2/3] ttynull: Add an option to allow ttynull to be used as a console device adamsimonelli
2025-03-04  6:07   ` Andy Shevchenko
2025-03-04  3:54 ` [PATCH v6 3/3] tty: Change order of ttynull to be linked sooner if enabled as a console adamsimonelli
2025-03-04  6:51   ` Andy Shevchenko
2025-03-05  2:06     ` Adam Simonelli
2025-03-05  4:15       ` Adam Simonelli
2025-03-05 18:52       ` Andy Shevchenko
2025-03-06  4:22         ` Adam Simonelli [this message]
2025-03-06  7:10           ` Andy Shevchenko
2025-03-12 13:42             ` Petr Mladek

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=4451040.8hb0ThOEGa@nerdopolis2 \
    --to=adamsimonelli@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=john.ogness@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.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 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.