Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jul 2022 21:44:25 GMT
From:      Jessica Clarke <jrtc27@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 17a4a163df85 - main - Revert "Fill in cn_name in struct consdev."
Message-ID:  <202207232144.26NLiPWM055410@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jrtc27:

URL: https://cgit.FreeBSD.org/src/commit/?id=17a4a163df85e2cbe20e4fbdb03c56085e8079e6

commit 17a4a163df85e2cbe20e4fbdb03c56085e8079e6
Author:     Jessica Clarke <jrtc27@FreeBSD.org>
AuthorDate: 2022-07-23 21:44:19 +0000
Commit:     Jessica Clarke <jrtc27@FreeBSD.org>
CommitDate: 2022-07-23 21:44:19 +0000

    Revert "Fill in cn_name in struct consdev."
    
    This reverts commit 82a21151cf1d7a3e9e95b9edbbf74ac10f386d6a.
    
    This commit was made to aid debugging before consoles are initialised so
    that they can more easily be identified from a debugger. However,
    various consoles (cfecons, ofwcons, mambocons and rcons) all check
    whether cn_name[0] is non-zero to see they are attached or not, and so
    this breaks that (perhaps misguided) approach. On RISC-V this results in
    rcons (the SBI firmware console driver) racing with the real UART driver
    and so input gets probabilistically lost on the real UART (around 2/3 of
    the time for me on QEMU).
    
    Moreover, the name given to CONSOLE_DRIVER isn't necessarily the same as
    what eventually gets written to cn_name, such as cfecons vs cfe, rcons
    vs riscv, ttyj0 vs aju, ttyv0 vs sc, ttyuN vs uart_phyp/opal and all
    manner of things vs ucom, so in some cases this is in fact misleading as
    the name will change after attaching.
    
    Discussed with: cperciva
---
 sys/sys/cons.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sys/sys/cons.h b/sys/sys/cons.h
index fec7f6c01b84..ad73b258df6d 100644
--- a/sys/sys/cons.h
+++ b/sys/sys/cons.h
@@ -104,7 +104,6 @@ extern	struct tty *constty;	/* Temporary virtual console. */
 	static struct consdev name = {					\
 		.cn_ops = &ops,						\
 		.cn_arg = (arg),					\
-		.cn_name = #name,					\
 	};								\
 	DATA_SET(cons_set, name)
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202207232144.26NLiPWM055410>