[LinuxBIOS] one last note
Hamish Guthrie
hamish at prodigi.ch
Mon Jan 23 17:31:07 CET 2006
Just to clarify how the VSA stuff works - I am using it sucessfully with
GX1 and the code for GX2 is very similar.
Firstly, the VSA code is supplied in binary form only, and the code is
owned by AMD, and AMD are quite happy for this to be included with a
LinuxBIOS implementation (this has been cleared with them). Also, the
VGA BIOS written by Elpin systems can be used royalty free on the Geode
processors (also been cleared with AMD).
The issue is that each VSA module (there are a number of them), has
real-mode initialization code which has to be called in real mode (well
it is actually best to do it in flat mode), but it is 16-bit code. Also,
the VGA BIOS REQUIRES that the VGA VSA module is loaded. Also, the
framebuffer driver and the X drivers use calls to the VGA BIOS, so to
get all of that stuff running without the VSA is a no-no.
As a dirty hack I have done an implementation for the GX1 which uses a
thing called Xpress Loader - this is loader code which basically gets
all the hardware running - detects RAM and loads all of the VSA modules.
Xpress Loader was written by National Semiconductor and now belongs to
AMD, and is provided free of charge to anyone who wants to use it. This
has also been cleared with AMD.
All I have then done is to create a stripped down version of LinuxBIOS
in the V2 tree which skips all of the low-level init, does the PCI
enumerations etc., and then uses whatever loader you want to load the
kernel and boot into Linux.
The boot process is therefore as follows:
Initial boot vectors to the modified Xpress Loader code.
Xpress loader inits RAM, a couple of other bits and pieces, installs the
VSA modules, initializes the VSA modules, installs the VGA bios, and
enters text mode.
Finally Xpress Loader vectors to the stripped down LinuxBIOS which
switches into protected mode and then does it's magic.
Hamish
Stefan Reinauer wrote:
> * Richard Smith <smithbone at gmail.com> [060123 14:29]:
>
>>The GX2 of course would be a much higher performance part but we
>>aren't quite convinced we need that yet.
>>
>>I really dislike the thought of dealing with all that VSA crap.
>
>
> We should remember there was a VSA implementation floating around
> lately that has not been approved by AMD yet.
>
> The question is whether a VSA loader helps any since it probably won't
> allow us to put VSA modules in our source tree anyways. Are those
> modules owned by legacy bios vendors, similar to ACPI?
>
> Stefan
>
>
>
--
Hamish Guthrie
Guthrie Consulting
Bueglgrond 86
7550 Scuol
Switzerland
TEL: +41 81 862 2613
FAX: +41 81 862 2640
EMAIL: hamish at prodigi.ch
More information about the coreboot
mailing list