Thinking out loud again...

The basic requirement of the BIOS core is to place the hardware in 
in legacy compatibility mode, which all OS software expect to find
the system in.  This really includes setting up a VGA compatible
adapter if it is present.

So if the emulator is small and a compile time option I don't have a
problem with putting it in LinuxBIOS exclusively for early video
initialization of plug in video cards.  Running code through emulation
is likely to give us the most predictable results of boards working
across different systems, especially non-x86 hardware.

>From what I understand there are only very few x86 BIOS services that video
cards depend on, or can depend on at that stage so we should be in
reasonably good shape long term.  At least until x86 BIOS
compatibility is given up.

An important thing to verify here is that the standard cpu
identification steps will show the emulated cpu to be a 386 or whatever
minimal processor we support.  And we should tightly restrict the
emulated codes access to memory, presenting it with a virtual not a
real view of what is going on.  Keeping the code chained as much as
possible.


Beyond that...

If we want the video card to provide int 0x10 services to a pcbios
compatibility layer we need to rerun the video card initialization
in the bochs bios.

I think the simplest path to a flexible LinuxBIOS solution is to have
a native LinuxBIOS loader like etherboot, the Linux kernel or possibly
something much simpler act as a switch between the different
personalities we can wear, PCBIOS openfirmware, efi, arc, etc.   And
we will boot with whichever one the user selects.

Using a bootloader as a switch to select among the others is the only
easy way I can see to have my cake and it too with supporting multiple
personalities.  You get only one at a time but I think that is easier
to verify.

Eric
_______________________________________________
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to