[syslinux] Completely disable local keyboard input in Syslinux / Extlinux?

Alexander Foken alexander at foken.de
Sun Jun 12 12:35:18 PDT 2011


On 11.06.2011 08:20, Jim Cromie wrote:
> On Thu, Jun 9, 2011 at 8:28 AM, H. Peter Anvin<hpa at zytor.com>  wrote:
>> On 06/08/2011 07:05 PM, Gene Cumm wrote:
>>> Perhaps a config directive (except it'd be more challenging in
>>> Syslinux-4 than Syslinux-5)?  Force 0x1X, fallback, force 0x0X as the
>>> three choices?
>>>
>> I really hate hardware workaround configuration directives; we have a
>> few of them but I generally consider them failures.
>>
>>         -hpa
>>
> would console -1 reduce the annoyance ?
> its still hacky, but the keyword parsing is already there.
Good idea, but not the value -1.

I propose to use the "console" value as a bitmap of features / flags / 
hacks that can be enabled or disabled. To be backwards compatible with 
syslinux up to 4.04, Bit 0 (value 1) would enable writing text via the 
video BIOS (int 0x10). All remaining bits would have to be defined in a 
way that don't change the behaviour of the backwards compatible 
"console" values 0 and 1.

Bit 1 set (value 2) could disable the (still missing) detection code for 
extended BIOS functions (int 0x16 AH=0x09 
<URL:http://www.ctyme.com/intr/rb-1769.htm>).

Bit 2 set (value 4) could disable extended keyboard BIOS functions 
(AH=0x10/0x11) and use standard keyboard BIOS functions (AH=0x00/0x01) 
instead
.
Bit 3 set (value 8) could be used to completely disable the keyboard 
BIOS functions (int 0x16), so "console 8" would disable local keyboard 
and local video, only RS232 would work.

Bit 4 to 7/15/31 would be reserved for future options, and documented as 
"reserved, use 0".

The combination of bits 2 and 3 would decide how the keyboard functions 
are used:

Bit 1 clear, 2 clear ("console 1"): Ask BIOS for extended keyboard 
functions, use them when available, fall back to standard keyboard 
functions if missing. I think this is a sane default, as it adapts 
automatically to what the BIOS offers.

Bit 1 set, bit 2 clear ("console 3"): Don't ask the BIOS for extended 
keyboard functions (remember that Ralf Browns interrupt list states that 
you have to check yet another place to find out if the check function is 
implemented), just use them. The current behavior, that does not work at 
least on my problematic system.

Bit 1 set, bit 2 set ("console 7"): Don't ask the BIOS for extended 
keyboard functions, and don't use them. This is for really broken 
systems where the check for extended keyboard functions crashes or lies.

Bit 1 clear, bit 2 set ("console 5"): Ask BIOS for extended keyboard 
functions, but do not use them. I don't know why one would use this 
combination.

Perhaps this rather useless combination could be interpreted as "don't 
use the the keyboard BIOS functions at all", so we would not need a 
dedicated keyboard disable bit. So "console 4" (instead of "console 8") 
would use only RS232.

Alexander





More information about the Syslinux mailing list