Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 1995 18:39:44 -0800 (PST)
From:      "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
To:        wpaul@skynet.ctr.columbia.edu (Wankle Rotary Engine)
Cc:        joerg_wunsch@uriah.sax.de, freebsd-hackers@FreeBSD.org
Subject:   Re: serial consoles and keyboard probes
Message-ID:  <199501170239.SAA02269@gndrsh.aac.dev.com>
In-Reply-To: <199501162114.QAA00387@skynet.ctr.columbia.edu> from "Wankle Rotary Engine" at Jan 16, 95 04:14:22 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> They say this J Wunsch person was kidding when he wrote:
> > 
> > As Wankle Rotary Engine wrote:
> > | 
> > | - Merged biosboot and serialboot -- the keyboard i/o routines and the
> > |   serial port i/o routines are contained in the same boot block: putchar()
> > |   writes to both the serial port and the standard graphics display, and
> > |   getchar() can be told to read either from the serial port of the
> > |   PC's keyboard.
> > 
> > Two problems i'm seeing here: i had already a hard job to even fit the
> > serial boot stuff w/o VGA/kbd BIOS into the existing boot blocks.
> > Having both there would bloat them again, and space is really a scarce
> > resource.
> 
> Yes, I know. I had to cheat a bit to actually make all of my most recent
> changes fit. First, I had to compile with -O2, and second I had to yank
> out what appeared to me to be an archaic section of code from boot.c:
> 
> /*      if(addr < ouraddr)
...
>         } */
> 
> It seems to me that since the kernel is now always loaded into high
> memory that the condition that this code tests for can never happen:
> 'addr' can never be less than 'ouraddr' unless things are compiled 
> differently, so what's the point.

The point is to be able to load something other than the kernel below the
1MB mark so that it can load the kernel above 1MB.  This applies to both
a 3 stage boot loader, and to very special kernel debuggers.

> > Second: assume sio0 is connected to a modem.  Since the bootblocks
> > would then echo all their neat garbage to the modem, too, the modem
> > might get confused.  Consider the case the user on the keyboard hits
> > ``?'' to see the file list, and on of the files has the nifty name
> > ``atd2345''... :-)
> 
> Okay, I've taken care of this. I have managed to find a way to probe
> for a keyboard: syscons does it by trying to reset the keyboard hardware,
> so I yanked the snippet of code that does this and created a small
> probe routine. What happens now is this:
> 
...
> 
> - Whether we default to serial mode or not, the serial port is still
>   probed for characters along with the PC's keyboard.

This has the failure mode if my slip line is on serial port 0 (and it IS!),
an incoming packet during boot could cause the system to boot with a
serial console.

> When combined with the stuff I mentioned in my previous message, this
> allows for the following functionality:

It's getting better!!! :-).

-- 
Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
Accurate Automation Company                   Custom computers for FreeBSD



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