On Aug 29, 2013, at 9:22 AM, David Woodhouse <[email protected]> wrote:

> On Thu, 2013-08-29 at 09:13 -0700, Andrew Fish wrote:
>> In the this case it is easy to explain. In UEFI (without CSM) there is
>> no need to have a real mode IDT so there is typically nothing at
>> address 0 (the protected mode/long mode IDT is usually not at zero).
>> But even if the vector table existed there are no INT based BIOS
>> 16-bit real mode services that are required by DOS to boot. Also
>> BIOS/DOS imply magic hardware devices like 8259, VGA, PIT, etc and,
>> these devices don't exist on all UEFI platforms. The Microsoft Surface
>> RT would be an example of one of these platforms. 
> 
> If you *are* on a platform with the legacy PC devices, however, then you
> could probably build SeaBIOS as a UEFI 'application' and boot that.
> 

There are a few issues. 1) From a security perspective SMM is locked at this 
point and you can't add SMM drivers. Why is this important? Well BIOS/DOS 
assume a PS/2 keyboard controller so for USB keyboards the BIOS typically has a 
USB stack running in SMM that stuffs data into/out of the keyboard controller. 
I'm not sure if SeaBIOS has a non SMM scheme for this? Then there are problems 
with getting the hardware into the correct state. Like needing a BIOS Option 
ROM  to get the video controller in VGA mode (DOS code can poke the video 
memory directly). 

> I suppose there will be people who say it can't possibly be done. But
> they told me that about SeaBIOS-as-CSM too :)
> 

Never say never. A simplistic bare metal VM on top of EFI with SeaBIOS in it 
might be more portable than trying to make a platform agnostic CSM.

But man that is a lot of work to just run a DOS program prior to booting a real 
OS....

Thanks,

Andrew Fish

> -- 
> dwmw2
> 


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to