kernel ignores kenv comconsole_speed?

Stefan Bethke stb at lassitu.de
Wed Oct 25 08:56:01 UTC 2006


Am 24.10.2006 um 16:41 schrieb Jeremy Chadwick:

> On Tue, Oct 24, 2006 at 09:41:57AM -0400, Vivek Khera wrote:
>>> Am 23.10.2006 um 17:46 schrieb Vivek Khera:
>>>> On Oct 20, 2006, at 6:59 AM, Stefan Bethke wrote:
>>> As I said, boot and loader are happily using 115200, but the kernel
>>> uses the compiled-in default.  I'll file a PR the next few days,
>>> hopefully with a patch.
>>
>> As I said, "works for me".  I wonder what it is you are going to
>> patch?  Did you try it with the separate -S option?  Did it work?
>
> I think what Stefan refers to is the complex nature of how the
> serial port is initialised/"tinkered with" in stages.

[ Very good, but very long explanation of the various users of the  
serial port omitted ]

> What I'd like to propose is similar to Stefan's recommendation:
> is there any way possible to:
>
> * Not touch the serial port AT ALL, EVER [...]

I'm not sure that would be so easy. However, CONSPEED is/was the  
setting to be used if the actual setting cannot be determined when  
sio initializes.  I haven't researched if there ever was code that  
tried to determine the sio settings when (re-)initializing.  However,  
sioreg.h says:

     /* default serial console speed if not set with sysctl or probed  
from boot */
     #ifndef CONSPEED
     #define CONSPEED 9600
     #endif

For me, probing from boot could just mean to initialize the speed  
from kenv comconsole_speed if set, and fall back to CONSPEED  
otherwise.  I'll try to get around that on the weekend.

In current, imp re-enabled the commented-out tunable for  
machdep.conspeed.  Re-enabling that works without a problem, it seems  
(cf. 1.463 of sio.c).


Stefan

-- 
Stefan Bethke <stb at lassitu.de>   Fon +49 170 346 0140




More information about the freebsd-stable mailing list