Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Feb 2006 19:48:07 -0700
From:      Scott Long <scottl@samsco.org>
To:        Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/dev/kbd kbd.c src/sys/dev/syscons syscons.c
Message-ID:  <44050B67.3040302@samsco.org>
In-Reply-To: <bb4a86c70602281837l7f9c8c8arc6aa2abc99841caf@mail.gmail.com>
References:  <200602282346.k1SNkNHq073716@repoman.freebsd.org>	 <4404FCC8.5070907@samsco.org> <bb4a86c70602281837l7f9c8c8arc6aa2abc99841caf@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Maksim Yevmenkin wrote:
> On 2/28/06, Scott Long <scottl@samsco.org> wrote:
> 
>>Maksim Yevmenkin wrote:
>>
>>>emax        2006-02-28 23:46:23 UTC
>>>
>>>  FreeBSD src repository
>>>
>>>  Modified files:
>>>    sys/dev/kbd          kbd.c
>>>    sys/dev/syscons      syscons.c
>>>  Log:
>>>  Integrate kbdmux(4) into syscons(4) and kbd code.
>>>
>>>  By default syscons(4) will look for the kbdmux(4) keyboard first, and then,
>>>  if not found, look for any keyboard.
>>>
>>>  Current kbd code is modified so if kbdmux(4) is the current keyboard, all
>>>  new keyboards are automatically added to the kbdmux(4).
>>>
>>>  Switch to kbdmux(4) can be done at boot time, by loading kbdmux module at
>>>  the loader prompt, or at runtime, by kldload'ing the kbdmux module and
>>>  releasing current active keyboard.
>>>
>>>  If, for whatever reason, kbdmux(4) is not required/desired then just do
>>>  not load it and everything should work as before. It is also possible to
>>>  kldunload kbdmux at runtime and syscons(4) will automatically switch to
>>>  the first available keyboard.
>>>
>>>  No response from:       freebsd-current@
>>>  MFC after:              1 day
>>>
>>>  Revision  Changes    Path
>>>  1.45      +24 -0     src/sys/dev/kbd/kbd.c
>>>  1.442     +42 -4     src/sys/dev/syscons/syscons.c
>>
>>Ultimately I would like to see this enabled by default so that
>>everything 'just works', but with a way to easily disable it in case
>>something goes wrong.  Would that be possible?
> 
> 
> right now i can think of two ways to make it enabled by default:
> 
> 1) add 'device kbdmux' to the kernel config (or even make it required)

Could you add a check to the probe/attach routines of kbdmux so that it
could be disabled via a loader hint?  I assume that there will only be
one instance of the kbdmux device, so this should be easy to do. 
Something similar is possible with acpi, fwiw.

> 
> 2) set kbdmux_load to "YES" somewhere in loader.* files (somewhat
> similar to acpi).

Actually, acpi is much more evil.  The loader probes the BIOS to see if
ACPI tables are present, and then sets the acpi_load variable based on 
that.  So no variables in loader.* are present in the default install.
If we wanted to add the kbdmux_load variable in the default system then
we will need to add /usr/src/sys/boot/forth/loader.conf, or add magic
to the installkernel target to handle it similar to device.hints.

> 
> with option (2) above it would be easy to disable, i.e. just do
> 
> unset kdbmux_load
> 
> at loader command prompt or loader.rc
> 
> thanks,
> max
> 

Scott



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