Re: Linus' laptop and Num lock status

From: Dax Kelson
Date: Wed Feb 14 2007 - 16:34:22 EST


On Wed, 2007-02-14 at 11:32 -0800, Linus Torvalds wrote:
>
> On Wed, 14 Feb 2007, Jean Delvare wrote:
> >
> > On x86, the BIOS led state can be read from byte 0x97 the BIOS RAM. The
> > BIOS RAM is mapped at 0x400 so all we need to do is to one byte from
> > RAM (offset 0x497). This is how Suse's hwinfo does.
>
> Heh. Shows just how much I ever used DOS and BIOS.
>
> > But maybe the first question to ask is: why is the BIOS setting lost in
> > the first place? Why is the kernel resetting the led state?
>
> Ehh. Silly question. "Those flags, they do nothing."
>
> The kernel needs to know what they are in order to react correctly to
> them. And since you can't read them from hardware, the only way to know
> what they are (if you don't know about BIOS magic areas) is to SET THEM.
>
> Which is what the kernel has traditionally always done.

Going forward can the kernel peek at 0x497 and follow the BIOS setting?

I checked, and looking at offset 0x497 seems to work fine on a couple of
systems with USB keyboards.

People have long grumbled and complained about the current kernel
behavior (1).

Dax Kelson

(1)
http://lkml.org/lkml/1999/2/27/6
http://www.google.com/search?q=linux+num+lock
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115909

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/