Re: [tip:x86/setup] x86, setup: "glove box" BIOS calls --infrastructure

From: Linus Torvalds
Date: Sun Apr 12 2009 - 11:07:31 EST




On Sat, 11 Apr 2009, H. Peter Anvin wrote:
>
> The main thing you could do is drop or virtualize memory accesses to RAM it
> should never access in the first place, like some BIOSes which scribble over
> random locations in low memory.

Please don't.

This discussion is just taking us down a rat-hole of more complexity, and
_way_ more fragility.

I'm absolutely willing to bet that trying to do the BIOS calls will break
way more than it will fix. Sure, it will probably work for 99.9% of all
BIOSes, but then it will break horribly for some BIOS that tries to do
something "clever". SMM has already been mentioned as an example of
something that simply isn't virtualizable.

Timing is another, very traditional, one. There used to be video BIOSes
that simply didn't work in a dosbox-like environment because they had
tight timing loops that were coupled to hardware. I can pretty much
guarantee that that has gone away as far as the video BIOS is concerned,
but the main BIOS? Who the hell knows.

Sure, none of the calls we do to the BIOS from the kernel should need
anything fancy at all, and maybe I'm pessimistic. But at the same time, I
really don't think the BIOS calls are worth that kind of infrastructure.

Sure, go ahead and wrap them in some kind of "save and restore all
registers" wrapping, but nothing fancier than that. It would just be
overkill, and likely to break more than it fixes.

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