Date: Mon, 24 Aug 2009 23:53:45 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Ed Schouten <ed@80386.nl> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bruce Evans <brde@optusnet.com.au> Subject: Re: svn commit: r196506 - in head/sys: kern sys Message-ID: <20090824232024.X39700@delplex.bde.org> In-Reply-To: <20090824124908.GF2829@hoeg.nl> References: <200908241053.n7OArUhX092666@svn.freebsd.org> <20090824213600.T39644@delplex.bde.org> <20090824124908.GF2829@hoeg.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 24 Aug 2009, Ed Schouten wrote: > * Bruce Evans <brde@optusnet.com.au> wrote: >> CONS_DRIVER() was a good interface, unlike CONSOLE_DRIVER(). Removing it >> completes the bitrot in the support for cn_dbctl, and completes removal >> of cn_checkc's good name at the driver level. >> >> cn_dbctl is still needed to unbreak sysctl's support for ddb (see db_main.c >> 1.4.2.1, which depends on cn_dbctl's infrastructure not having rotted) and >> can be used to unbreak polled i/o in all console drivers (not just in ddb >> mode -- it should have been named cn_ioctl) (see other mail). >> >> The higher level cngetc() and cncheckc() are still correctly named, now >> fully inconsistently with the driver level. > > Well, there are lots of things broken in the current implementation. > Just take a look at how the cn_term is entirely commented out, only > because syscons can't handle it. > > The only thing I tried to do with those changes, is remove dead code. > If someone comes up with patches to properly restore these features, I'd > be more than happy to commit them to SVN. There are some working patches in old versions (e.g., cn_dbctl last worked for syscons in RELENG_6, where I fixed it. The fix was relatively easy because none of the infrastructure or syscons support code had been removed.) I didn't even notice that cn_term was commented out. That dates from the multiple console changes in 2001, which exposed many problems. For syscons, the problem with cn_term seems to be that cn_term was only intended to be used for switching console at boot time. This is a harsh environment (can't malloc()/free()), but cn_term was implemented mainly for syscons so the switch then should have been tested. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090824232024.X39700>