Skip site navigation (1)Skip section navigation (2)
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>