Re: [PATCH] x86: provide a DMI based port 0x80 I/O delay override.

From: H. Peter Anvin
Date: Wed Jan 09 2008 - 13:19:45 EST


Maciej W. Rozycki wrote:
On Tue, 1 Jan 2008, H. Peter Anvin wrote:

It's specifically a side effect *we don't care about*, except in the
by-now-somewhat-exotic case of 386+387 (where we indeed can't use it once user
code has touched the FPU -- but we can fall back to 0x80 on those, a very
small number of systems.) 486+ doesn't use this interface under Linux, since
Linux uses the proper exception path on those processors. If Compaq had wired
up the proper signals on the first 386 PC motherboards, we wouldn't have cared
about it on the 386 either.

It was actually IBM who broke it with the 80286-based PC/AT because of the BIOS compatibility -- the vector #0x10 had already been claimed by the original PC for the video software interrupt call (apparently against Intel's recommendation not to use low 32 interrupt vectors for such purposes), so it could not have been reused as is for FP exception handling without breaking existing software. I suppose a more complicated piece of glue logic could have been used along the lines of what eventually went into the i486, but presumably the relatively low level of integration of the PC/AT made such additional circuits hard to justify even if it indeed was considered.


Supposedly the reason was that the DOS-less "cassette BASIC" delivered by Microsoft used all the INT instructions except the reserved ones as a weird bytecode interpreter. Bill Gates was fond of that kind of hacks.

-hpa
--
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/