From owner-svn-src-head@FreeBSD.ORG Mon Aug 24 13:54:07 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8EF671065692; Mon, 24 Aug 2009 13:54:07 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail05.syd.optusnet.com.au (mail05.syd.optusnet.com.au [211.29.132.186]) by mx1.freebsd.org (Postfix) with ESMTP id 274828FC14; Mon, 24 Aug 2009 13:54:05 +0000 (UTC) Received: from c122-106-152-1.carlnfd1.nsw.optusnet.com.au (c122-106-152-1.carlnfd1.nsw.optusnet.com.au [122.106.152.1]) by mail05.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id n7ODrjUw011508 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 24 Aug 2009 23:53:57 +1000 Date: Mon, 24 Aug 2009 23:53:45 +1000 (EST) From: Bruce Evans X-X-Sender: bde@delplex.bde.org To: Ed Schouten In-Reply-To: <20090824124908.GF2829@hoeg.nl> Message-ID: <20090824232024.X39700@delplex.bde.org> References: <200908241053.n7OArUhX092666@svn.freebsd.org> <20090824213600.T39644@delplex.bde.org> <20090824124908.GF2829@hoeg.nl> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bruce Evans Subject: Re: svn commit: r196506 - in head/sys: kern sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Aug 2009 13:54:07 -0000 On Mon, 24 Aug 2009, Ed Schouten wrote: > * Bruce Evans 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