It is an embedded board with a _mostly_ PC compatible CPU, but it
has a few strange bugs/features that have to be worked around. For
example look a the fix for the timer and serial port in:
Especially the serial fix is (IMHO) too ugly to live in the standard
I'd also suggest that you change the whole gate A20-mess to:
inb $0xee, %al
this will enable A20 propagation on the SC410 and always works,
the disadvantage is that it won't work on a normal PC anymore.
>The weird part about your board is that the code clearly *works*, or
>your kernel wouldn't boot at all. It somehow poisons the system,
>though, and that's utterly bizarre.
>I don't think this is debuggable without access to hardware (and maybe
>not even then.)
It has been a few years since I was working on an Elan SC400 board, but
if I remember correctly, the Elan CPU has some configuration registers
located at some I/O ports that on a normal PC are either "safe" or used
for something else.
Additionally, since there normally isn't a keyboard controller on the
SC410, accesss to port 0x60 and 0x64 trap into SMI mode, doing I/O to
those ports could mess up a badly written BIOS.
My belief is that the SC410 based boards are so strange that one has
to have a custom kernel anyways, so asking why it isn't 100% PC
compatible and trying to fix that is rather pointless.
-- "Just how much can I get away with and still go to heaven?" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to email@example.com More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/